如何從 VMware 遷移至 Hyper-V
您可能基於各種原因,需要將 VMware 虛擬機器轉換為 Hyper-V 虛擬機器。 例如,您可能處於多虛擬化平台環境中;可能需要進行 VMware 至 Hyper-V 的遷移以進行測試;或是希望針對特定軟體採用更合理的授權模式等。然而,儘管這兩大虛擬化平台存在某些相似之處,但仍存在一些關鍵差異。
了解 VMware 至 Hyper-V 虛擬機的轉換流程,對於順利且成功的遷移至關重要。這篇部落格文章將說明一些最經濟實惠的方法與工具,用以將 VMware 虛擬機轉換為 Hyper-V 虛擬機。
轉換工具與方法概覽
以下是微軟提供的、最常被用於將 VMware 虛擬機器轉換為 Hyper-V 的方法:
- 使用 Microsoft Virtual Machine Converter (MVMC)。MVMC 是一款具備 GUI(圖形使用者介面)的免費獨立工具,可轉換虛擬機器(以及 將實體機器轉換為虛擬機器)。 您可以使用此工具將虛擬機器移轉至 Microsoft Hyper-V 或 Azure,並將 VMware ESXi 虛擬機器轉換為 Hyper-V 格式的虛擬機器。
- 透過 PowerShell 將 VMDK 轉換為 VHD,並將轉換後的虛擬磁碟掛載至新的 Hyper-V 虛擬機器 。當您擁有虛擬磁碟檔案,但未具備所有虛擬機器檔案(例如 VMX 設定檔)時,可採用此方法。 此方法可同時轉換 VMware Workstation 虛擬機器與 VMware ESXi 虛擬機器。
- 使用 System Center Virtual Machine Manager (VMM) 轉換虛擬機器。VMM 是一款商用軟體解決方案,可對 Hyper-V 與 VMware 環境進行集中管理,包括虛擬機器、主機及叢集的管理,並提供虛擬機器轉換特點。
為 VMware 至 Hyper-V 遷移準備虛擬機器
在將 VMware 虛擬機器轉換為 Hyper-V 之前,您應執行以下操作以防止錯誤並簡化遷移流程:
- 移除不必要的虛擬裝置並彈出虛擬光碟。 例如 虛擬軟碟機 以及 COM 或 LPT 控制器等裝置,可予以移除以提升相容性並防止可能的運作中斷。 若您正在建立第一代 Hyper-V 虛擬機器,日後可再新增這些裝置。
注意: MVMC 3 不支援第二代 Hyper-V 虛擬機器。
- 清理虛擬硬碟。 刪除佔用虛擬機器虛擬硬碟空間的暫存檔及其他不必要的檔案。移除未使用的程式與元件。若目標虛擬硬碟採用動態擴充(精簡配置)模式,此做法可為您節省磁碟空間與時間。
- 移除/整合所有虛擬機器快照。 若虛擬機器中不包含快照,可降低虛擬機器轉換過程中的錯誤發生機率。
- 在線上轉換前(僅限線上轉換),請先解除安裝 VMware Tools 。 此方法可提供一種乾淨的方式,將基於 VMware 的虛擬機器遷移至 Hyper-V。Hyper-V 虛擬機器中不需要 VMware Tools 套件。 Hyper-V 提供了一套名為”整合服務(Integration Services)”的公用程式套件,旨在提升虛擬機器中客體作業系統的效能。
從 VMware 遷移至 Hyper-V 的其他注意事項
Microsoft 虛擬機器轉換器(MVMC)會在您解除安裝 VMware Tools 之前,對正在轉換的虛擬機器建立快照,然後關閉來源機器,以在轉換過程中保留其狀態。 當連接至該虛擬機器的來源磁碟成功複製到執行轉換程序的機器後,虛擬機器將還原至先前的狀態。此時,如有需求,可開啟 VMware 中的來源機器。
在離線轉換過程中,MVMC 不會解除安裝 VMware Tools,而是僅針對 Windows Server 客體作業系統停用 VMware 服務、驅動程式及程式。 對於使用 Linux 客體作業系統的檔案轉換,VMware Tools 不會被停用或解除安裝。強烈建議您在轉換離線虛擬機器時,手動解除安裝 VMware Tools。
使用 Microsoft Virtual Machine Converter 進行轉換
讓我們以使用 Microsoft Virtual Machine Converter 將基於 VMware 的虛擬機器轉換為 Hyper-V 虛擬機器為例。
輸入參數如下:
- 該虛擬機器(虛擬硬體版本 7)正在 ESXi 6.5 上執行(儘管所述工作流程也適用於其他或較新的虛擬硬體版本)。
- 該虛擬機器擁有一個虛擬磁碟,且無快照。
- 未安裝 VMware Tools 套件。
要開始轉換程序:
- 下載 MVMC 請使用可執行安裝程式 . msi 檔案。獨立版 MVMC 的最新版本為 3.1。您也可以下載 . 文件 檔案 ,其中包含 Windows PowerShell cmdlet 的說明。
注意 :若需較新版本的 Microsoft Virtual Machine Converter,您可以將此工具作為 Microsoft System Center Virtual Machine Manager (VMM) 的一部分來使用,因為 Microsoft 已停止發布獨立版 MVMC 的新版本,並終止了官方支援。
- 安裝過程非常簡單:執行安裝程式、接受授權協議、選擇安裝目錄,然後在設定精靈中點擊 安裝 。請確保有足夠的磁碟空間,包括虛擬機器轉換過程中所建立的暫存檔案所需的空間。
- 安裝過程完成後,請執行轉換器。 點擊 開始 > Microsoft 虛擬機轉換器 以運行轉換器。
- 在 開始之前 畫面上,您可以閱讀簡短描述。如果不想每次運行轉換器時看到此畫面,可以勾選 不再顯示此頁面 選框。點擊 下一頁 繼續。
- 機器類型 。選擇要轉換的來源機器類型。在此情況下,選擇 虛擬機器轉換 。點擊 下一頁 。

