Linux 还原完成后起不来?三种报错对应三条修复路
还原成功不等于能开机
ABB 把 Linux 系统还原到另一台物理机,或还原进 VMware、Hyper-V、群晖 VMM 之后,开机卡住——备份日志一切正常,坏在启动这一步。三种典型报错,对应三条修法,先对号再入座。
情况一:Debian/Ubuntu 报 Kernel panic
屏幕停在 Kernel panic - not syncing: VFS: Unable to mount root fs——备份里的 initramfs 镜像没带目标设备需要的块设备驱动。重启进 GRUB 菜单,选 Debian GNU/Linux 或 Ubuntu 的高级选项里带(恢复模式)的内核;Ubuntu 在恢复菜单进 root,Debian 沿菜单进 shell,拿到 root 命令行后执行:
update-initramfs -u -k $(uname -r)
重启即可。
情况二:RHEL/CentOS/Oracle Linux 进 Dracut 紧急 shell
报 dracut-initqueue: Warning: Could not boot,或 /dev/mapper/ol-root does not exist,根因同是 initramfs 缺驱动。GRUB 菜单里选 0-rescue 开头的救援内核,登录 root 后执行:
dracut -f /boot/initramfs-$(uname -r).img $(uname -r)
重启即可。
情况三:LVM 系统进紧急模式
带 LVM 的 CentOS/RHEL 开机进紧急模式,屏幕上一串 systemd 依赖失败——还原后的 /etc/lvm/devices/system.devices 里存着还原前的过时设备信息,LVM 在启动早期发现不了、激活不了卷。root 登录后删掉这个文件:
rm -f /etc/lvm/devices/system.devices
重启后 LVM 重新发现块设备。此路要求 /boot 单独挂载、在救援模式下操作;若系统进的是紧急模式,先在 GRUB 菜单按 e 编辑启动项,加一行 systemd.unit=rescue.target,按 Ctrl+x 以救援目标启动再动手。
小结
- Kernel panic 与 Dracut 报错=initramfs 缺块设备驱动,重建它;
- LVM 紧急模式=system.devices 过时,删除后重启;
- 紧急模式进不了救援内核时,GRUB 加 rescue.target 参数;
- 修完登录进去,确认业务目录与挂载点都在。
诚鑫致达科技验收整机还原只认一条硬标准:机器自己走到登录界面,登进去 df 里看得到该有的挂载点——这台才算真的回来了。