EXSI 上麒麟 V10(Kylin)迁移至 HyHive(KVM)引导修复总结

发布时间:2026/7/29 7:47:54

EXSI 上麒麟 V10(Kylin)迁移至 HyHive(KVM)引导修复总结 **麒麟 V10Kylin迁移至 HyHiveKVM引导修复总结一、问题现象从 VMware ESXi 迁移到 HyHiveKVM后虚拟机启动进入 emergency mode报错plainWarning: /dev/klas/root does not existWarning: /dev/klas/swap does not existWarning: /dev/mapper/klas-root does not existEntering emergency mode…二、根本原因麒麟 V10 的 initramfs初始内存文件系统 默认只包含 VMware 虚拟硬件驱动如 LSI SCSI 控制器缺少 KVM 环境下的 virtio、SATA/IDE 适配驱动。导致迁移后内核无法识别虚拟磁盘LVM 卷组无法激活。三、修复方案推荐顺序方案 A源端提前修复最彻底需在 ESXi 上操作在源虚拟机ESXi 上提前注入 virtio 驱动再导出 VMDKbash1. 加载 virtio 内核模块modprobe virtiomodprobe virtio_blkmodprobe virtio_pcimodprobe virtio_net2. 重建 initramfs强制包含 virtio 驱动dracut --force --add-drivers “virtio virtio_blk virtio_pci virtio_net ext4” --regenerate-all3. 验证模块是否已打入lsinitrd /boot/initramfs-$(uname -r).img | grep virtio4. 关机后导出 VMDKshutdown -h now导出后HyHive 直接以 virtio 总线挂载即可正常启动。方案 B目标端修复HyHive 上过渡实际采用如果 VMDK 已导入 HyHive 但无法启动采用 “IDE 过渡 → 注入驱动 → 切换 virtio” 策略步骤 1HyHive 上改用 IDE 总线启动编辑虚拟机磁盘 → 云盘总线类型 → 选择 ide启动系统IDE 兼容性最好可进入系统步骤 2进入系统后注入驱动bash加载 virtio 模块麒麟内核已内置无需 yum 安装modprobe virtiomodprobe virtio_blkmodprobe virtio_pcimodprobe virtio_net验证模块已加载lsmod | grep virtio重建 initramfs永久写入 virtio 支持dracut --force --add-drivers “virtio virtio_blk virtio_pci virtio_net ext4” --regenerate-all验证 initramfs 已包含lsinitrd /boot/initramfs-$(uname -r).img | grep virtio关机shutdown -h now步骤 3切换回 virtio 总线HyHive 上编辑虚拟机磁盘 → 云盘总线类型 → 改回 virtio重新开机系统可正常识别磁盘并激活 LVM四、关键注意事项表格项目 说明不要安装 virtio-win 麒麟 V10 仓库无此包且内核已内置 virtio 驱动无需额外安装不要修改 grub 参数 rd.lvm.lvklas/root 等参数无法解决驱动缺失问题必须先关机再切换总线 重建 initramfs 后必须关机再在 HyHive 上修改磁盘总线热切换无效LVM 是麒麟默认分区方式 根分区通常在 /dev/mapper/klas-root不是普通 /dev/sda1IDE 只是过渡方案 长期运行建议使用 virtio性能更好五、快速检查清单迁移后启动失败时按此排查HyHive 磁盘总线是否为 virtio → 先改成 IDE 尝试启动能否进入系统 → 能则执行 dracut 重建 initramfsinitramfs 是否包含 virtio → lsinitrd | grep virtio 验证重建后是否关机再切 virtio → 必须关机不能热切换

相关新闻