- 選擇 遷移目的地 。此階段有兩個選項:遷移到 Microsoft Azure 雲和遷移到 Hyper-V。本博文內容涵蓋 VMware 虛擬機轉換為 Hyper-V 虛擬機,因此應選擇 遷移到 Hyper-V 選項。點擊 下一頁 。

- 選擇目的地 Hyper-V 主機 。在此範例中,Hyper-V 伺服器運行在本地主機上(轉換器和 已安裝 Hyper-V 伺服器 在同一台機器上)。Microsoft 虛擬機轉換器也可以通過網絡儲存轉換的虛擬機器到異地目的地主機上。
確保防火牆配置正確,如果轉換器和 Hyper-V 主機運行在不同的機器上,需要啟用遠端訪問 Windows 管理工具 並在目的地機器上啟動相應服務。
選擇目的地主機的名稱或 IP 位址,並添加擁有充分訪問許可權以連接到 Hyper-V 主機的用戶的憑證(目的地 Hyper-V 主機的本地管理員和域管理員擁有這一類的訪問許可權)。然後點擊 下一頁 繼續。

- 設定磁碟選項 。指定網絡路徑來儲存轉換的虛擬硬碟。在本演練中,虛擬機正被轉換並傳輸到安裝在運行轉換器的同一台機器上的 Hyper-V 服务器。因此,應用下列網絡路徑:
\\localhost\c$\Virtual\Hyper-V\converted建議在生產環境中避免使用系統磁碟(通常是C:)來儲存虛擬機器。例如,如果您的 Hyper-V 主機是一台遠端機器,您選擇的路徑可能類似:
\\10.10.10.12\d$\Virtual\Hyper-V選擇在轉換後將使用的虛擬磁碟類型。 固定大小磁碟
虛擬磁碟有兩種類型:
(相當於厚配置磁碟)或動態擴展磁碟(相當於薄配置磁碟)。在本操作指南中,為節省儲存空間,選擇了動態擴展磁碟。
選擇虛擬硬碟的格式:.vhdx
- 所採用。本操作指南中,我們選擇了 . vhdx 。vCenter
ESXi 伺服器 點擊 管理員憑證 下一步 以繼續。
- 請指定來源詳細資訊 以連線至 伺服器或 。在此範例中,將轉換一台在 ESXi 伺服器上執行的虛擬機器。因此,應在此步驟輸入 ESXi 伺服器的 IP 位址、使用者名稱及密碼。若使用 vCenter 進行 ESXi 主機的集中管理,則可使用 vCenter 的
。 按一下
“下一步” 以繼續。
現在, 從您所選擇的 ESXi 伺服器中,選取要轉換的虛擬機器 。在此範例中,將轉換一台運行於 ESXi 主機上的輕量級 Windows 虛擬機器。選取虛擬機器後,請按一下 “下一步” 。
- 虛擬機器連線 。若 Linux 虛擬機器上已安裝 VMware Tools,您必須提供來源虛擬機器上 root 帳戶的使用者名稱和密碼,以讓轉換程式能夠解除安裝 VMware Tools。 輸入路徑,或按一下 “瀏覽” 按鈕,並選取適當的資料夾。接著按一下 “下一步” 。

