如何從 VMware 遷移至 Hyper-V

您可能基於各種原因,需要將 VMware 虛擬機器轉換為 Hyper-V 虛擬機器。 例如,您可能處於多虛擬化平台環境中,可能需要進行 VMware 至 Hyper-V 的遷移以進行測試,或是希望針對特定軟體採用更合理的授權模式等。然而,儘管這兩大虛擬化平台存在某些相似之處,但仍存在關鍵差異。

了解 VMware 至 Hyper-V 虛擬機的轉換流程,對於順利且成功的遷移至關重要。這篇部落格文章將說明一些最經濟實惠的方法與工具,用以將 VMware 虛擬機轉換為 Hyper-V 虛擬機。

NAKIVO Hyper-V 備份解決方案

NAKIVO Hyper-V 備份解決方案

適用於 Hyper-V 的無代理程式、應用程式感知的備份解決方案。具備防勒索軟體防護功能、可從備份立即啟動虛擬機器,並支援其他虛擬/實體平台等更多功能。

轉換工具與方法概覽

以下是微軟提供的將 VMware 虛擬機器轉換為 Hyper-V 最常用的方法:

  • Using Microsoft Virtual Machine Converter (MVMC). MVMC 是一款具備圖形使用者介面 (GUI) 的免費獨立工具,可轉換虛擬機器(以及 將實體機器轉換為虛擬機器.) 您可以利用此工具將虛擬機器移轉至 Microsoft Hyper-V 或 Azure,並將 VMware ESXi 虛擬機器轉換為 Hyper-V 格式的虛擬機器。
  • Converting VMDK to VHD and attaching a converted virtual disk to a new Hyper-V VM with PowerShell. 當您擁有虛擬磁碟檔案,但尚未取得所有虛擬機器檔案(例如 VMX 設定檔)時,即可使用此方法。此方法可讓您轉換 VMware 工作站虛擬機器及 VMware ESXi 虛擬機器。
  • Converting VMs using System Center Virtual Machine Manager (VMM). VMM 是一款商用軟體解決方案,可對 Hyper-V 和 VMware 環境進行集中管理,包括虛擬機器、主機和叢集的管理,並提供虛擬機器轉換特點。

為 VMware 至 Hyper-V 遷移準備虛擬機器

在將 VMware 虛擬機器轉換為 Hyper-V 之前,您應執行以下步驟,以避免發生錯誤並簡化遷移流程:

  • Remove unnecessary virtual devices and eject the virtual CD. 諸如以下裝置: 虛擬軟碟機 此外,可移除 COM 或 LPT 控制器以提升相容性並避免可能的干擾。若您正在建立第一代 Hyper-V 虛擬機器,日後可再新增這些裝置。

    註: MVMC 3 不支援 Hyper-V 第 2 代虛擬機器。

  • Clean up the virtual hard disks. 刪除佔用虛擬機器虛擬磁碟空間的暫存檔及其他不必要的檔案。移除未使用的程式和元件。若目標虛擬磁碟採用動態擴充(薄配置)模式,此方法可為您儲存磁碟空間與時間。
  • Remove/consolidate all VM snapshots. 如果您的虛擬機器中沒有快照,即可降低虛擬機器轉換過程中的錯誤發生機率。
  • Uninstall VMware Tools before online conversion (online only). 這提供了一種簡潔的方式,可將基於 VMware 的虛擬機器遷移至 Hyper-V。在 Hyper-V 虛擬機器中,無需安裝 VMware Tools 套件。Hyper-V 提供了"整合服務"工具套件,其設計旨在提升虛擬機器中客體作業系統的效能。

VMware 遷移至 Hyper-V 的其他考量事項

