因為種種原因,所以這篇文章誕生了。
重點:
- 轉成OVA沒有用,因為OVA會指定虛擬機的類型,而ESXi不支援VirtualBox的虛擬機類型。
- VirtualBox預設的磁碟控制器是AHCI、ESXi預設是LSI的SAS控制卡,Windows初次啟動會把用開機用不到的控制卡改成晚一點啟動,接著造成 0x000007b 。
- ESXi不吃VDI、也不吃VBoxManage轉出來的VMDK(動態擴充)。
步驟:
- 執行指令
VBoxManage clonehd hdd.vdi 'hdd-dyn.vmdk' --format VMDK
,將vdi轉為vmdk - 把vmdk(動態擴充)丟到ESXi上
- 在ESXi執行指令*1
vmkfstools -i hdd-dyn.vmdk hdd.vmdk
- ESXi上建立新的VM,加入
hdd.vmdk
- 用PE掛載系統的SYSTEM登錄區,進去ControlSet1跟ControlSet2,再進去service,把LSI的Service
的Start改成0。*2 - 開機,刪除舊的VMTools,安裝新的VMTools
*1:感覺vmkfstools應該可以直接把vdi轉成固定大小的vmdk,但是我懶的測試。總之這個步驟把動態擴充換的 vmdk 轉成固定大小的 vmdk ,這樣 ESXi 才能吃。
*2:建議複製vmdk前先設定,但是我忘了只好用PE。令一種替代方案是新增硬碟不要掛在 SCSI / SAS 控制器上,而是掛在 SATA 控制器上。
參考資料:
- http://jermsmit.com/convert-virtualbox-vdi-to-vmware-vmdk/
- https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1028943
- https://support.microsoft.com/en-us/kb/922976