1. 从 VMware 导出镜像

在 VMware 中,将需要迁移的虚拟机关机,然后选择“文件” -> “导出为 OVF”。导出完成后,您会得到包含 .ovf.mf 以及核心磁盘文件 .vmdk 的镜像文件。

2. 上传镜像至 PVE

将导出的 .ovf 文件上传到 PVE 服务器中。您可以通过 SSH 工具(如 FinalShell)上传,或者利用 PVE 图形界面上传。

3. 转换磁盘格式

由于 PVE 默认支持 qcow2 格式的磁盘映像,您需要使用工具(如 qemu-img)将 .vmdk 文件转换为 .qcow2 格式。例如,在命令行中执行:
qemu-img convert -f vmdk -O qcow2 你的磁盘.vmdk 你的磁盘.qcow2

4. 在 PVE 中创建并配置虚拟机

1.在 PVE 中创建一个空白虚拟机,注意记录该虚拟机的 VM ID,并且不要为其添加任何硬盘和虚拟光驱。

2.使用 qm importdisk 命令将镜像文件导入到该虚拟机中。

命令格式为:qm importdisk [VM ID] [镜像文件路径] [存储卷]

如何查看您的存储卷名称?
您可以登录 PVE 的 Web 管理界面,点击左侧导航栏最上方的“数据中心 (Datacenter)”,然后在展开的菜单中点击“存储 (Storage)”。在右侧的列表中,您会看到“ID”这一列,这个名称就是您在命令中需要填写的存储卷名称。

3.导入成功后,在 PVE 的虚拟机“硬件”设置中,会多出一个“未使用的磁盘”。双击该磁盘,将其总线/设备调整为 IDE(测试其他的无法识别开机进入系统),然后添加。

4.进入虚拟机的“选项”设置,修改“引导顺序(Boot Order)”,勾选刚刚添加的磁盘并将其移至最上方。

完成上述配置后,点击启动即可进入系统。此外,如果在启动过程中遇到系统无法引导或报错的情况,可以尝试在 PVE 的“系统”设置中,将主机的机型(Machine)从默认的 i440fx 更改为 q35,这通常能解决部分系统的兼容性问题。

5.安装 VirtIO 驱动:

# 强制将 VirtIO 驱动打包进初始内存盘
dracut -f --add-drivers "virtio_blk virtio_pci virtio_scsi"

# 重新生成 GRUB 引导配置
grub2-mkconfig -o /boot/grub2/grub.cfg

执行完后,就可以在 PVE 里把硬盘从 IDE 改回 VirtIO SCSI,然后重启。这样你既能保留原来的数据,又能获得和重装系统一样的优秀性能!

6.清理 VMware 残留:

yum remove open-vm-tools

7.清理旧内核与无用依赖(强烈建议)

# 移除不再被依赖的孤立软件包
yum autoremove -y

# 清理 YUM 缓存(释放磁盘空间)
yum clean all

8.检查并清理网络配置

因网卡改变,修改网卡配置。