- 檢視摘要 。請檢視您所指定的設定詳細資訊。若警告並非關鍵性問題,即可繼續進行——這些警告不會阻礙轉換程序。以本例而言,我們將忽略作業系統警告,因為此轉換工具在 Windows 10、 Windows Server 2016、2019 及更新版本的 Windows 上皆可正常運作。我們稍後可調整記憶體設定。 按一下 “完成” 以啟動虛擬機器轉換程序。

- 請等待虛擬機器轉換完成。 根據來源虛擬機器虛擬磁碟的大小以及網路速度,此過程可能需要一段時間。若轉換成功,請按一下 關閉 以退出虛擬機器轉換器。

- 現在您可以編輯已轉換虛擬機器的設定,該虛擬機器會顯示在 Hyper-V 管理員的虛擬機器清單中。右鍵點擊該虛擬機器,並從快顯選單中選擇 設定 。 該虛擬機器儲存於您先前指定的目錄中。移除網路介面卡,並為舊版來賓作業系統新增一個傳統型 網路介面卡 以啟用網路功能。接著選取適當的 虛擬交換器 或建立一個新的,以便虛擬機器連線至網路。

- 配置完虛擬機器設定後,啟動虛擬機器並設定來賓作業系統。請等待作業系統識別出新的虛擬裝置。請勿忘記安裝 Hyper-V 整合服務,以獲得更佳的效能與使用者體驗。 若要手動安裝整合服務,請將
vmguest.iso映像檔插入虛擬機器的虛擬 DVD 光碟機,並執行安裝程式。安裝完成後,重新啟動虛擬機器並彈出虛擬 ISO 光碟。
是一種較新且更先進的檔案格式,同時被
您可以觀看這段影片,學習如何從 VMware 可靠地遷移至 Hyper-V。
使用 PowerShell 將 VMDK 轉換為 VHD
現在讓我們探討虛擬機器轉換的另一種使用情境。 若您僅擁有 VMware 虛擬機器的虛擬磁碟,或是擁有 VMware Workstation(而非 ESXi)的虛擬機器,則無法使用 Microsoft Virtual Machine Converter 圖形化使用者介面。
安裝 MVMC 時,系統也會一併提供一些 實用的 PowerShell 指令函式 。在以下範例中,您可以學習如何使用命令列介面 (CLI) 將 VMDK 虛擬磁碟轉換為 Hyper-V 格式的磁碟,以及如何在 Hyper-V 上使用該虛擬磁碟執行虛擬機器。
轉換基於 VMware 工作站的虛擬磁碟
- 将转换器模组新增至当前 PowerShell 工作阶段。该模组位于 Microsoft Virtual Machine Converter 的安装目录中。在本范例中,转换器使用预设位置。请在 PowerShell 中输入以下命令:
Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"如果您的轉換器安裝在其他目錄中,請輸入該目錄的路徑,而非
C:\Program Files\Microsoft Virtual Machine Converter\
- 前往您的虛擬機器位置,並列出該目錄中的檔案。(我們要從 VMware 遷移至 Hyper-V 的虛擬機器名為 StorageLinux。)在此範例中,該虛擬機器位置位於
C:\virtual\StorageLinuxcd C:\virtual\StorageLinuxdir您可以在此處看到虛擬機器的檔案。 請記下 VMDK 檔案的名稱,因為後續操作會用到它。在此範例中,使用的是具備一個虛擬磁碟的 Linux 虛擬機器。重要的是,該虛擬機器沒有 快照 且未安裝 VMware Tools(請參閱下方螢幕截圖)。

- 現在是將 VMware 轉換為 Hyper-V 虛擬磁碟格式的時候了。 請在 PowerShell 中執行轉換程式,並使用以下指令與參數:
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:\Virtual\StorageLinux\StorageLinux 3.x kernel 64-bit.vmdk" -DestinationLiteralPath "C:\Virtual\Hyper-V\converted\01" -VhdType DynamicHardDisk -VhdFormat Vhd其中:
-SourceLiteralPath <path>是待轉換的 VMware 虛擬磁碟路徑。-DestinationLiteralPath <path>是儲存 Hyper-V 格式虛擬磁碟的目錄路徑。-VhdType <type>定義虛擬磁碟的類型——動態擴展或固定大小。-VhdFormat定義 Hyper-V 虛擬磁碟的格式(VHD 或 VHDX)。請等待轉換過程完成。進度條會顯示當前狀態。