Microsoft Virtual Machine Converter (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 套件。

要開始轉換程序:

  1. 下載 MVMC 使用可執行安裝程式。微星 檔案。獨立版 MVMC 的最新版本為 3.1。您也可以下載 .doc 檔案 並附有 Windows PowerShell 指令碼的說明。

    : 若要取得 Microsoft Virtual Machine Converter 的新版本,您可以將此工具作為 Microsoft System Center Virtual Machine Manager (VMM) 因為微軟已停止發布獨立版 MVMC 的新版本,並終止了官方支援。

  2. 安裝過程非常簡單:執行安裝程式、接受授權協議、選擇安裝目錄,然後點擊 Install 在設定精靈中。請確保有足夠的磁碟空間,包括虛擬機器轉換過程中所建立的暫存檔所需的空間。
  3. 安裝程序完成後,請執行轉換器。點擊 Start > Microsoft Virtual Machine Converter 執行轉換器。
  4. Before You Begin 螢幕上,您可以閱讀簡短說明。選取 Do not show this page again 若不想在每次執行轉換器時都看到此畫面,請勾選此方塊。點擊 Next 繼續。
  5. Machine Type. 選擇要轉換的來源機器類型。在此情況下,請選擇 Virtual machine conversion. 點擊 Next.

    Starting Microsoft Virtual Machine Converter

  6. 請選擇一個 migration destination. 目前有兩種選項可供選擇:遷移至 Microsoft Azure 雲,以及遷移至 Hyper-V。這篇部落格文章將探討如何將 VMware 虛擬機器轉換為 Hyper-V 虛擬機器,因此 Migrate to Hyper-V 在此情況下應選取此選項。請按一下 Next.

    Migrate VMware to Hyper-V with MVMC

  7. Select a destination Hyper-V host. 在此範例中,Hyper-V 伺服器正在本地主機上執行(轉換器與 已安裝 Hyper-V 伺服器 (在同一台機器上)。Microsoft Virtual Machine Converter 亦可透過網路,將轉換後的虛擬機器儲存至異地目標主機。

    如果轉換器和 Hyper-V 主機運行在不同的電腦上,請確保您的防火牆已進行相應設定。透過 Windows 管理儀表板 必須在目標電腦上啟用此功能,並啟動相應的服務。

    選擇目標主機的名稱或 IP 位址,並輸入具備足夠存取權限以連線至 Hyper-V 主機的使用者憑證(目標 Hyper-V 主機的本地系統管理員及網域管理員皆具備此類存取權限)。接著按一下 Next 繼續。

    MVMC– selecting a destination Hyper-V host

  8. Set the disk options. 指定用於儲存轉換後虛擬硬碟的網路路徑。在本操作指南中,虛擬機器將被轉換並傳輸至與執行轉換器之同一台機器上所安裝的 Hyper-V 伺服器。因此,將套用以下網路路徑:

    localhostc$VirtualHyper-Vconverted

    建議您在生產環境中,避免將系統磁碟(通常為 C:)用來儲存虛擬機器。例如,如果您的 Hyper-V 主機是一台遠端電腦,您選擇的路徑可能會如下所示:

    10.10.10.12d$VirtualHyper-V

    請選擇轉換後要使用的虛擬磁碟類型。虛擬磁碟有兩種類型:一種是 固定長度磁碟 (相當於厚配置磁碟)或動態擴充磁碟(相當於薄配置磁碟)。在本操作指南中,為節省儲存空間,選擇使用動態擴充磁碟。

    選擇虛擬硬碟的格式:.vhdx 是一種較新且更先進的檔案格式,同時被 Hyper-V Gen1 和 Gen2 虛擬機器. 為了本操作指南的需要,我們選擇了 .vhdx.

    點擊 Next 繼續。

    MVMC – selecting a virtual disk format

  9. Specify the source details 用於連接至一個 vCenter 伺服器或 ESXi 伺服器. 在此範例中,將轉換一台在 ESXi 伺服器上執行的虛擬機器。因此,應在此步驟輸入 ESXi 伺服器的 IP 位址、使用者名稱及密碼。您可以使用 管理員憑證 若使用 vCenter 進行 ESXi 主機的集中式管理,請點選 Next 繼續。

    MVMC – connecting to the source ESXi server

  10. 現在, select the virtual machine 以將您所選的 ESXi 伺服器進行轉換。在此範例中,將轉換一台在 ESXi 主機上運行的輕量級 Windows 虛擬機器。選取虛擬機器後,請按一下 Next.

    MVMC– selecting a VM

  11. Virtual machine connection. 若 Linux 虛擬機器已安裝 VMware Tools,您必須提供來源虛擬機器上 root 帳戶的使用者名稱和密碼,以便轉換工具能移除 VMware Tools。在此範例中,使用的是未安裝 VMware Tools 的 Windows 機器,因此這些欄位處於停用狀態。請定義來源機器的最終狀態以及目標機器的最終狀態(關閉). 點擊 Next.

    Selecting the final state of the VM we want for VM migration

  12. Define the workspace. 工作區是一個暫存資料夾,用於在轉換過程中儲存暫存檔案。為獲得更好的效能,此資料夾的位置應位於安裝 Microsoft Virtual Machine Converter 的電腦上。請輸入路徑或按一下 Browse 按鈕並選擇適當的資料夾。然後點擊 Next.

    Selecting a folder for temporary files used to convert VMs

  13. Check the summary. 請檢視您所指定的設定詳細資訊。如果警告並非關鍵性問題,您可以繼續進行——這些警告不會阻礙轉換程序。在我們的情況下,我們忽略了作業系統的警告,因為轉換器在 Windows 10 上運作正常, Windows Server 20162019 年及更新的 Windows 版本。我們稍後可以調整記憶體設定。點擊 Finish 以開始虛擬機器的轉換程序。

    Checking the configuration summary before starting migration

  14. 請等待虛擬機器轉換完成。此過程所需的時間長短,取決於來源虛擬機器的虛擬磁碟大小以及網路速度。若轉換成功,請按一下 Close 以退出虛擬機器轉換器。

    MVMC migration process completion

  15. 現在您可以編輯已轉換虛擬機器的設定,該虛擬機器的資訊會顯示在 Hyper-V 管理員. 右鍵點擊虛擬機器,然後選擇 Settings 從快顯功能表中。虛擬機器儲存於您先前指定的目錄中。移除網路介面卡,並新增一個傳統 網路介面卡 對於較舊的客體作業系統,請啟用網路功能。接著選擇適當的 虛擬交換器 或建立一個新的虛擬機器網路連接。

    Editing Hyper-V network settings for the VM

  16. 設定完虛擬機器設定後,請啟動虛擬機器並設定客體作業系統。請等待作業系統識別出新的虛擬裝置。請務必安裝 Hyper-V 整合服務,以獲得更佳的效能與使用者體驗。若要手動安裝整合服務,請插入 vmguest.iso 將映像檔載入虛擬機器的虛擬 DVD 光碟機,並執行安裝程式。安裝完成後,重新啟動虛擬機器並彈出虛擬 ISO 光碟。

    Installing Integration Services after finishing VM migration

使用 PowerShell 將 VMDK 轉換為 VHD

現在讓我們探討虛擬機器轉換的另一種使用情境。如果您僅擁有 VMware 虛擬機器的虛擬磁碟,或是您擁有的虛擬機器是針對 VMware Workstation(而非 ESXi)所設計的,則無法使用 Microsoft Virtual Machine Converter 的圖形化使用者介面。

當您安裝 MVMC 時,某些 實用的 PowerShell 指令碼 亦提供相關說明。在以下範例中,您可以了解如何使用命令列介面 (CLI) 將 VMDK 虛擬磁碟轉換為 Hyper-V 格式磁碟,以及如何在 Hyper-V 上使用該虛擬磁碟執行虛擬機器。

轉換基於 VMware 工作站的虛擬磁碟

  1. 將轉換器模組新增至當前的 PowerShell 工作階段。此模組位於 Microsoft Virtual Machine Converter 的安裝目錄中。在本範例中,轉換器使用預設位置。請在 PowerShell 中輸入以下命令:

    Import-Module "C:Program FilesMicrosoft Virtual Machine ConverterMvmcCmdlet.psd1"

    如果您的轉換器安裝在其他目錄中,請輸入該目錄的路徑,而非 C:Program FilesMicrosoft Virtual Machine Converter

    Importing a PowerShell module for VMware to Hyper-V migration

  2. 前往您的虛擬機器目錄,並列出該目錄中的檔案。(我們要從 VMware 遷移至 Hyper-V 的虛擬機器名為 StorageLinux。)在此範例中,該虛擬機器的位置為 C:virtualStorageLinux

    cd C:virtualStorageLinux

    dir

    您可以在這裡查看虛擬機器檔案。請記下 VMDK 檔案的名稱,因為後續操作會用到它。在此範例中,使用的是具備一個虛擬磁碟的 Linux 虛擬機器。重要的是,該虛擬機器沒有 快照 且尚未安裝 VMware Tools(請參閱下方的螢幕截圖)。

    Viewing VMware VM files

  3. 現在是時候將 VMware 轉換為 Hyper-V 虛擬磁碟格式了。請在 PowerShell 中執行轉換工具,並使用以下命令和參數:

    ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:VirtualStorageLinuxStorageLinux 3.x kernel 64-bit.vmdk" -DestinationLiteralPath "C:VirtualHyper-Vconverted 1" -VhdType DynamicHardDisk -VhdFormat Vhd

    地點:

    -SourceLiteralPath 是應進行轉換的 VMware 虛擬磁碟的路徑。

    -DestinationLiteralPath 此路徑指向應儲存 Hyper-V 格式虛擬磁碟的目錄。

    -VhdType 定義虛擬磁碟的類型——動態擴展或固定大小。

    -VhdFormat 定義 Hyper-V 虛擬磁碟 (VHD 或 VHDX) 的格式。

    請等待轉換程序完成。進度條會顯示當前狀態。

    How to convert VMware to Hyper-V format of virtual disks in PowerShell

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

    How to convert VMware Workstation to Hyper-V format of a virtual disk

  5. 建立一台新的虛擬機器,並使用轉換後產生的 VHD 磁碟。關於這部分,請參閱說明相關內容的部落格文章 如何在 Hyper-V 中建立新的虛擬機器. 關鍵在於連接虛擬磁碟。在適當的階段, "新增虛擬機器精靈", 選擇 Use an existing virtual hard disk 並指定您新建立的 VHD 檔案的位置。

    Attaching a converted virtual disk to a Hyper-V VM

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

    Running a VM after finishing the VM conversion

您也可以使用此方法轉換具有多個虛擬磁碟的虛擬機器。在此情況下,轉換完成後必須將每個虛擬磁碟掛載至虛擬機器。

轉換 VMware ESXi 格式的虛擬磁碟

首先,您需要將虛擬磁碟檔案從 ESXi 主機的資料存放區複製到已安裝 Microsoft Virtual Machine Converter 的電腦上。在此情況下,一個 VMware 虛擬磁碟由兩個檔案組成: diskname.vmdk 以及 diskname-flat.vmdk. A .vmdk 檔案是一個描述符,其中包含虛擬磁碟配置的相關資訊,並指向一個 -flat.vmdk 檔案。該 虛擬磁碟資料 其本身儲存於 -flat.vmdk 檔案(以原始格式儲存,類似實體硬碟)。.vmdk 該檔案只有幾千位元組,而 -flat.vmdk 檔案的體積大得多。您可以使用 VMware vSphere 客戶端或任何 SCP(安全複製協定)客戶端,從 ESXi 主機複製 VMware 虛擬磁碟檔案。

使用 VMware vSphere Client 複製檔案

如果您是透過 vCenter Server 管理 ESXi 主機,則可以使用此方法。

  1. 使用 VMware vSphere Client 登入您的 vCenter – 在網頁瀏覽器的網址列中輸入您的 vCenter Server IP 位址。
  2. 前往 Storage 在"標籤"中,選取存放虛擬機器檔案的資料存放區,選取虛擬機器的目錄,然後選取要轉換的虛擬磁碟。
  3. 選取磁碟後,請按一下 Download 並以 . 為副檔名儲存 ZIP 壓縮檔。vmdk 以及 -flat.vmdk 將檔案傳輸至已安裝 MVMC 的機器。請注意虛擬磁碟檔案的大小。本範例中使用的虛擬機器(Win-test2(該虛擬機器先前已透過 MVMC 介面進行轉換)擁有一個 8 GB 的精簡配置虛擬磁碟,目前在 VMFS 資料存放區。您可進一步了解 厚配置與薄配置 在另一篇部落格文章中。

    : 您在 VMware vSphere 客戶端和 VMware Host 客戶端的網頁介面中,只能看到一個 VMDK 檔案。請勿驚慌——實際上共有兩個檔案 (.vmdk 以及 –flat.vmdk) 位於資料存放區上。您可以透過 SSH 客戶端登入 ESXi 主機,並列出資料存放區中虛擬機器目錄內的檔案,即可在資料存放區上查看這兩份檔案。

    Selecting a VMDK file in vSphere

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

    Copying VMDK files from the datastore

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

    ESXi files are copied

使用 WinSCP 客戶端複製檔案

WinSCP 是一款免費應用程式,支援透過 SCP、SFTP(SSH 安全外殼檔案傳輸協定)、FTP 及 WebDAV 協定進行資料傳輸。若情況允許,建議優先使用 SFTP。您可以 從官方網站下載 WinSCP.

執行 WinSCP,並輸入 IP 位址、連接埠號碼及 root 帳戶憑證,以登入您的 ESXi 伺服器。

Connecting to the ESXi datastore with WinSCP

WinSCP 具備直觀的圖形使用者介面,包含兩個主要面板,讓您能夠存取檔案和目錄。在左側面板中,請導航至轉換前存放 VMDK 檔案的目錄。在右側面板中,請前往 ESXi 資料存放區上的 VM 目錄。

在此範例中,該目錄的路徑為 /vmfs/volumes/SSD2/Win-test2. 選取所需的兩個虛擬磁碟檔案 (.vmdk 以及 –flat.vmdk) 並將它們複製到您的本機目錄中。只需將檔案拖放即可。

Copy VMDK files before you can convert ESXi to Hyper-V virtual disk format

轉換從 ESXi 複製而來的 VMDK 虛擬磁碟

從 ESXi 複製而來的 VMware 虛擬磁碟檔案,現已透過 Microsoft Virtual Machine Converter 存放在 Windows 電腦上。我們需要將 VMware 轉換為 Hyper-V 虛擬磁碟格式。轉換 ESXi 虛擬機的虛擬磁碟,與轉換 VMware Workstation 虛擬機的虛擬磁碟類似。主要差異在於,現在您有兩個檔案 (.vmdk 以及 –flat.vmdk) 而不是單一檔案。

  1. 開啟 PowerShell,並確認已匯入適當的轉換器模組。若尚未匯入,請輸入以下指令:

    Import-Module "C:Program FilesMicrosoft Virtual Machine ConverterMvmcCmdlet.psd1"

  2. 現在請輸入以下指令來轉換虛擬磁碟。

    ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:VirtualHyper-VconvertedFromESXiWin-test2.vmdk" -DestinationLiteralPath "C:VirtualHyper-VconvertedWin-test2PS" -VhdType DynamicHardDisk -VhdFormat Vhd

    請指定至 . 的路徑。vmdk 檔案(而非 –flat.vmdk 檔案) 針對 –原始路徑 論點。

    Converting VMDK from ESXi to VHD for migration

  3. 當轉換程序成功完成後,請建立一個新的 Hyper-V 虛擬機器,並使用 existing virtual disk (如本文前述)可選擇掛載轉換完成後的 VHD 虛擬磁碟。接著,您可以編輯虛擬機器設定並執行該虛擬機器。

常見轉換錯誤及解決方法

可能導致轉換流程無法運作的錯誤種類繁多。讓我們來探討可能出現哪些問題,以及如何解決這些問題。

項目 1 並非該描述符所支援的磁碟資料庫項目

在將虛擬磁碟從 VMDK 格式轉換為 VHD 格式時出現此錯誤,表示 Microsoft Virtual Machine Converter 無法識別某些磁碟資料庫條目。條目的編號可能不盡相同——例如,您可能會看到 2、3、4 等數字,而非 1。要解決此問題,請編輯虛擬磁碟描述檔。

The entry 1 is not a supported disk database entry for the descriptor

解決 VMware 工作站格式虛擬磁碟的問題

VMware 工作站格式的 VMDK 虛擬磁碟內含一個嵌入式描述檔(該描述檔與磁碟資料一併整合於 VMDK 檔案中)。您需要下載一套免費的工具套件,將虛擬磁碟描述檔擷取至 TXT 檔案中。接著,您可以編輯該描述檔,並將編輯後的描述檔從 TXT 檔案重新匯入至 VMDK 檔案中。該工具套件的名稱為 dsfok 工具(DS File Ops Kit)。您可以下載 dsfok 套件 這裡.

  1. 請將檔案從壓縮檔中解壓縮,例如解壓縮至 C:Virtual_toolsdsfok
  2. 執行 CMD(按下 Win+R, 輸入 cmd 然後按下 Enter). 前往該目錄 dsfok 工具:

    cd C:Virtual_toolsdsfok

  3. 執行 dsfo.exe 參數如下:

    dsfo.exe “C:virtualwin7x64win7x64.vmdk” 512 1024 descriptor-win7x64.txt

    其中:

    512 bytes 是指偏移量

    1024 bytes 代表匯出資料的大小

    Descriptor-win7x64.txt 是描述符所匯出的檔案名稱

    How to fix the VM disk descriptor issue – extracting the descriptor

  4. 描述符現已提取至 descriptor-win7x64.TXT 將檔案放在該目錄中,並附上 dsfok 工具。

    The VMDK virtual disk descriptor has been extracted

  5. 編輯 .txt 使用文字編輯器開啟描述檔檔案(請選擇能正確識別檔案結構的編輯器,例如 Notepad++)。在描述檔中找到包含 ddb.toolsInstallType = "1" 並將該段代碼註解掉,方法是將第一個"d"字元替換為"#"字元。在此情況下,描述符的格式並未被破壞,而您已 #db.toolsInstallType = "1" 最終會產生一個字串。讀取描述符的設定時,註解掉的字串將不會被處理。編輯完成後請儲存檔案。

    Editing a virtual disk descriptor

  6. 現在您需要將編輯過的描述檔匯入回 VMware 工作站格式的 VMDK 檔案中。要執行此操作,請執行 dsfi.exe 參數如下:

    dsfi.exe "C:virtualwin7x64win7x64.vmdk" 512 1024 descriptor-win7x64.txt

    Importing the edited virtual disk descriptor to the VMDK file

  7. 現在,您可以透過在 PowerShell 中執行以下指令,將 VMDK 虛擬磁碟轉換為 VHD 格式:

    ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:Virtualwin7x64Win7x64.vmdk" -DestinationLiteralPath "C:VirtualHyper-Vconverted 1" -VhdType DynamicHardDisk -VhdFormat Vhd

    錯誤訊息已不再顯示,轉換程序隨即開始。

    Converting VMDK to VHD after fixing a virtual disk descriptor

  8. 一旦虛擬磁碟轉換為 VHD 格式, 您可以建立一個新的 Hyper-V 虛擬機器並掛載虛擬磁碟(此流程已在本篇部落格文章的前面部分說明過)。接著,您便可在 Hyper-V 上執行該虛擬機器。然而,此時可能會發生另一個問題。如果您的虛擬機器無法載入,且畫面顯示為黑色背景上的閃爍游標,您就需要修復虛擬磁碟的開機區段。

    :本操作指南範例中所示的虛擬磁碟已安裝 Windows 7。您可運用相同的操作邏輯來處理安裝了 Windows 10、Windows Server 2016 等作業系統的虛擬機器。

    The black screen issue for a VM after VMware to Hyper-V migration

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

    Selecting a Windows installation ISO image file in Hyper-V VM settings

  10. Windows 安裝程式載入完成後,請按一下 Repair your computer.

    Opening the Windows repair tool from the Windows installation disc

  11. 請在相應的虛擬磁碟上選擇您的作業系統,然後點擊 Next.

    Selecting a partition which boot record area to repair

  12. 開啟命令提示字元,並執行以下指令:

    bootrec /fixmbr

    bootrec /fixboot

    重新啟動虛擬機器,並從虛擬硬碟開機。

    Fixing MBR on the converted VM and restarting the VM

  13. 您的虛擬機器現在應該可以順利開機了。

    The VM now boots correctly

解決 VMware ESXi 格式虛擬磁碟的問題

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

The entry 4 is not a supported disk database entry for the descriptor

請注意,在 VMware 工作站上執行的虛擬機器(VM)之虛擬磁碟內含嵌入式描述檔(該描述檔已整合至 VMDK 檔案中)。相較之下,若虛擬機器在 ESXi 主機上執行,則虛擬磁碟資料與描述檔會分別儲存於兩個不同的檔案中。請在您欲轉換之虛擬機器所註冊的 ESXi 主機上啟用 SSH 存取權限。 使用 PuTTY 等 SSH 客戶端登入 ESXi 主機控制台。

  1. 前往存放虛擬機器檔案的位置。在此範例中,虛擬機器檔案的位置位於 /vmfs/volumes/SSD1/NAKIVO-clone 在 ESXi 主機上。資料存放區的名稱為 SSD1 在此情況下。

    cd /vmfs/volumes/SSD1/NAKIVO-clone

  2. 類型 ls -al 以列出 VM 目錄中的檔案。如下方截圖所示,該 VM 擁有兩個虛擬磁碟。

    VMware ESXi VM files

  3. 使用 vi(控制台文字編輯器)編輯虛擬磁碟的描述檔:

    vi NAKIVO-clone.vmdk

  4. 請找出以下字串:

    ddb.toolsInstallType = "4"

  5. 請編輯該字串,將第一個"d"字元替換為"#"字元。編輯完該段落後,內容應顯示為: #db.toolsInstallType = "4"

    使用箭頭鍵移動游標。按下 a 以切換至編輯模式,以便追加符號。完成修改後,請按下 Esc 以退出版本編輯模式。接著輸入 :wq 然後按下 Enter 將變更寫入檔案並退出。

    Editing a virtual disk descriptor for an ESXi VM

  6. 將變更儲存至描述檔後,請檢查虛擬磁碟的一致性:

    vmkfstools -e Win7PMM.vmdk

    Checking the virtual disk consistency after editing the descriptor

  7. 請以相同方式編輯第二個虛擬磁碟的描述檔。當所有虛擬機器虛擬磁碟的描述檔皆已編輯完畢後,請再次使用 Microsoft Virtual Machine Converter 啟動虛擬機器轉換程序。此時,您的虛擬機器虛擬磁碟即可順利轉換,且不會發生錯誤。

    The virtual disk descriptor error is fixed to convert VMware VM to Hyper-V

經過多次嘗試後,仍無法從 VMware 取得回應。請參閱內部例外狀況

若在 Microsoft Virtual Machine Converter 的圖形化使用者介面中將 ESXi 主機定義為來源,可能會發生此錯誤。若您使用 vCenter Server 管理 ESXi 主機(包括當前主機),請在 來源 章節。

Receiving response from VMware failed after multiple attempts. See inner exception

只有當任務處於完成狀態(RanToCompletion、Faulted 或 Canceled)時,才可對其進行處置

當您使用 Microsoft Virtual Machine Converter 將虛擬機器從 ESXi 格式轉換為 Hyper-V 格式時,可能會遇到此錯誤。此時,請複製虛擬磁碟檔案 (.vmdk 以及 –flat.vmdk) 連接到已安裝轉換器的機器,在 PowerShell 中轉換虛擬磁碟,然後建立一個新的 Hyper-V 虛擬機器,並將磁碟掛載到該虛擬機器上。

A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled)

在 VMM 中將 VMware 虛擬機器轉換為 Hyper-V

System Center Virtual Machine Manager (VMM) 這是一款功能強大且選項豐富的解決方案,可讓您將 VMware 虛擬機器轉換為 Hyper-V 虛擬機器。VMM 通常用於配備 Hyper-V 主機和 Windows 伺服器的大型環境中。

需求

  • System Center Virtual Machine Manager 2022 支援將 vSphere 6.5 及更新版本的 VMware 虛擬機器進行轉換。
  • 必須將 ESXi 主機新增至 System Center Virtual Machine Manager
  • 支援將基於 EFI 的 VMware 虛擬機器轉換為第 2 代 Hyper-V 虛擬機器
  • 無法使用 VMM 轉換 VMware 工作站虛擬機器
  • 連接到虛擬 IDE 控制器上的虛擬硬碟無法轉換
  • 必須先關閉來源虛擬機器,才能開始 VMware 轉 Hyper-V 的轉換程序
  • 在將 VMware 虛擬機器轉換為 Hyper-V 格式之前,請先解除安裝 VMware Tools

使用 VMM 中的精靈

請依照以下步驟,將 VMware 虛擬機器轉換為 Hyper-V 虛擬機器:

  1. 導航至 VMs and Services > Home > Create > Create Virtual Machines > Convert Virtual Machine.
  2. 轉換虛擬機器 巫師,你從 Select Source 步驟。點擊 Browse 並在 選擇虛擬機器來源 在該區段中,選擇 VMware VMs 您打算從 ESXi 主機進行轉換。請按一下 Next 在精靈的每個步驟中,請點擊"繼續"。
  3. Specify Virtual Machine Identity,請根據您的需求調整機器名稱和描述。
  4. Virtual Machine Configuration,請為轉換後將建立的 Hyper-V 虛擬機器指定所需的處理器數量及記憶體設定。您可以為目標虛擬機器選擇 Generation1 或 Generation2。
  5. Select Host 在該區段中,指定用於虛擬機器配置的目標 Hyper-V 主機或 Azure Stack HCI 主機(適用於 VMM 2019 UR3 及後續版本)。若您看到訊息"找不到與所選虛擬機器網路的可用連線”,請前往"Fabric 資源",找到"邏輯網路"位置,並進行網路設定。編輯完這些設定後,您可能需要重新啟動虛擬機器轉換程序。
  6. 在主機上設定虛擬機器檔案的儲存位置,位於 Select Path. 清單中提供了預設的 VM 路徑。
  7. Select Networks 在該區段中,請根據需要選取邏輯網路、虛擬網路及 VLAN。
  8. 在……之下 Add Properties,請設定必要的設定。您可以為虛擬機器選取"開機/關機"選項,這些設定將在轉換/部署完成後生效。
  9. Summary,檢視設定,並在需求時選擇於部署完成後啟動虛擬機器。您可以點擊 View script 並將包含 PowerShell 指令的文字檔儲存下來,以便使用這組指令將更多 VMware 虛擬機器轉換為 Hyper-V 虛擬機器。
  10. 點擊 Create 以啟動轉換程序。請造訪以下位置,確認虛擬機器的轉換進度與完成狀況 VMs and Services > Home > Show > VMs.

您可以開啟 System Center 工作清單,以檢視使用此 VMM 轉換工具進行 VMware 至 Hyper-V 遷移的進度。轉換速度取決於基礎架構中伺服器的虛擬機器大小、網路速度、CPU、記憶體及儲存資源。

若要在 PowerShell 中使用 VMM 將 VMware 虛擬機器轉換為 Hyper-V,您可以使用以下 cmdlet:

New-SCV2V -VMHost -VMXPath [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 cmdlets 則可讓您轉換個別的 ESXi 格式與工作站格式的 VMware 虛擬磁碟。

無論您使用哪種虛擬化平台,都必須備份虛擬機器,以防止資料遺失和系統停機。 NAKIVO Backup & Replication 可備份並複製 VMware 虛擬機器與 Hyper-V 虛擬機器,並透過進階功能協助您在 Hyper-V 上執行從 VMware 備份還原的虛擬機器,反之亦然 跨平台還原 特點.

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面體驗本解決方案的所有資料保護特點。15 天免費試用。無功能或容量限制。無需提供信用卡資訊。

People also read