實體Server轉成Hyper-V

   近來公司的測試機,所執行的工作及設定越來越多,為避免改天一不小心機器掛了,要再重設一次相關設定..,決定將它轉成Hyper-V來使用。還沒開始前,先在本機作一下實驗,如何將實體OS轉成Hyper-V。

測試記錄


DiskToVHD

  一開始使用的工具是DiskToVHD,但轉完後的vhdx運行後會出現錯訊息"No UEFI-compatible file system was found",此問題,國外文章的回應,開機磁不能為EFI.....。解決方法為將vhdx mount起來後,再透過另一個軟体轉檔,但我在第一個步驟Mount就發生錯誤了,所以放棄此作法(參考文章)。

Microsoft Virtual Machine Converter(MVMC)

  微軟工提供的另一套工具,安裝後,一開始轉就馬上出現訊息"…an EFI boot machine is currently not supported….."殘念... 參考文章
 

使用VM vCenter Converter

  雖然無法使用MVMC轉,但它有另一功能可以透過它將VMware轉成Hyper-V,所以索性就先將實體OS轉成VMware,再來轉成Hyper-V。
  1. 下載VM vCenter Converter
  2. 將實體or遠端OS轉成VM,參考作法。PS:若使用的是遠端,記得要將防火牆關掉,才能轉。
  3. 轉完後,透過PowerShell將VM轉成Hyper-V
    • 第一次使用需匯入MVMC模組 Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"
    • 執行轉檔:ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath E:\Temp\qas.vmdk -DestinationLiteralPath E:\Temp\qas-HV\

Summary


  執行完後,就可以在Hyper-V上使用,雖然是搞工了點,但總算以個人有限的SE技能達到了所需..(心虛)。在完成之後,找到另一篇文章介紹使用BCDEdit 命令,先作UEFI的轉移後,再來轉,不過看起來也是不少工程,但看起來是比較正規的作法,有興趣的請參考

相關參考


http://www.techwork.dk/virtualization/how-to-convert-vmdk-to-vhdx-disk
http://blog.sina.com.cn/s/blog_a0c06a350102wc0n.html
https://4sysops.com/archives/how-to-p2v-windows-server-2012-r2-with-uefi-and-a-gpt-disk/

這個網誌中的熱門文章

[.NET Core] 將專案發行至IIS

[TFS] 分支與合併