近日打算将母鸡从ESXi7.0更换为ProxmoxVE系统,进行Windows Server 2019虚拟机迁移测试时,按照网络上提供的操作指引始终提示“No bootable device”错误,无法引导开机。
大致错误如下图,会反复启动(BIOS)或进入UEFI SHELL,无法正常启动Windows系统。
经排查,发现是导入ESXi虚拟机至PVE时,主板UUID变化造成无法正常引导,修改后稍加配置即可顺利迁移,现将操作流程记录如下。
一、准备工作
1. 确认BIOS类型
ESXi虚拟机中Win+R键运行 msinfo32
弹出系统信息窗口,在“系统摘要>>BIOS模式”中,可以看到系统是UEFI启动。
2. 记录主板UUID
ESXi虚拟机中命令提示符运行wmic csproduct get uuid
,记录主板UUID。
4. 导出映像
ESXi虚拟机关机,右键选择“导出映像”。
此时浏览器会下载<虚拟机名称>.ovf
、<虚拟机名称>-0.vmdk
、<虚拟机名称>.mf
三个文件,分别是虚拟机配置、磁盘、HASH值。
建议下载到本地后校验一下vmdk文件SHA1 HASH值是否与“<虚拟机名称>.mf”文件中一致,避免文件损坏造成迁移失败。
二、上传并导入
1. 上传ESXi虚拟机
将导出下载“<虚拟机名称>.ovf”、“<虚拟机名称>-0.vmdk”、“<虚拟机名称>.mf”三个文件,通过WinSCP等工具SFTP上传至PVE母鸡,此处上传的路径以/root/esxi
为例。
2. 导入OVF文件
使用qm importovf <要创建的虚拟机ID> <文件名>.ovf <储存位置,默认为local-lvm> --format <磁盘格式raw/qcow2/vmdk>
命令导入。
此处为qm importovf 151 XXXServer.ovf local-lvm2 --format vmdk
,请根据实际情况填写,等待虚拟机创建和磁盘导入完成。
三、配置虚拟机
1. 编辑磁盘配置
选择磁盘点击“分离”按钮,然后点击“编辑”将“总线/设备”设置为IDE0后添加(默认是SCSI0)。
不确定该怎么选的话可以在原ESXi虚拟机下通过diskpart工具查看磁盘,或在PVE中添加PE镜像启动,看怎么设置在PE中能识别。
2. 其他硬件设置
- BIOS:设置为OVMF(UEFI)
- 添加EFI磁盘,储存位置建议和硬盘位置一致
- 添加CD/DVD驱动器,挂载virtio驱动镜像
- 添加网络设备,MAC设置为原虚拟机MAC
3. 虚拟机选项设置
- OS类型:根据实际系统填写
- 引导顺序:勾选添加的磁盘接口
- SMBIOS设置(type1):将UUID修改为记录的原虚拟机主板UUID
四、收尾工作
1. 删除VMware驱动与VMware Tools
设备管理器中看到VMware开头的全部卸载并删除驱动,卸载驱动完成后重启。
控制面板中卸载VMware Tools(或使用UninstallTool V3.7.2这类第三方卸载工具)。
2. 安装Virtio驱动
完成安装后,所有功能恢复正常,原ESXi虚拟机无缝迁移至PVE。
文章评论