使用虛擬機器範本複製 Hyper-V 虛擬機器
硬體虛擬化的主要優勢之一在於可擴展性。除了部署更多虛擬機器外,您還能輕鬆為虛擬機器新增虛擬磁碟、擴充這些虛擬磁碟的容量、擴充硬體儲存空間,並增加 CPU 效能與記憶體。您可以將虛擬機器檔案從一個 Hyper-V 主機複製到另一個,甚至在同一台 Hyper-V 主機上複製虛擬機器檔案,以建立更多相同的虛擬機器。
此方法的主要缺點在於必須手動變更主機名稱、IP 位址(若使用靜態 IP 位址)以及 SID(安全性識別碼)。透過使用虛擬機器範本,您可以避免這些問題,並快速且方便地建立新的虛擬機器。這篇部落格文章詳細說明了 Hyper-V 虛擬機器範本,並逐步探討如何克隆 Hyper-V 虛擬機器。
了解虛擬機器複製與虛擬機器範本
當您需要在 Hyper-V 虛擬環境中部署大量虛擬機器 (VM) 時,相較於逐一部署每台虛擬機器並手動設定每個客體作業系統 (OS),虛擬機器克隆通常會更為高效。
什麼是虛擬機器複製?
虛擬機器複製是指將一台虛擬機器複製一次或多次,以建立具有相同客體作業系統、軟體及虛擬硬體配置的相同虛擬機器。虛擬機器複製可用於多種目的,例如測試新的軟體配置、部署具有相同設定的多個虛擬伺服器實例,或是建立測試環境。
虛擬機器克隆的優勢
透過虛擬機器複製,您可以快速部署多台配置完全相同的虛擬機器,無需逐一部署和設定每台新虛擬機器。建立 Hyper-V 虛擬機器複本的優勢包括:
- 快速虛擬機器部署. 透過虛擬機器克隆,您可以更快地部署新的虛擬機器和軟體實例,從而節省時間和資源。此方法能大幅縮短建立新環境所需的時間。
- 一致性. 虛擬機器克隆與原始虛擬機器完全相同。這有助於降低在配置和部署多台虛擬機器時因人為錯誤所造成的風險。ma
- 高度可擴展性透過虛擬機器克隆,您可以縮放虛擬環境,這對於動態變化的環境特別有用。
建立 Hyper-V 虛擬機器克隆的一種方法是使用虛擬機器範本。我們將在下一節中詳細說明何謂虛擬機器範本。
什麼是虛擬機器範本?
Hyper-V 中的虛擬機器範本是一種基礎映像,可用於建立新的 Hyper-V 虛擬機器,同時保留用於建立該範本之虛擬機器上已安裝及設定的軟體。您無需擔心耗費過多時間從頭建立新的空白虛擬機器、安裝應用程式以及設定軟體。您也不需要複製虛擬磁碟 (VHD 或 VHDX) 或整個現有虛擬機器,並花時間重新設定該虛擬機器。
您可以建立一個參考虛擬機器,並以此建立範本,日後即可利用該範本部署多台新的虛擬機器。若您需要處理大量虛擬機器,最合理的做法是克隆 Hyper-V 虛擬機器。您可以將 Hyper-V 虛擬機器範本視為一個主範本,其中不僅包含軟體設定,還包含虛擬機器 CPU、記憶體及其他虛擬裝置的設定。
Hyper-V 虛擬機器範本可透過 Hyper-V 管理員,這是一款內建於 Windows 的軟體產品,或是透過 System Center Virtual Machine Manager (SCVMM) 是一款付費軟體,旨在用於集中管理大型 Hyper-V 虛擬環境。
虛擬機器範本的優勢
虛擬機器範本是為了虛擬機器複製與大規模部署而開發的,具有以下優勢:
- 標準化透過使用虛擬機器範本,您可以為虛擬機器建立標準化的配置,包括虛擬機器內已安裝的軟體,從而確保整個環境的一致性。
- 效率與可擴展性. 使用虛擬機器範本可節省您的時間,因為您無需從頭開始手動部署和設定每台虛擬機器。您只需建立一次範本,即可重複使用該範來部署完全相同的虛擬機器。透過這種方式,您可以快速部署大量虛擬機器,以進行環境的縮放操作,用於開發、測試或其他用途。
- 錯誤較少. 虛擬機器範本可降低部署相同配置的虛擬機器時發生錯誤的風險。您只需建立、設定並測試範本一次,之後即可使用此範本部署配置一致的虛擬機器。
建立 Hyper-V 虛擬機器範本
根據部署配置和情境,建立 Hyper-V 虛擬機器範本以進行虛擬機器複製主要有兩種選項:
- 在配備 Hyper-V 管理員的 Hyper-V 主機上,透過圖形使用者介面 (GUI) 及命令列介面 (PowerShell) 進行操作。
- System Center Virtual Machine Manager (SCVMM) 用於集中管理包含多個主機的大型虛擬環境。提供圖形化使用者介面 (GUI) 及 PowerShell。
先決條件
您應該使用 sysprep 此工具可協助您安全地建立虛擬機器範本,以避免未來可能發生的網路衝突。
Sysprep 是一項內建的 Windows 系統準備工具,適用於所有版本的桌面及伺服器 Windows 系統,自 Windows 7 和 Windows Server 2008 起即已提供。其設計目的是複製現有的 Windows 安裝環境,並基於現有安裝環境進行新系統的部署。此工具可用於準備映像檔,以便將其複製到大量硬體規格相同的電腦上。這是許多主要筆記型電腦製造商的首選方法。
您很可能已經注意到,當您首次開機使用搭載 Windows 作業系統的新筆記型電腦時,Windows 已經預先安裝在該筆電上,您只需設定使用者名稱、主機名稱、時區和語言等特定設定即可。同世代的 Hyper-V 虛擬機器具有相同的虛擬硬體,這意味著您也可以將此方法作為準備步驟,用來複製 Hyper-V 虛擬機器。
Sysprep 位置位於 C:Windowssystem32sysprep 目錄 (%WINDIR%system32sysprep) 並可在命令列模式或 GUI(圖形使用者介面)模式下執行。
Sysprep 重置儲存於 Windows 設定中的資訊,例如 SID(安全性識別碼)、事件日誌、暫存資料夾、主機名稱及時區。您需要輸入這些資訊,以便使用 First Run 從範本克隆虛擬機器後的精靈。如果您的 Windows 副本已啟用,則啟用狀態將會重置。請注意,啟用狀態最多只能重置三次。如果來源虛擬機器已加入 Active Directory 網域,您的 Hyper-V 虛擬機器範本以及從該範本克隆的虛擬機器將具有相同的網域 SID(請注意,這與上述的機器 SID 不同)。
建議參考(原始)虛擬機器不要加入 Active Directory 網域。這是因為網域 SID(而非機器 SID)會被複製到虛擬機器的克隆本中,這將導致網域內出現問題。
如何使用虛擬機器範本複製 Hyper-V 虛擬機器
讓我們來探索如何利用 Hyper-V 虛擬機器範本,成功克隆 Hyper-V 虛擬機器的完整流程:
- 建立新的 Hyper-V 虛擬機器.
我們已經有一篇部落格文章介紹如何 在 Hyper-V 管理員中建立新的 Hyper-V 虛擬機器. 或者,您也可以使用 使用 PowerShell 建立新的虛擬機器.
- 安裝客體作業系統 (OS).
安裝 Hyper-V 支援的客體作業系統,例如 Windows 7、8、10、11 或 Server 2008、2012、2016、2019、2022 等。針對這些客體作業系統版本,建立 Hyper-V 虛擬機器範本與虛擬機器克隆的工作流程完全相同。
- 為您的客體作業系統安裝所有必要的安全修補程式和更新.
您只需執行一次這項耗時的程序,最終便能獲得不含已知漏洞的虛擬機器。
- 安裝所需的軟體並進行設定.
請解除安裝不必要的應用程式和元件,以縮小 Hyper-V 虛擬機器範本的大小。
- 請使用
sysprep用於製作克隆用主映像的工具.將其連接到您的 Hyper-V 虛擬機器(本範例中我們使用一台執行 Windows 7 的虛擬機器),該虛擬機器將作為基礎虛擬機器。前往存放該檔案的目錄
sysprep位置——此目錄是C:Windowssystem32sysprep預設情況下。執行
sysprep.exe在您的 Windows 虛擬機器中開啟檔案,並選取以下參數:System Cleanup Action – Enter System Out-of-Box Experience (OOBE). 此選項會將 Windows 與特定硬體裝置(包括虛擬硬體)解除連結。- 請選擇
Generalize複選框,這將重置 Windows 啟用狀態。建議您啟用此選項,以避免從範本克隆 Hyper-V 虛擬機器後可能出現的啟用問題。 - 選擇
Shutdown在…的下拉式選單中Shutdown Options. 您需要此選項,以確保沒有任何應用程式(此處為 Hyper-V)開啟了虛擬磁碟檔案,且虛擬磁碟上儲存的資料未被修改。
註: 如果您選擇
Enter System Audit Mode作為System Cleanup Action若選擇此選項,您的 Windows 將直接開機至桌面,而不會顯示"歡迎"畫面。此選項可讓您在建立 Hyper-V 虛擬機器範本之前,先完成 Windows 的設定。例如,您可以從作業系統中刪除不必要的使用者。進入系統稽核模式的另一種方法是按下Shift+CTRL+F3在"歡迎畫面"(區域設定)中。點擊
OK繼續。
或者,您可以執行 CMD,並將工作目錄切換至
%WINDIR%system32sysprep並執行以下指令:
sysprep /generalize /oobe /shutdown /mode:vm
在哪裡/mode:vm這是一個新選項,僅應用於為 Hyper-V 等虛擬環境建立參考映像。由於同世代的虛擬機器使用相同的虛擬硬體,因此使用此選項可加快首台虛擬機器的啟動速度,因為無需檢測新硬體。接著,您會看到一個顯示"
Sysprep is working”。此時,您應等待程序完成。如果您選擇了相同的sysprep若選擇此選項,系統作業準備程序完成後,您的虛擬機器將會關機。請勿在範本建立完成前開啟機器,否則您將需要執行sysprep再次準備虛擬機器,以便建立 Hyper-V 虛擬機器範本。 - 刪除所有檢查點.
如果您有任何 檢查點 若此虛擬機器上已存在相關設定,請務必在將 Hyper-V 虛擬機器匯出為範本之前將其全部刪除,您可透過以下方式執行此操作:
CheckpointsHyper-V 管理員中的區段。右鍵點擊每個檢查點,然後點擊Delete Checkpoint右鍵選單中的選項(請參閱下圖)。若您刪除代表虛擬機器在當前時間點之前狀態的快照(檢查點),差異化虛擬磁碟(AVHDX 檔案)將會與主虛擬磁碟(VHDX 檔案)合併。
- 將 Hyper-V 虛擬機器匯出為虛擬機器範本.
選取您已準備好的虛擬機器,在 Hyper-V 管理員中右鍵點擊虛擬機器名稱,然後點擊
Export.
請指定要儲存檔案的位置。路徑
D:Hyper-V VM Templates在此範例中使用此路徑。您可以手動輸入此路徑,或點擊Browse按鈕以選取所需的資料夾。點擊Export並等待匯出程序完成。
現在您可以在先前指定的目錄中看到 VM 檔案(在此情況下,位於
D:Hyper-V VM Templates).註: 如果您擁有一個使用 SMB 協定存取網路中檔案的檔案伺服器,可以在該檔案伺服器上建立一個共用資料夾,並將各種 Hyper-V 虛擬機器範本複製到該資料夾中。當您擁有多台 Hyper-V 伺服器,且需要在這些伺服器上從範本部署虛擬機器時,此方案會非常方便。