- 當虛擬磁碟成功從 VMDK 轉換為 VHD 後,您應會在螢幕上看到以下內容:

- 建立一台新的虛擬機器,並使用轉換後生成的 VHD 磁碟。 關於此部分,請參閱說明此流程的部落格文章: 如何在 Hyper-V 中建立新的虛擬機器。關鍵在於連接虛擬磁碟。在” “的”新增虛擬機器精靈” 中的適當步驟中,選擇” “>”使用現有的虛擬硬碟” ,並指定您新建立的 VHD 檔案位置。

- 完成虛擬機器的設定後,請在您的 Hyper-V 主機上執行該虛擬機器。

您也可以使用此方法轉換具有多個虛擬磁碟的虛擬機器。在此情況下,轉換完成後必須將每個虛擬磁碟掛載至虛擬機器。
轉換 VMware ESXi 格式的虛擬磁碟
首先,您需要將虛擬磁碟檔案從 ESXi 主機的資料存放區複製到已安裝 Microsoft Virtual Machine Converter 的電腦上。在此情況下,一個 VMware 虛擬磁碟由兩個檔案組成: diskname.vmdk 以及 diskname-flat.vmdk 。一個 . vmdk 檔案是一個描述檔,其中包含虛擬磁碟配置的相關資訊,並指向一個 -flat.vmdk 檔案。該 虛擬磁碟資料 本身則儲存於 -flat.vmdk 檔案中(以原始格式儲存,類似於實體硬碟)。 . vmdk 檔案 的大小僅有幾千位元組,而 -flat.vmdk 檔案 的大小則大得多。您可以使用 VMware vSphere 客戶端或任何 SCP(安全複製協定)客戶端,從 ESXi 主機複製 VMware 虛擬磁碟檔案。
使用 VMware vSphere 客戶端複製檔案
若您透過 vCenter Server 管理 ESXi 主機,則可採用此方法。
- 使用 VMware vSphere 客戶端登入您的 vCenter —— 在網頁瀏覽器的網址列中輸入您的 vCenter Server IP 位址。
- 前往 儲存 索引標籤,選取包含您的 VM 檔案的資料存放區,選取 VM 目錄,並選取要轉換的虛擬磁碟。
- 選取磁碟後,按一下 下載 並將包含 . vmdk 及 -flat.vmdk 檔案的 ZIP 壓縮檔儲存至已安裝 MVMC 的電腦上。請注意虛擬磁碟檔案的大小。 本範例中使用的虛擬機器( Win-test2 ,此虛擬機器先前已透過 MVMC 的圖形介面進行轉換)具有一個 8 GB 的精簡配置虛擬磁碟,在 VMFS 資料存放區中佔用約 1.64 GB 的空間。您可參閱另一篇部落格文章以進一步了解 厚配置與薄配置 。
注意 :您在 VMware vSphere 客戶端和 VMware Host 客戶端的網頁介面中,只能看到一個 VMDK 檔案。 請勿驚慌——資料存放區上實際上有兩個檔案(. vmdk 以及 – flat.vmdk )。您可透過 SSH 客戶端登入 ESXi 主機,並列出資料存放區上虛擬機器目錄中的檔案,以查看資料存放區上的兩個檔案。

- 下載 ZIP 壓縮檔後,請解壓縮虛擬磁碟檔案。

- 解壓縮檔案後,您會發現 – flat.vmdk 這顆虛擬磁碟檔案佔用 8 GB 的磁碟空間(即當前虛擬磁碟的最大配置大小),而非 1.64 GB。稍後,您可以將此虛擬磁碟轉換為適用於 Hyper-V 的動態擴充虛擬磁碟。

使用 WinSCP 客户端复製檔案
WinSCP 是一款免费的应用程式,可透过 SCP、SFTP(SSH 安全外壳檔案传输协定)、FTP 和 WebDAV 协定进行资料传输。在可能的情况下,建议优先使用 SFTP。您可以 從官方網站下載 WinSCP。 执行 WinSCP 并输入 IP 地址、连接埠号和 root 证书,以登录您的 ESXi 服务器。
WinSCP 拥有直观的 GUI,包含两个主要面板,可供您访问檔案和目录。在左侧面板,指向转换前存储 VMDK 檔案的目录;右侧面板则指向ESXi 资料存放区上的虚拟机目录。 在此例中,该目录的路径是 /vmfs/volumes/SSD2/Win-test2 。选择所需的两个虚拟磁碟檔案(. vmdk 和 – flat.vmdk ),并将其复制到您的本地目录中。简单拖放檔案即可。

