每次想把网上下载的 img 镜像转换成 ESXi 使用的 vmdk 格式总是要另外开 Windows 电脑用 StarWind 软件进行转换,特别麻烦,因此问 ChatGPT 找了一个无需借助 Windows 的方式。
准备
先通过 Homebrew 安装 qemu:
开启 ESXi ssh 服务:
- 登录 ESXi
- 选择「管理」
- 选择「服务」
- 找到「TSM-SSH」并启用
使用
先把 img 镜像转换成 vmdk 格式:
然后把转换后的文件通过 scp 上传到 ESXi 中:
如果现在把刚刚上传的 vmdk 镜像添加到虚拟机作为系统盘启动, ESXi 会出现报错:
无法打开虚拟机 DSM 的电源。“sata0:0”的磁盘类型 2 不受支持或无效。请确保磁盘已导入。
当你以为是磁盘问题把磁盘类型改成 IDE 时,发现前面的报错消失,能正常启动了,先不要高兴,惊喜在后面:
kernel is not a valid elf file
因为还需要再转换一次,ESXi 才能正常识别。让我们先通过 SSH 连接 ESXi: ssh [email protected]
,然后执行:
默认情况下使用 vmkfstools 转换后的硬盘类型是:厚置备,延迟置零,如果想改成 精简置备,可以加上 -d thin
参数:
待转换完成后,使用 ls 命令查看会发现除了 synoboot.vmdk 之外还多了一个 synoboot-flat.vmdk,不要误删了,这个才是真正存放数据的文件。不过可以把之前上传的 arpl.vmdk 文件可以删除,以免后续维护时造成混淆:
现在可以把 synoboot.vmdk 加到虚拟机中作为系统盘启动,和通过 StarWind V2V Image Converter 转换的效果一样。
信息
环境
- HPE-ESXi-6.7.0-Update3
- System: macOS 13.4.1
参考