Step 1: VirtualBox 匯出成 ova 格式
- 把要匯出的 VM 關機
- 檔案 > 匯出應用裝置
- 選擇要匯出的 VM,格式選擇 OVF 1. 0 即可
- 點選匯出,得到一個 ova 檔
Step 2: 匯入到 VMware ESXi
- 透過 vSphere Client 連線到 ESXi 選擇 檔案>部署 OVF 範本,選擇前一步驟匯出的 ova 檔即可匯入
- 若遇到各種錯誤,請看下面 Q&A
Step 3: 修改 VM 設定
- 移除 VBoxGuestAdditions, Fedora 的 script 放置於 /opt/[VboxAddonsFolder]/uninstall.sh
- 重新開機
Q&A
Error 1: 遇到 "Unsupported hardware family virtualbox-2.2" 錯誤
- 先到 VMware 官網下載 OVF Tool,執行以下指令把 ova 檔轉成 ovf 檔
ovftool.exe — lax source.ova destination.ovf
(注意 lax 前面是兩個 dash,後面 destination 的副檔名一定要是 ovf)
- 轉換出來會得到一個 mf 檔 (checksum)、ovf 檔 (設定檔) 和 vmdk 檔 (虛擬硬碟),直接把 mf 檔刪掉,避免修改 ovf 設定後造成 checksum 不合
- 用文字編輯器打開 ovf 檔,並找到內文中的 virtualbox-2.2 改為 vmx-07
- 繼續部署 OVF 範本流程即可
Error 2: 遇到 "No support for the virtual hardware device type ’20′" 錯誤
- 同 Error 1,用文字編輯器打開 ovf 檔,替換整段設定檔
<Item>
<rasd:Address>0</rasd:Address>
<rasd:Caption>sataController0</rasd:Caption>
<rasd:Description>SATA Controller</rasd:Description>
<rasd:ElementName>sataController0</rasd:ElementName>
<rasd:InstanceID>5</rasd:InstanceID>
<rasd:ResourceSubType>AHCI</rasd:ResourceSubType>
<rasd:ResourceType>20</rasd:ResourceType>
</Item>
改為
<Item>
<rasd:Address>0</rasd:Address>
<rasd:Caption>SCSIController</rasd:Caption>
<rasd:Description>SCSI Controller</rasd:Description>
<rasd:ElementName>SCSIController</rasd:ElementName>
<rasd:InstanceID>5</rasd:InstanceID>
<rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>
<rasd:ResourceType>6</rasd:ResourceType>
</Item>
Error 3: 遇到 "No support for the virtual hardware device type ’35′" 錯誤
- type 35 是音效卡,可以直接先刪除以下整段設定
<Item>
<rasd:AddressOnParent>3</rasd:AddressOnParent>
<rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
<rasd:Caption>sound</rasd:Caption>
<rasd:Description>Sound Card</rasd:Description>
<rasd:ElementName>sound</rasd:ElementName>
<rasd:InstanceID>7</rasd:InstanceID>
<rasd:ResourceSubType>ensoniq1371</rasd:ResourceSubType>
<rasd:ResourceType>35</rasd:ResourceType>
</Item>
Error 4: Fedora 連開機都開不起來遇到 Disk UUID: XXXXXXXXXX can’t find
- 遇到這個狀況代表有些 UUID 的設定變了
- 在 grub 畫面改選 rescure 的 image 開機,登入後用 root 身分跑
- $ blkid // 取得新 UUID
- 到 /etc/fstab 確認 UUID 對應正確,若有變的就改成新的
- $ dracut — regenerate-all — force // 重建設定檔
- $ grub2-mkconfig -o /boot/grub2/grub.conf // 重建 grub 設定
- 重新開機
Reference
- https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2053864
- http://qmaw.pixnet.net/blog/post/364671068-import-virtual-box-ova-from-sdn-hub-into-esxi-5.1
- https://technologytales.com/2012/04/08/uninstalling-virtualbox-guest-additions-on-a-linux-guest-os/
- http://forums.fedoraforum.org/showthread.php?t=292088
- https://access.redhat.com/documentation/zh-TW/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/sect-trouble-after-x86.html