转换从 ESXi 复制的 VMDK 虚拟磁碟
VMware 虚拟磁碟檔案现已位于具备 Microsoft Virtual Machine Converter 的 Windows 机器上。我们需要将 VMware 转换为 Hyper-V 虚拟磁碟格式。转换 ESXi 虚拟机的虚拟磁碟与转换 VMware Workstation 虚拟机的虚拟磁碟类似。主要区别在于,现在有两个檔案(. vmdk 和 – flat.vmdk )而非单一檔案。
- 打开 PowerShell 并确保已导入适当的转换器模块。如果没有,请输入以下命令:
Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1" - 现在输入以下命令来转换虚拟磁碟。
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:\Virtual\Hyper-V\converted\FromESXi\Win-test2.vmdk" -DestinationLiteralPath "C:\Virtual\Hyper-V\converted\Win-test2PS" -VhdType DynamicHardDisk -VhdFormat Vhd为 – SourceLiteralPath 参数定义 . vmdk 檔案路径(而非 – flat.vmdk 檔案)。

- 转换成功完成后,创建一个新的 Hyper-V 虚拟机,并使用 现有虚拟磁碟 选项附加转换完成后的 VHD 虚拟磁碟(如本文上文所述)。然后,您可以编辑 VM 组态并运行虚拟机。
常見轉換錯誤與解決方案
可能導致轉換過程無法進行的錯誤種類繁多。讓我們來探討可能發生的問題及其解決方法。
條目 1 並非描述符所支援的磁碟資料庫條目
在將虛擬磁碟從 VMDK 格式轉換為 VHD 格式時出現此錯誤,表示 Microsoft Virtual Machine Converter 無法識別某些磁碟資料庫條目。 該條目的編號可能有所不同——例如,您可能會看到 2、3、4 等數字,而非 1。要解決此問題,請編輯虛擬磁碟描述符。

修復 VMware Workstation 格式虛擬磁碟的問題
VMware Workstation 格式的 VMDK 虛擬磁碟具有嵌入式描述符(該描述符與磁碟資料整合於 VMDK 檔案中)。 您需要下載一個免費的工具套件,將虛擬磁碟描述符萃取至 TXT 檔案中。接著,您可以編輯該描述符,並將編輯後的描述符從 TXT 檔案重新匯入至 VMDK 檔案中。此工具套件的名稱為 dsfok tools(DS File Ops Kit)。 您可以從 dsfok 下載此工具套件 這裡。
- 將檔案從壓縮檔中解壓縮,例如解壓縮至
C:\Virtual\_tools\dsfok - 執行 CMD(按下
Win+R,輸入cmd並按下Enter)。 前往包含 dsfok 工具的目錄:cd C:\Virtual\_tools\dsfok - 執行
dsfo.exe並指定以下參數:dsfo.exe "C:\virtual\win7x64\win7x64.vmdk" 512 1024 descriptor-win7x64.txt其中:
512bytes 為偏移量1024bytes 為匯出資料的大小Descriptor-win7x64.txt為描述符匯出目標檔案的名稱
- 此時,描述符已匯出至 descriptor-win7x64.TXT 檔案,該檔案位於包含 dsfok 工具的目錄中。

- 請使用文字編輯器(選擇能正確識別檔案結構的編輯器,例如 Notepad++)編輯描述符的 . txt 檔案( )。找到描述符中包含
ddb.toolsInstallType = "1"的部分,並將第一個”d”字元替換為”#”字元以將該段落註解掉。此操作不會違反描述符的格式規範,最終您將得到#db.toolsInstallType = "1"這樣的字串。 在讀取描述檔的設定時,被註解掉的字串將不會被處理。編輯完成後請儲存檔案。
- 現在您需要將編輯後的描述檔匯入回 VMware Workstation 格式的 VMDK 檔案中。 要執行此操作,請使用以下參數執行
dsfi.exe:dsfi.exe "C:\virtual\win7x64\win7x64.vmdk" 512 1024 descriptor-win7x64.txt
- 現在,您可以透過在 PowerShell 中執行以下命令,將 VMDK 虛擬磁碟轉換為 VHD 格式:
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:\Virtual\win7x64\Win7x64.vmdk" -DestinationLiteralPath "C:\Virtual\Hyper-V\converted\01" -VhdType DynamicHardDisk -VhdFormat Vhd錯誤訊息將不再顯示,且轉換過程隨即開始。