使用虛擬機器範本複製 Hyper-V 虛擬機器(匯入)
建立 Hyper-V 虛擬機器範本後,即可使用此範本建立新的虛擬機器克隆。
從 Hyper-V 虛擬機器範本.
右鍵點擊您要從 Hyper-V 虛擬機器範本部署新虛擬機器的 Hyper-V 主機名稱。在快顯功能表中,按一下 Import Virtual Machine.

該 Import Virtual Machine 精靈視窗開啟。請點擊 Next 在每一步中向前邁進。
Before You Begin. 由於此入門步驟無需進行任何設定,您可以直接進入下一步。Locate Folder. 請指定包含您要匯入之虛擬機器的資料夾。在本範例中,我們使用的是D:Hyper-V VM TemplatesWin7.
Select Virtual Machine. 從清單中選取您要匯入的虛擬機器。在此情況下,選定的資料夾中僅儲存了一台虛擬機器的檔案。
Choose Import Type. 這裡有 3 個選項:Register the virtual machine in-place. 若虛擬機器位於同一台 Hyper-V 主機上,但因故已在主機上解除註冊,應使用此選項。在此情況下,該機器的唯一識別碼將予以保留——虛擬機器將運作得如同未曾被移動或複製一般。Restore the virtual machine. 與上述選項類似,此選項的差異在於:當虛擬機器從來源位置複製到目標位置,但該虛擬機器不再於來源位置運行時,應使用此選項(例如,若已手動將虛擬機器檔案複製為 Hyper-V 虛擬機器的備份 (然後從該備份還原)。虛擬機器的唯一識別碼也會被保留。Copy the virtual machine. 這是上述三種選項中最通用的選項。您可以多次匯入虛擬機器並執行這些虛擬機器。每次使用此選項匯入虛擬機器時,系統都會產生一個新的唯一識別碼。為簡化說明,本範例已選用此選項,並顯示於下方的螢幕截圖中。
Choose Folders for Virtual Machine Files. 選擇要儲存虛擬機器設定、檢查點及智慧分頁的位置。
Choose Folders to Store Virtual Hard Disks. 您還應選擇虛擬磁碟的儲存位置。
現在,您將能在 Hyper-V 管理員的虛擬機器清單中找到這台虛擬機器的複本。這台虛擬機器的名稱與用於建立 Hyper-V 虛擬機器範本的來源虛擬機器名稱相同。如有需要,您可以重新命名它。
克隆後設定虛擬機器
啟動您的虛擬機器,選擇國家/地區、鍵盤佈局、主機名稱,並建立新使用者。請注意,現有使用者不會自動刪除(透過 sysprep (如我們先前所述的設定)。
接著,系統將顯示 Microsoft Windows 授權協議。選擇您的時區後,Hyper-V 虛擬機器克隆本上運行的 Windows 便會顯示登入畫面。如果您不再需要這些使用者,可以刪除在 Windows"首次執行"過程中建立的任何新使用者。

如何在 Windows Admin Center 中克隆 Hyper-V 虛擬機器
Windows Admin Center 是一款用於管理 Windows、Hyper-V、Azure 及其他 Microsoft 服務的新工具。此工具可用於克隆虛擬機器,例如,若您想從 SCVMM 中經過特殊準備的虛擬機器克隆本建立虛擬機器範本。
要在 Windows Admin Center 中克隆虛擬機器:
- 下載 Windows 管理中心:
https://www.microsoft.com/en-us/evalcenter/download-windows-admin-center/ - 在 Hyper-V 主機上執行已下載的安裝程式檔案,以安裝 Windows Admin Center。
- 請使用以下連結,透過支援的網頁瀏覽器登入 Windows Admin Center:
https://hostname_or_IP_address_of_Hyper-V_host:443 - 在 Windows Admin Center 網頁介面的左側窗格中,前往
Virtual machines然後選取(點擊)您要複製的虛擬機器。我們選取Wind0ws-VM在此範例中。
- 選取虛擬機器後,請按一下
Manage > Clone複製這台 Hyper-V 虛擬機器。
- 選擇一個配置路徑。此處將是 Hyper-V 虛擬機器克隆的位置。按下
OK繼續。
- 請輸入虛擬機器克隆名稱,例如:
Windows-clone. 您仍可變更 Hyper-V 虛擬機器克隆的目標路徑。請按一下Clone繼續。
- 如果您尚未執行,可能會看到一則通知訊息
sysprep先前曾在客體作業系統中:
Cloning will cause the parent virtual machine to reboot one or more times. Do you wish to continue (Yes/No). - 如果 Windows 管理中心要求您輸入來賓作業系統的憑證,請輸入管理員憑證以繼續。
- 如果您尚未執行,可能會看到一則通知訊息
請等待 Hyper-V 虛擬機器克隆完成。
在 SCVMM 中建立虛擬機器範本
您可以使用 Microsoft System Center Virtual Machine Manager (SCVMM) 來建立虛擬機器範本和 Hyper-V 虛擬機器克隆。這是一套用於管理 Windows 伺服器環境的高階解決方案。此解決方案中提供了一個用於虛擬機器和範本的庫。
您可以使用 Hyper-V 虛擬機器克隆來建立虛擬機器範本,因為該克隆將被轉換為範本,且不會作為一般虛擬機器提供。透過此方法,可避免在建立範本後原始虛擬機器無法使用的狀況。在此情境結束時,這份特別準備的虛擬機器副本(克隆)將從虛擬機器清單中消失。
- 開啟 SCVMM。前往
Libraries > Templates > VM Templates然後點擊Create VM Template.
- 在
Select Source步驟Create VM Template Wizard, 選擇From an existing virtual machine that is deployed on a host.點擊Browse以選取一台虛擬機器。
- 選取您要轉換為 Hyper-V 虛擬機器範本的虛擬機器。我們使用一個已準備好的虛擬機器克隆本(
Windows Server 2019-clone) 以此為目的。
- 系統會顯示一則訊息,提醒您在從此虛擬機器建立範本後,原始虛擬機器將無法使用。請按
Yes繼續。
- 請輸入虛擬機器範本的名稱。我們正在建立一個 Windows Server 2019 虛擬機器的範本(範本名稱是
Server2019-templ). 點擊Next在精靈的每個步驟中,請點擊"繼續"。
- 檢查虛擬機器範本的虛擬硬體。

- 請根據您要轉換為範本的虛擬機器中安裝的作業系統,選擇正確的客體作業系統設定檔。我們選擇
Windows Server 2019 Base以及Windows Server 2019 Standard.
- 為虛擬機器範本選取一個儲存庫伺服器。

- 選擇要儲存此虛擬機器範本的共用位置。輸入存放該資料庫的 SMB 檔案分享之 UNC 路徑。按一下
Browse並指定正確的位置。
- 在
Summary步驟,點擊View Script以查看包含先前所有選取設定的 PowerShell 指令碼,並讓您能在 PowerShell 中執行相同的虛擬機器範本建立任務。
以下提供一個 PowerShell 腳本的範例:
$VM = Get-SCVirtualMachin -VMMServer localhost -Name "Windows Server 2019-clone" -ID "00000000-0000-0000-0000-000000000000" | where {$_.VMHost.Name -eq "win2019.domain.local"}$LibraryServer = Get-SCLibraryServer -VMMServer localhost | where {$-.Name -eq "win2019.domain.local"}$GuestOSProfile = Get-SCGuestOSProfile -VMMServer localhost | where {$_.Name -eq "Windows Server 2019 Base"}$OperatingSystem = Get-SCOperatingSystem -VMMServer localhost -ID "11111111-1111-1111-1111-111111111111" | where {$_.Name -eq "Windows Server 2019 Standard"}$template = New-SCVMTemplate -Name "Server2019Templ" -RunAsynchronously -VM $VM -LibraryServer $LibraryServer -SharePath "win2019.domain.localSCVMMLibrary" -GuestOSProfile $GuestOSProfile -JobGroup 2222-2222-2222-2222-222222222222 -ComputerName "*" -TimeZone 20 -FullName "" -ORGANIZATIONName "" -Workgroup "WORKGROUP" -AnswerFile $null -OperatingSystem $OperatingSystem點擊
Create完成並繼續進行虛擬機器範本的建立。
請等待虛擬機器範本建立完成。所需時間會因虛擬機器的規格及網路速度而異。您可以在 Jobs SCVMM 的頁面。一旦虛擬機器範本建立完成,您可以在 Library > VM Templates 在 SCVMM 中。
用於建立虛擬機器範本的來源虛擬機器(Hyper-V 虛擬機器複本)現已從 Hyper-V 管理員和 System Center Virtual Machine Manager 中的虛擬機器清單中消失。
現在,您可以從此虛擬機器範本部署多個作為 Hyper-V 虛擬機器複本的虛擬機器。

使用 PowerShell 複製 Hyper-V 虛擬機器
您可以使用以下指令來複製 Hyper-V 虛擬機器。Hyper-V 管理員與 System Center Virtual Machine Manager 的指令有所不同。這表示,您無法在僅安裝 Hyper-V 管理員的電腦上,以及同時安裝 SCVMM 的電腦上使用相同的指令。
Hyper-V 管理員
- 匯出虛擬機器:
Export-VM -Name VM_NAME -Path PATH - 匯入虛擬機器
- 就地註冊虛擬機器(使用現有的唯一識別碼):
Import-VM -Path 'C:VM_EXPORT_PATH�0000000-0000-0000-0000-000000000000.vmcx' - 還原虛擬機器(使用現有的唯一識別碼):
Import-VM -Path 'C:VM_EXPORT_PATH�0000000-0000-0000-0000-000000000000.vmcx' -Copy -VhdDestinationPath 'D:VMsWin2022' -VirtualMachinePath 'D:VMsWin2022' - 複製虛擬機器(建立一個新的唯一識別碼):
Import-VM -Path 'C:VM_EXPORT_PATH�0000000-0000-0000-0000-000000000000.vmcx' -Copy -GenerateNewId - 複製虛擬機器(標準複製):
New-VM -Name "NewVM" -Copy -VMPath "C:VMsOriginalVM" -Path "C:VMsNewVM" - 複製具有差異磁碟的虛擬機器(差異磁碟複製):
New-VM -Name "NewVM" -Differencing -VMPath "C:VMsOriginalVM" -Path "C:VMsNewVM"
System Center Virtual Machine Manager (SCVMM)
- 複製虛擬機器 (SCVMM):
$SourceVM = Get-SCVirtualMachine -Name "OriginalVM"$CloneVM = New-SCVirtualMachine -Name "NewVM" -Template $SourceVM - 複製已自訂的虛擬機器 (SCVMM):
$SourceVM = Get-SCVirtualMachine -Name "OriginalVM"$CloneVM = New-SCVirtualMachine -Name "NewVM" -Template $SourceVM -ComputerTier "NewComputerTier" -VMHostGroup "HostGroup" -Path "C:VMsNewVM" -VMNetwork "NewVMNetwork"
結論
Hyper-V 虛擬機器範本的使用並不困難,不僅能協助您節省時間,還可直接在 Hyper-V 管理員中建立。此外,您也可以使用 System Center Virtual Machine Manager。透過 sysprep 工具,您可以在建立 Hyper-V 虛擬機器範本之前,先對客體 Windows 系統進行預備工作,包括刪除該機器的 SID 以及清理 Windows 登錄檔中的資訊。您可以在高度可擴展的虛擬環境中使用虛擬機器範本,以提升效率與靈活性。
備份虛擬機器始終至關重要,無論發生何種資料遺失情況,您都能輕鬆恢復資料及完整的虛擬機器。 NAKIVO Backup & Replication 適用於 Hyper-V 提供針對虛擬機器的增量、應用程式感知備份,讓您能夠從備份中快速啟動完整的虛擬機器,並在短短幾分鐘內還原所需的應用程式項目。