迁移 VirtualBox 到 VMware

VMware 17.5

0x0 导出

首先将 VirtualBox 中的虚拟机关机, 右键, 导出虚拟机, 选择 OVA 2.0. (因为 VirtualBox 已经被我卸载了, 没图)

0x1 导入

拿到 OVA 文件后, 打开 VMware, 选择打开文件, 选中导出的文件, 如果没意外的话通常会报错.

Line XX: Unsupported element StorageItem (这个可能有多种 element)

问题不大, 将 OVA 文件解压, 打开 .ovf 文件, 找到上述对应行报错, 将节点类型改变一下, 如 StorageItem -> Item, 子节点类型前的 xasd 全改为 rasd. 如下代码已修正:

<Item>
  <rasd:AddressOnParent>0</rasd:AddressOnParent>
  <rasd:Caption>disk1</rasd:Caption>
  <rasd:Description>Disk Image</rasd:Description>
  <rasd:HostResource>/disk/vmdisk1</rasd:HostResource>
  <rasd:InstanceID>7</rasd:InstanceID>
  <rasd:Parent>5</rasd:Parent>
  <rasd:ResourceType>17</rasd:ResourceType>
</Item>
<Item>
  <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
  <rasd:Caption>Ethernet adapter on 'Bridged'</rasd:Caption>
  <rasd:Connection>Bridged</rasd:Connection>
  <rasd:InstanceID>8</rasd:InstanceID>
  <rasd:ResourceSubType>E1000</rasd:ResourceSubType>
  <rasd:ResourceType>10</rasd:ResourceType>
</Item>

调整完成后, 计算一下该文件的 SHA256 值, 并更新在同目录中的 .mf 文件

SHA256 (Dev-disk001.vmdk) = 96bba665329exxxxxxxxx
SHA256 (Dev.ovf) = 0d1e811ff36c8067bxxxxxxxx <- 这里

全部操作完毕后, VMware 即可导入了.

0x2 修复网络

因为虚拟出来的网卡设备不一样, 系统里的网卡信息肯定是不一致的, 我们需要改一哈.

先将 VMware 网卡改成你爱的, (我用 VMnet8), 然后登录上虚拟机.

# 输入: ip a, 找到网卡, 我这是 ens33
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:10:35:d6 brd ff:ff:ff:ff:ff:ff
    altname enp2s1

# 打开 /etc/network/interfaces, 修改一下, 保存退出
allow-hotplug ens33
iface ens33 inet dhcp

# 运行 /etc/init.d/networking restart 重开下网络即可

0x3 修正无法打开设置

折腾完后发现, 在 VMware 中无法打开虚拟机设置面板. Google 了一下, 解决辣.

# 找到虚拟机目录下的 `.vmx` 文件, 打开编辑, 加入下行即可
cpuid.coresPerSocket = "1"

0x4 使用

全部处理完成后, 就可以把 VirtualBox 卸载辣! 但用下来只感觉快了一点, 但不多. 大概是我贫穷的 HDD 问题.

emmmmmm

-- Fin --