- 一旦虛擬磁碟轉換為 VHD 格式,您即可建立新的 Hyper-V 虛擬機器並掛載該虛擬磁碟(此流程已於本篇部落格文章前文說明過)。 接著,您即可在 Hyper-V 上執行該虛擬機器。然而,可能會發生另一個問題。若您的虛擬機器無法載入,且在黑色背景上看到閃爍的光標,則需修復虛擬磁碟的開機區段。
注意 :本操作指南範例中所示的虛擬磁碟已安裝 Windows 7。對於安裝 Windows 10、Windows Server 2016 等的虛擬機器,您亦可採用相同的處理邏輯。

- 插入您的 Windows 發行版的 ISO 安裝映像檔,並從虛擬 CD/DVD 光碟機啟動。可使用安裝光碟內建的修復工具來修復開機區段,包括主開機記錄 (MBR)。

- 載入 Windows 安裝程式後,請按一下 “修復您的電腦” 。

- 在相應的虛擬磁碟上選取您的作業系統,然後按一下 “下一步” 。

- 開啟命令提示字元並執行以下指令:
bootrec /fixmbrbootrec /fixboot重新啟動虛擬機器並從虛擬硬碟開機。

- 您的虛擬機器現在應該可以成功開機。

修復 VMware ESXi 格式虛擬硬碟的問題
讓我們來探討當您將虛擬機器從 VMware ESXi 匯出至 Hyper-V 時,如何解決類似的問題。以 Linux 虛擬機器為例(虛擬機器名稱是 NAKIVO-clone ),而 Microsoft Virtual Machine Converter 回傳以下錯誤: The entry 4 is not a supported disk database entry for the descriptor。 解決此問題的方法與前一個範例中所述類似——您需要編輯該虛擬機器中每個虛擬磁碟的描述符。

請注意,在 VMware 工作站上運行的虛擬機器的虛擬磁碟具有嵌入式描述符(該描述符整合於 VMDK 檔案中)。相較之下,若虛擬機器運行於 ESXi 主機上,則虛擬磁碟資料與描述符會儲存於兩個不同的檔案中。 在您要轉換的虛擬機器所註冊的 ESXi 主機上啟用 SSH 存取。使用 PuTTY 等 SSH 客戶端登入 ESXi 主控台。
- 前往儲存虛擬機器檔案的位置。在此範例中,虛擬機器檔案位於 ESXi 主機上的
/vmfs/volumes/SSD1/NAKIVO-clone。此處的資料存放區名稱為SSD1。cd /vmfs/volumes/SSD1/NAKIVO-clone - 輸入
ls -al以列出虛擬機器目錄中的檔案。如下圖所示,該虛擬機器有兩個虛擬磁碟。
- 使用 vi(主控台文字編輯器)編輯虛擬磁碟的描述檔:
vi NAKIVO-clone.vmdk - 搜尋以下字串:
ddb.toolsInstallType = "4" - 編輯該字串,將第一個”d”字元替換為”#”字元。 編輯該區段後,內容應顯示為:
#db.toolsInstallType = "4"使用方向鍵移動游標。按下
a將導覽模式切換為編輯模式,以便追加符號。完成修改後,按下Esc退出編輯模式。接著輸入:wq並按下Enter將變更寫入檔案並退出。
- 將描述檔檔案的變更儲存後,檢查虛擬磁碟的一致性:
vmkfstools -e Win7PMM.vmdk
- 以相同方式編輯第二個虛擬磁碟的描述檔。 當所有虛擬機器虛擬磁碟的描述檔皆已編輯完畢後,請再次使用 Microsoft Virtual Machine Converter 啟動虛擬機器轉換。此時即可順利轉換虛擬機器的虛擬磁碟,且不會發生錯誤。

經過多次嘗試後,仍無法從 VMware 收到回應。請參閱內部例外
若在 Microsoft Virtual Machine Converter 的圖形化使用者介面中將 ESXi 主機定義為來源,便可能發生此錯誤。 若您使用 vCenter Server 管理 ESXi 主機(包含當前主機),請在 “來源” 區段中,定義 vCenter Server 的名稱或 IP 位址及其憑證,而非 ESXi 主機的相關資訊。

