原虚拟机文件是 VMWare的,用DD备份后,在Hyper新虚拟机还原后,系统无法启动.
Warning: /dev/centos/root does not exist
Warning: /dev/centos/swap does not exist
cd /dev 然后 ls 了一下,发现竟然没有开头 hd 或 sd 的硬盘设备。
想到 VMWare 里的虚拟硬盘是挂载在 SCSI 控制器下的,而 Hyper-V 里一代机却是挂到了 IDE 控制器下,不支持SCSI启动,后上网查找了一下:第二代 Hyper-V 虚拟机支持SCSI启动,但需把 安全启动 关掉,因多数Linux不支持。
如果用一代机的话,可用启动光盘修复:
1、用 CentOS 7 安装光盘启动,选择 troubleshooting -> Rescue a Linux OS,按 1.continue 进入救援模式。
2、cd /mnt/sysimage 输入 chroot . (注意chroot后有一点)
3、重建 initramfs: dracut -v /boot/initramfs-$(uname -r).img $(uname -r)