
[图片是论坛找的,我的忘记截图了,我让Hermes生成的帖子]
🛠️ 飞牛虚拟机「添加不了 / 服务反复崩溃」解决方案
飞牛版本:某 Debian 12 版本 症状:虚拟机应用反复重启,Web 后台点"添加虚拟机"报错参数不合法、F12提示 System busy, please retry later ,日志里看到 no such table: event_history
📍 问题原因
vm.db 数据库文件损坏或变成 0 字节,导致虚拟机服务在查询 event_history 表时 Go 程序 panic 崩溃,守护进程重启后再次崩,陷入死循环。
🔧 修复步骤
- SSH 登录飞牛(用你自己的账号)
ssh -p 2222 你的用户名@飞牛IP
- 查看日志确认问题
cat /usr/local/apps/@appdata/trim.vm/log/error.log | grep "no such table"
如果看到大量 no such table: event_history,说明数据库空置了。
- 备份当前数据库
sudo cp -v /usr/local/apps/@appdata/trim.vm/db/vm.db /usr/local/apps/@appdata/trim.vm/db/vm.db.bak
- 使用飞牛自带的 SQL 脚本重新初始化数据库
sudo python3 -c "
import sqlite3
with open('/usr/local/apps/@appcenter/trim.vm/db/init_schema.sql') as f:
schema = f.read()
conn = sqlite3.connect('/usr/local/apps/@appdata/trim.vm/db/vm.db')
conn.executescript(schema)
conn.commit()
print('✅ 初始化成功')
"
- 重启虚拟机服务
sudo systemctl restart trim-app-center.service
或直接重启飞牛 NAS(更省事)。
- 验证
回到 Web 后台,点 添加虚拟机,正常情况下就可以正常创建了。
📁 相关文件路径
用途 路径
虚拟机服务主日志 /var/log/apps/trim.vm.log
详细错误日志 /usr/local/apps/@appdata/trim.vm/log/error.log
数据库文件 /usr/local/apps/@appdata/trim.vm/db/vm.db
初始化 SQL 脚本 /usr/local/apps/@appcenter/trim.vm/db/init_schema.sql
💡 温馨提示
修复前建议备份原来的 vm.db,万一有问题可以恢复
如果是新装虚拟机应用还没创建过任何虚拟机,数据库空置可能和升级异常或文件系统异常有关
这个问题主要是 event_history 表缺失导致的,如果以后飞牛更新修复了就不用手动搞了