起因
群晖操作文件时系统出问题了,某些应用卡死了,无法从系统进行重启,于是从 Unraid 启动台手动强制关闭然后重启,之后系统无法启动了
Domain id=10 is tainted: high-privileges
char device redirected to /dev/pts/2
qxl_send_events: spice-server bug: guest stopped, ignoring
查看日志,没有后续的 dsm 加载日志,vnc 也一直卡在 boot,且无法进入 rr 界面,此时基本可以定位 问题就出现在 rr 引导了
分析问题
1.RR 对 SATA 设备编号敏感(DSM 系统盘通常挂在 sata0),如果 VFIO 或 USB 排序变化,DSM 也无法找到系统盘
2.查看bios或者虚拟机配置是否有改动导致系统不能启动
3.强制关机可能在写入 rr.img 的配置或 GRUB 时中断,导致 loader 无法加载 kernel/initrd
解决思路
检测引导是否有变化
编辑虚拟机文件查看,引导并未发生变化,于是排除该问题
查看虚拟机改动
尝试修改引导方式或者降低引导版本依旧无法启动,于是排除该问题
修复 RR 引导
user_config.json 内是引导配置和系统配置,只要有这个文件,系统没坏的情况下基本就可以无损修复引导
-
备份原 rr 文件
cp /mnt/share/iso/rr.img /mnt/share/iso/rr.img.bak -
获取原 rr 文件的 user_config.json
mkdir /mnt/rr losetup -Pf /mnt/user/share/iso/rr.img ls /dev/loop*p* (我的是/dev/loop3p1 /dev/loop3p2 /dev/loop3p3,只用 p1 就好) mount /dev/loop3p1 /mnt/rr cp /mnt/rr/user_config.json /mnt/backup umount /mnt/rr losetup -D -
获取最新版本 rr 文件
-
挂载新 rr 文件,写入 user_config.json
losetup -Pf /mnt/user/share/iso/rr_new.img ls /dev/loop*p* mount /dev/loop3p1 /mnt/rr cp /mnt/backup/user_config.json /mnt/rr/ sync umount /mnt/rr losetup -D -
编辑 vm 挂载 rr_new.img,用user_config.json 引导dsm
此时系统可以进入 rr 引导ui,进去后就会提示找到老的系统是否要恢复配置,确认恢复之后,选择尝试恢复已安装的 dsm 系统,然后编译引导, 启动,重新进去 dsm就恢复了
rr选项
评论区