迁移物理机Linux系统到ESXi 8.0

221 阅读3分钟

前言

本文介绍的是将一台物理机上运行的Ubuntu系统迁移到ESXi虚拟机平台中。这个把物理机转变成虚拟机的过程被称为P2V,本文使用VMware官方的P2V工具VMwareConverter进行操作。阅读本文之前建议先了解ESXi的基本使用。所需的程序文件在文末有下载。

准备工作

  • 把需要迁移的Linux开机,此处使用的是Ubuntu 22.04 LTS
  • 运行ESXi,此处使用ESXi 8.0U2
  • 你还需要一个Windows系统来运行VMwareConverter,此处使用Win11 23H2
  • 确保上述3个系统之间彼此可以通过网络互相连接,最好临时关闭这3个系统的防火墙

迁移系统

首先在Windows安装VMwareConverter,安装时的选项全部默认即可。 如果你的Windows现在是深色模式的,建议先调成浅色,因为这个软件的深色模式适配有问题,有些地方会白底白字导致看不见内容。
安装完以后打开软件,长这个样子

屏幕截图 2025-09-07 112012.png

点左上角的Convert machine,会弹出这个框,填法看图

wechat_2025-09-07_112616_083.png

弹这个无脑点yes即可,如果没弹先看看下面常见问题

图片.png

这一步配置ESXi的信息,填法看图

953e556f-289a-4499-bf8b-4fb45fc822d7.png

众所周知咱们程序员看不见warning,无视!

wechat_2025-09-07_113500_188.png

给迁移后生成的虚拟机起个名字

wechat_2025-09-07_113608_997.png

选择迁移后的虚拟机存放的位置
在ESXi的存储选项中可以把物理硬盘格式化成VMFS格式
这些VMFS格式的硬盘就可以作为ESXi的可用存储,虚拟机必须放在这里面

wechat_2025-09-07_113836_002.png

这一步最好改一下IP,在迁移的过程中会在ESXi里创建一个临时的辅助虚拟机,也就是图上的Helper VM,给它分配一个目前局域网里没有被占用的IP,如果选自动的话你的网络环境里必须有DHCP服务器。

wechat_2025-09-07_113916_942.png

这一步点finish就会创建任务

wechat_2025-09-07_114257_718.png

然后这个任务就会出现在主界面中,右键选Go to Running Task可以查看迁移任务的进度。

wechat_2025-09-07_114344_438.png

常见问题

第一步报错无法远程连接Linux

屏幕截图 2025-09-07 103600.png 是说要求目标Linux要允许无密码执行sudo才能继续。
到需要迁移的Linux上操作,编辑/etc/sudoers这个文件,在末尾添加

# User privilege specification
root    ALL=(ALL:ALL) ALL
你的Linux账户名称   ALL=(ALL) NOPASSWD:ALL

然后保存,保存以后重新开一个终端,输入sudo ls,如果没提示你输入密码那就是生效了。

如果还是无法连接,确认一下你的Linux里SSH有没有正常运行。 示例里Ubuntu 22.04默认是不开SSH的,需要手动安装一个。

sudo apt install openssh-server

然后启动服务并配置开机自启动

sudo systemctl enable ssh
sudo systemctl start ssh

现在再回到Converter就可以连接了。

迁移进度卡1%,找不到helper的IP地址

错误提示是

Error: Unable to obtain the IP address of the destination virtual machine running the Converter helper server.

在finish前面那一步把IP改成手动配置,关掉IPv6,如果还不行,看下面参考资料第一篇文章。

软件下载

ESXi-123盘
VMwareConvertet-123盘

参考资料

vCenter Converter standalone 转换Linux物理机到虚拟机卡在1%