僅當任務處於完成狀態(RanToCompletion、Faulted 或 Canceled)時,才可進行處置。
使用 Microsoft Virtual Machine Converter 將虛擬機器從 ESXi 轉換為 Hyper-V 格式時,可能會出現此錯誤。 在此情況下,請將虛擬磁碟檔案(. vmdk 以及 – flat.vmdk )複製到已安裝轉換器的電腦上,在 PowerShell 中轉換虛擬磁碟,然後建立一個新的 Hyper-V 虛擬機器,並將這些磁碟掛載到該虛擬機器上。 
將 VMware 虛擬機器 轉換為 Hyper-V 虛擬機器 在 VMM
System Center Virtual Machine Manager (VMM) 是一個包含許多選項的廣泛解決方案,允許您將 VMware 虛擬機器轉換為 Hyper-V 虛擬機器。 VMM 通常用於擁有 Hyper-V 主機和 Windows 伺服器的大型環境中。
需求
- 系統中心虛擬機器管理器2022支援將 VMware 虛擬機器從 vSphere 6.5 及更新版本進行轉換。
- 必須將 ESXi 主機新增至系統中心虛擬機器管理器
- 支援將 EFI 為基礎的 VMware 虛擬機器 轉換為 Generation-2 Hyper-V 虛擬機器
- 無法使用 VMM 轉換 VMware Workstation 虛擬機器
- 連接到虛擬 IDE 控制器的虛擬硬碟無法轉換
- 源虛擬機器必須關閉電源才能開始 VMware 至 HyperV 的轉換過程
- 在將 VMware 虛擬機器轉換到 Hyper-V 格式之前解除安裝 VMware 工具
使用 VMM 向導
執行以下步驟將 VMware 虛擬機器 轉換為 Hyper-V 虛擬機器:
- 瀏覽到 虛擬機器 和 服務 > 首頁 > 建立 > 建立虛擬機器 > 轉換虛擬機器 .
- 在 轉換虛擬機 向導中,您從 選擇來源 步驟開始。單擊 瀏覽 ,並在 選擇虛擬機器來源 部分中,選擇您打算從 ESXi 主機轉換的 VMware 虛擬機器 。在向導的每一步單擊 下一頁 繼續。
- 在 指定虛擬機器標識 中,根據您的需要調整機器名稱和說明。
- 在 虛擬機器組態 中,指定轉換後要建立的 Hyper-V 虛擬機器 的所需處理器數量和記憶體設定。您可以為目的地虛擬機器選擇 Generation1 或 Generation2。
- 在 選擇主機 部分中,指定用於虛擬機器放置的目的地 Hyper-V 主機或 Azure Stack HCI 主機(自 VMM 2019 UR3 及更高版本起適用)。如果您看到訊息 “ 找不到與選定虛擬機器 網路 的可用連接 ”,則應該導航到網路資源,找到邏輯網路部分,並配置網路。在編輯這些設定後,可能需要重新啟動虛擬機器轉換。
- 在 選擇路徑 中配置主機上虛擬機器檔案的存儲位置。 清單中提供了預設的虛擬機器路徑。
- 在 “選取網路” 區段中,請根據需求選取邏輯網路、虛擬網路及 VLAN。
- 在 “新增屬性” 下,請進行必要的設定。您可以選取虛擬機器的”開機/關機”選項,以便在轉換/部署後套用。
- 在 “摘要” 中,請檢視設定,並視需要選擇在部署後啟動虛擬機器。 您可以按一下 檢視腳本 並儲存一個包含 PowerShell 指令的文字檔,以便使用這組指令將更多 VMware 虛擬機器轉換為 Hyper-V 虛擬機器。
- 按一下 建立 以啟動轉換程序。 請透過以下路徑確認虛擬機轉換的進度與完成狀況: 虛擬機與服務 > 首頁 > 顯示 > 虛擬機 。
您可開啟 System Center 工作清單,以檢視使用此 VMM 轉換工具進行 VMware 至 Hyper-V 遷移的進度。 轉換速度取決於虛擬機器大小、網路速度,以及基礎架構中伺服器的 CPU、記憶體和儲存資源。
若要在 PowerShell 中使用 VMM 將 VMware 虛擬機器轉換為 Hyper-V,您可以使用以下 cmdlet:
New-SCV2V -VMHost <Host> -VMXPath <string> [options]
順利遷移的最佳實踐
您可以遵循以下最佳實踐,以確保虛擬機器從 VMware 成功遷移至 Hyper-V:
- 進行遷移前規劃。 釐清虛擬機器遷移的目標。確認虛擬機器上的來賓作業系統是否與 Hyper-V 相容。確保 Hyper-V 環境具備充足的資源(CPU、記憶體、儲存空間)。
- 若虛擬機器改在 Hyper-V 環境而非 VMware 環境中運行,請計算虛擬基礎架構的營運成本。
- 若要遷移多台虛擬機器,請評估虛擬機器的依賴關係。識別並記錄依賴關係,例如網路、儲存及應用程式設定。 在虛擬機器遷移後,您可能需要保留這些依賴關係。請檢查與 Active Directory 或資料庫等服務的整合狀況。
- 備份現有虛擬機器(來源虛擬機器)。若發生問題,您可以從備份中還原虛擬機器。
- 謹慎排定虛擬機器遷移時程,以將停機時間降至最低。
- 選擇最佳工具來執行 VMware 虛擬機器遷移至 Hyper-V 的作業。
- 從非關鍵型及小型虛擬機器開始進行遷移。 此方法可讓您檢視遷移流程的運作狀況,並在必要時進行調整。
- 請依序(分批)遷移虛擬機器,而非一次性遷移所有虛擬機器。如此一來,您可將對效能的負面影響降至最低,並更能掌控遷移流程。
遷移後步驟
部分已遷移的 Hyper-V 虛擬機器的設定,可在虛擬機器轉換與遷移過程中進行配置。然而,視所使用的轉換器應用程式而定,您可能需要在遷移後對虛擬機器進行設定。 自動化轉換工具支援更多設定選項,而手動轉換則需要更多遷移後的步驟。建議您執行以下遷移後操作,以確保遷移後的虛擬機器能正常運作,並能在新環境中持續以預期功能性使用它們。
在 Hyper-V 上驗證虛擬機功能性
確保遷移後的虛擬機在 Hyper-V 環境中能如預期般運作。這是首要任務。
- 在 Hyper-V 上啟動每台遷移後的虛擬機,並確認其能無錯誤地開機。
- 檢查是否存在驅動程式缺失、網路設定錯誤或服務失敗等問題。
- 驗證應用程式與服務的功能性。確認虛擬機內的所有關鍵應用程式、服務和資料庫均能正常運作。
- 測試虛擬機器與其他依賴系統或網路之間的連線狀況。
- 確認 CPU、記憶體和儲存設定是否適合虛擬機器的作業負載,並符合遷移前的效能基準。
- 監控目標 Hyper-V 主機上的效能。使用 Hyper-V 效能監控器或其他工具來觀察 CPU、記憶體、磁碟 I/O 及網路使用狀況。
- 若發現任何效能瓶頸或異常,請加以解決。
優化已轉換虛擬機的設定
優化 Hyper-V 主機上已轉換虛擬機的設定,以確保虛擬機效能達到最佳狀態。
- 若已遷移的虛擬機尚未安裝 Hyper-V 整合服務,請進行安裝。
- 若適用,請啟用”動態記憶體”功能,以更有效率地利用 Hyper-V 主機資源。
- 檢查網路設定。確保虛擬機已連接到正確的 Hyper-V 虛擬交換機。 更新 IP 設定(例如靜態 IP 或 DNS 設定),使其符合新網路環境。
- 若在虛擬機器遷移前尚未解除安裝 VMware Tools,請將其解除安裝。
為新的 Hyper-V 虛擬機器建立備份
當 VMware 至 Hyper-V 的遷移成功完成,且遷移後的虛擬機器運作正常後,請備份位於 Hyper-V 主機上的遷移虛擬機器。 您可從備份中還原這些 Hyper-V 虛擬機器,以避免在發生中斷時造成資料遺失與系統停機。請設定備份排程與保留期間,制定災難還原計畫,並測試虛擬機器的還原流程。 使用 NAKIVO Backup & Replication 備份 VMware 虛擬機器、Hyper-V 虛擬機器以及其他受支援的平台(例如 Proxmox VE 虛擬機器)。
結論
Microsoft Virtual Machine Converter (MVMC) 是您可用來將 VMware 虛擬機器轉換為 Hyper-V 格式的最經濟實惠的工具之一。它包含圖形化使用者介面 (GUI) 工具以及適用於 PowerShell 的命令列工具。透過 MVMC GUI,您可以轉換在 ESXi 主機上運行的整個虛擬機器。 透過 PowerShell 指令函式,您可以轉換 ESXi 格式和 Workstation 格式的個別 VMware 虛擬磁碟。
無論您使用哪種虛擬化平台,都必須備份虛擬機器,以防止資料遺失和系統停機。NAKIVO Backup & Replication 不僅能備份和複製 VMware 虛擬機器與 Hyper-V 虛擬機器,還能透過進階的 跨平台還原 特點,協助您在 Hyper-V 上執行從 VMware 備份還原的虛擬機器,反之亦然。