VMテンプレートを使用したHyper-V VMのクローン作成
ハードウェア仮想化の大きな利点の一つは、スケーラビリティです。仮想マシン(VM)への仮想ディスクの追加や拡張、ハードウェアストレージの容量拡張、CPU パフォーマンスやメモリの増強を容易に行うことができ、さらに多数の VM を展開することも可能です。また、ある Hyper-V ホストから別のホストへ VM ファイルをコピーしたり、同じ Hyper-V ホスト上で VM ファイルをコピーして、同一の VM を追加で作成したりすることもできます。
この方法の主な欠点は、ホスト名、IPアドレス(静的IPアドレスを使用している場合)、およびSID(セキュリティ識別子)を手動で変更する必要があることです。VMテンプレートを使用することで、これらの問題を回避し、新しいVMを迅速かつ便利に作成できます。このブログ記事では、Hyper-VのVMテンプレートについて詳しく解説し、Hyper-V VMのクローン作成方法をステップバイステップで説明します。
VMのクローン作成とVMテンプレートの理解
Hyper-V 仮想環境で多数の仮想マシン(VM)を展開する必要がある場合、VM を個別に展開して各ゲスト OS を手動で設定するよりも、VM のクローン作成の方が効率的です。
VMのクローン作成とは何ですか?
VMのクローン作成とは、1台の仮想マシンを1回以上複製し、同じゲストOS、ソフトウェア、および仮想ハードウェア構成を持つ同一のVMを作成することです。仮想マシンのクローン作成は、新しいソフトウェア構成のテスト、同一設定の仮想サーバーの複数インスタンスの展開、あるいはステージング環境の構築など、さまざまな目的に利用できます。
VMクローンのメリット
VMのクローン作成により、新しいVMを1台ずつ個別に展開・設定することなく、同一構成のVMを迅速に複数展開することができます。Hyper-V VMのクローンを作成するメリットは以下の通りです:
- VMの迅速な展開. VMのクローン作成により、新しいVMやソフトウェアインスタンスをより迅速にプロビジョニングでき、時間とリソースを節約できます。この手法により、新しい環境のセットアップにかかる時間を短縮できます。
- 一貫性. VMのクローンは元のVMと完全に同一です。これにより、複数のVMを設定・展開する際の人為的なミスのリスクを軽減できます。ma
- 高い拡張性. VMのクローンを使用することで、仮想環境を拡張することができ、これは特に動的に環境を変更する場合に役立ちます。
Hyper-V 仮想マシンのクローンを作成する方法の一つに、仮想マシン テンプレートの使用があります。次のセクションで、その詳細について見ていきましょう。
VMテンプレートとは何ですか?
Hyper-V の VM テンプレートとは、テンプレートの作成に使用した VM にインストールおよび構成されたソフトウェアを維持したまま、新しい Hyper-V VM を作成するために使用できるベースイメージのことです。新しい空の VM を一から作成し、アプリケーションをインストールし、ソフトウェアを構成するのに多大な時間を費やす心配はありません。また、仮想ディスクをコピーする必要もありません(VHD または VHDX) または既存の VM 全体をコピーし、その VM の再設定に時間を費やす必要はありません。
1つの参照VMを作成し、それを用いてテンプレートを作成すれば、後でそのテンプレートを使って複数の新しいVMを展開できます。多数のVMを扱う場合、最も合理的なアプローチはHyper-V VMをクローンすることです。Hyper-V VMテンプレートは、ソフトウェア構成だけでなく、VMのCPU、RAM、その他の仮想デバイスの構成も含むマスターパターンと見なすことができます。
Hyper-V VMテンプレートは、以下の方法で作成できます Hyper-V マネージャー、これはWindowsに標準搭載されているソフトウェア製品ですが、あるいは System Center Virtual Machine Manager (SCVMM)は、大規模なHyper-V仮想環境の一元管理を目的とした有料ソフトウェアです。
VMテンプレートの利点
VMテンプレートは、VMのクローン作成や一括展開のために開発されており、次のような利点があります:
- 標準化VMテンプレートを使用することで、VM内にインストールされるソフトウェアを含め、VMの標準化された構成を作成でき、環境全体での一貫性を確保できます。
- 効率性と拡張性. VMテンプレートを使用すれば、各VMをゼロから手動でデプロイしたり設定したりする必要がないため、時間を節約できます。テンプレートを一度作成すれば、それを繰り返し使用して同一のVMをデプロイできます。これにより、開発やテスト、その他の目的で環境を拡張するために、多数のVMを迅速にデプロイすることが可能です。
- エラーの減少仮想マシンテンプレートを使用すると、同じ構成の仮想マシンをデプロイする際のエラーリスクを軽減できます。テンプレートは一度作成、設定、テストを行えば、その後はこのテンプレートを使用して一貫性のある仮想マシンをデプロイできます。
Hyper-V 仮想マシン テンプレートの作成
仮想マシンのクローン作成用にHyper-V仮想マシンテンプレートを作成するには、展開構成やシナリオに応じて、主に2つの方法があります:
- Hyper-V マネージャーがインストールされている Hyper-V ホストにおいて、グラフィカル ユーザー インターフェイス (GUI) およびコマンド ライン インターフェイス (PowerShell) を使用する場合。
- System Center Virtual Machine Manager(SCVMM)は、複数のホストからなる大規模な仮想環境を一元管理するために使用されます。GUIおよびPowerShellが利用可能です。
前提条件
次の sysprep 将来的なネットワークの競合を回避するため、VMテンプレートを安全に作成するユーティリティ。
Sysprep は、Windows 7 および Windows Server 2008 以降、デスクトップおよびサーバー版のすべてのエディションで利用可能な、組み込みのシステム準備用 Windows ユーティリティです。これは、既存の Windows インストールを複製し、既存の Windows インストールを基に新しいインストールを行うことを目的としています。このユーティリティを使用すると、同一のハードウェアを搭載した多数のマシンに複製するためのイメージを準備できます。これは、多くの大手ノートパソコンメーカーが推奨する手法です。
おそらく、Windows OSを搭載した新しいノートPCを初めて起動した際、Windowsがすでにインストールされており、ユーザー名、ホスト名、タイムゾーン、言語などの特定の設定を行う必要があることに気づかれたことでしょう。同じ世代のHyper-V仮想マシンは同じ仮想ハードウェアを持つため、この方法をHyper-V仮想マシンのクローン作成に向けた準備段階として利用することも可能です。
Sysprep は、 C:Windowssystem32sysprep ディレクトリ (%WINDIR%system32sysprep) であり、コマンドラインモードまたはGUI(グラフィカルユーザーインターフェース)モードで実行できます。
Sysprep SID(セキュリティ識別子)、イベントログ、一時フォルダ、ホスト名、タイムゾーンなど、Windowsの設定に保存されている情報をリセットします。VMのクローンを作成する際は、この情報を入力する必要があります。 First Run テンプレートからVMをクローンした後のウィザード。Windowsのコピーがアクティベーション済みである場合、そのアクティベーションはリセットされます。なお、アクティベーションのリセットは3回までしか行えません。ソースVMがActive Directoryドメインに参加している場合、Hyper-V VMテンプレートおよびそのテンプレートからクローンされたVMは、同じドメインSIDを持つことになります(これは前述のマシンSIDとは異なる点に注意してください)。
参照(元の)VMは、Active Directoryドメインのメンバーにしないことを推奨します。これは、ドメインSID(マシンSIDではありません)がVMのクローンにコピーされ、ドメイン内で問題を引き起こすためです。
VMテンプレートを使用してHyper-V仮想マシンを複製する方法
Hyper-V VMテンプレートを使用して、Hyper-V VMを正常にクローンする手順をすべて見ていきましょう:
- 新しいHyper-V仮想マシンを作成する.
その方法については、すでにブログ記事があります Hyper-V マネージャーで新しい Hyper-V 仮想マシンを作成するあるいは、次の方法も利用できます PowerShell を使用して新しい仮想マシンを作成する.
- ゲストOSをインストールする.
Hyper-V でサポートされているゲスト OS(例:Windows 7、8、10、11、または Server 2008、2012、2016、2019、2022 など)をインストールします。Hyper-V の VM テンプレートおよび VM クローンを作成する手順は、これらのゲスト OS バージョンにおいてすべて同じです。
- ゲストOSに必要なすべてのセキュリティパッチと更新プログラムを適用してください.
最終的に既知の脆弱性がない仮想マシン(VM)を入手するには、この手間のかかる手順を一度実行する必要があります。
- 必要なソフトウェアをインストールし、そのソフトウェアの設定を行う.
不要なアプリケーションやコンポーネントをアンインストールして、Hyper-V VMテンプレートのサイズを縮小してください。
- 次の
sysprepクローン作成用のマスターイメージを作成するユーティリティ.これを、ベースVMとして使用するHyper-V VM(この例ではWindows 7を実行しているVMを使用します)に接続します。次に、
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 VMテンプレートを作成する前に、Windowsの設定を最終調整することができます。たとえば、オペレーティングシステムから不要なユーザーを削除することができます。システム監査モードに入る別の方法として、Shift+CTRL+F3"ウェルカム画面"(地域設定)で。クリック
OK続行するには。
あるいは、CMDを起動し、ディレクトリを
%WINDIR%system32sysprepそして、次のコマンドを実行します:
sysprep /generalize /oobe /shutdown /mode:vm
どこ/mode:vmこれは新しいオプションであり、Hyper-V などの仮想環境用の参照イメージを作成する場合にのみ使用してください。同じ世代の仮想マシンは同一の仮想ハードウェアを使用するため、このオプションを使用すると、新しいハードウェアを検出する必要がなくなり、最初の仮想マシンの起動が高速化されます。その後、"
Sysprep is working"。この時点で、処理が完了するまでお待ちください。もし同じsysprepオプションを選択した場合、OSの準備プロセスが完了するとVMの電源が切れます。テンプレートが作成されるまでマシンの電源を入れないでください。そうしないと、sysprepHyper-V VMテンプレートを作成するために、VMを再度準備します。 - すべてのチェックポイントを削除する.
もし何か チェックポイント このVMに設定されている場合は、Hyper-V VMをテンプレートとしてエクスポートする前に、それらをすべて削除してください。この操作は、
CheckpointsHyper-V マネージャーのセクション。各チェックポイントを右クリックし、[Delete Checkpointコンテキストメニューのオプション(下のスクリーンショットを参照)。差分仮想ディスク(AVHDXファイル)は、現在の時点より前のVMの状態を表すスナップショット(チェックポイント)を削除すると、メインの仮想ディスク(VHDXファイル)と統合されます。
- Hyper-V 仮想マシンを仮想マシン テンプレートとしてエクスポートする.
準備したVMを選択し、Hyper-V マネージャーでVM名を右クリックして、[
Export.
ファイルを保存する場所を指定してください。パス
D:Hyper-V VM Templatesこの例では、このパスが使用されています。このパスは手動で入力するか、Browseボタンをクリックして、必要なフォルダを選択してください。クリックExportそして、エクスポート処理が完了するまでお待ちください。
これで、先ほど指定したディレクトリ(この場合は
D:Hyper-V VM Templates).注: ネットワーク内のファイルにアクセスするためにSMBプロトコルを使用するファイルサーバーがある場合、そのファイルサーバー上に共有フォルダを作成し、さまざまなHyper-V仮想マシンテンプレートをそこにコピーすることができます。この方法は、複数のHyper-Vサーバーがあり、それらのサーバー上でテンプレートから仮想マシンを展開する必要がある場合に便利です。

VMテンプレートを使用したHyper-V仮想マシンのクローン作成(インポート)
Hyper-VのVMテンプレートを作成すると、そのテンプレートを使用して新しいVMのクローンを作成できます。
仮想マシンを Hyper-V 仮想マシン テンプレート.
Hyper-V VM テンプレートから新しい VM を展開する Hyper-V ホストの名前を右クリックします。コンテキスト メニューで、[ Import Virtual Machine.

その Import Virtual Machine ウィザードが開きます。クリックしてください Next 進むための各ステップで。
Before You Beginこの導入段階では設定する項目がないため、次のステップに進んでください。Locate Folder. インポートする仮想マシンが含まれているフォルダを指定してください。この例では、D:Hyper-V VM TemplatesWin7.
Select Virtual Machine. リストからインポートしたい仮想マシンを選択します。この場合、選択したフォルダには1台のVMのファイルのみが保存されています。
Choose Import Typeここには3つの選択肢があります:Register the virtual machine in-place. このオプションは、VMが同じHyper-Vホスト上に存在しているものの、何らかの理由でホストから登録解除された場合に使用します。この場合、マシンの一意のIDは保持されるため、VMは移動やコピーが行われていないかのように動作します。Restore the virtual machine. 上記のオプションと同様に、このオプションは、仮想マシンをソースの場所からターゲットの場所にコピーする場合に使用しますが、その仮想マシンはソースの場所ではもはや実行されないという点で異なります(たとえば、仮想マシンのファイルが手動でコピーされた場合など)。 Hyper-V 仮想マシンのバックアップ (その後、そのバックアップから復元されます)。VMの一意のIDも保持されます。Copy the virtual machine. これは、記載されている3つのオプションの中で最も汎用性の高いものです。VMを複数回インポートし、それらのVMを実行することができます。このオプションを使用してVMをインポートするたびに、新しい一意のIDが生成されます。簡潔にするため、現在の例ではこのオプションが選択されており、以下のスクリーンショットに表示されています。
Choose Folders for Virtual Machine Files. VMの設定、チェックポイント、およびスマートページングを保存する場所を選択してください。
Choose Folders to Store Virtual Hard Disksまた、仮想ディスクの保存場所も選択する必要があります。
これで、Hyper-V マネージャーの仮想マシン一覧に、この仮想マシンのクローンが表示されるようになります。この仮想マシンの名前は、Hyper-V 仮想マシン テンプレートの作成に使用したソース仮想マシンと同じです。必要に応じて名前を変更することもできます。
クローン作成後の仮想マシンの設定
VMを起動し、国、キーボードレイアウト、ホスト名を選択して、新しいユーザーを作成してください。なお、既存のユーザーは自動的に削除されません( sysprep (前述の設定)。
次に、Microsoft Windows の使用許諾契約書が表示されます。タイムゾーンを選択すると、Hyper-V VM クローン上で実行されている Windows のログイン画面が表示されます。Windows の"初回起動"時に作成された新しいユーザーで、今後必要がなくなったものは削除できます。

Windows Admin Center で Hyper-V 仮想マシンをクローンする方法
Windows Admin Center は、Windows、Hyper-V、Azure、およびその他の Microsoft サービスを管理するための新しいツールです。このツールを使用すると、仮想マシンのクローンを作成できます。たとえば、SCVMM で事前に準備した仮想マシンのクローンから仮想マシン テンプレートを作成する場合などに利用できます。
Windows Admin Center で仮想マシンをクローンするには:
- Windows Admin Center をダウンロード:
https://www.microsoft.com/en-us/evalcenter/download-windows-admin-center/ - Hyper-V ホスト上で、ダウンロードしたインストーラーファイルを実行して Windows Admin Center をインストールします。
- 以下のリンクを使用して、対応しているWebブラウザからWindows Admin Centerにサインインしてください:
https://hostname_or_IP_address_of_Hyper-V_host:443 - Windows Admin Center の Web インターフェースの左ペインで、[
Virtual machinesそして、クローンを作成したいVMを選択(クリック)します。ここでは、Wind0ws-VMこの例では。
- 仮想マシンを選択したら、[クリック]
Manage > CloneこのHyper-V仮想マシンをクローンします。
- 構成パスを選択してください。ここにHyper-V仮想マシンのクローンが配置されます。クリック
OK続きを読む。
- VMのクローン名を入力してください。例:
Windows-clone. Hyper-V VMのクローン作成先のパスは、まだ変更可能です。クリックClone続行するには。
- まだ実行していない場合は、通知メッセージが表示されることがあります
sysprep以前、ゲストOSで:
Cloning will cause the parent virtual machine to reboot one or more times. Do you wish to continue (Yes/No). - Windows Admin Center でゲスト OS の認証情報の入力を求められた場合は、管理者権限の認証情報を指定して続行してください。
- まだ実行していない場合は、通知メッセージが表示されることがあります
Hyper-V 仮想マシンのクローンが作成されるまでお待ちください。
SCVMMでの仮想マシンテンプレートの作成
Microsoft System Center Virtual Machine Manager (SCVMM) を使用すると、VM テンプレートや Hyper-V VM クローンを作成できます。これは、Windows サーバー環境を管理するための高度なソリューションです。このソリューションには、VM およびテンプレート用のライブラリが用意されています。
Hyper-V VM クローンを使用して VM テンプレートを作成できます。これは、VM クローンがテンプレートに変換され、通常の VM として利用できなくなるためです。このアプローチを採用することで、テンプレート作成後に元の VM が利用できなくなるという事態を回避できます。このシナリオの終了時には、特別に用意された VM のコピー (クローン) が VM の一覧から削除されます。
- 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 VM テンプレートに変換したい VM を選択します。ここでは、あらかじめ用意された VM クローン(
Windows Server 2019-clone) この目的のために。
- このVMからテンプレートを作成すると、元のVMが利用できなくなる旨の警告メッセージが表示されます。クリックしてください
Yes続きを読む。
- VMテンプレートの名前を入力してください。ここでは、Windows Server 2019 VM用のテンプレートを作成します(テンプレート名は
Server2019-templ). ヒットNextウィザードの各ステップで、続行してください。
- VMテンプレートの仮想ハードウェアを確認してください。

- テンプレートに変換するVMにインストールされているOSに応じて、適切なゲストOSプロファイルを選択してください。ここでは、
Windows Server 2019 BaseそしてWindows Server 2019 Standard.
- VMテンプレートに使用するライブラリサーバーを選択してください。

- この仮想マシンテンプレートを保存する共有場所を選択してください。ライブラリが配置されているSMBファイル共有のUNCパスを入力してください。[クリック]
Browseそして、正しい場所を指定してください。
- その
Summaryステップ、クリックView Script以前に選択したすべての設定が含まれており、PowerShell で VM テンプレートの作成という同じタスクを実行できる 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完了し、VMテンプレートの作成に進みます。
VMテンプレートが作成されるまでお待ちください。所要時間は、VMのサイズやネットワーク速度によって異なります。タスクの進行状況は、 Jobs SCVMMのページ。VMテンプレートが作成されると、このテンプレートは Library > VM Templates SCVMM 内で。
VM テンプレートの作成に使用された元の仮想マシン(Hyper-V VM クローン)が、Hyper-V マネージャーおよび System Center Virtual Machine Manager の仮想マシン一覧から表示されなくなりました。
これで、この VM テンプレートから Hyper-V VM クローンである複数の仮想マシンを展開できるようになります。

PowerShell を使用した Hyper-V 仮想マシンのクローン作成
Hyper-V 仮想マシンを複製するには、以下のコマンドを使用できます。コマンドは、Hyper-V マネージャーと System Center Virtual Machine Manager で異なります。つまり、Hyper-V マネージャーのみがインストールされているマシンと、SCVMM もインストールされているマシンでは、同じコマンドを使用することはできません。
Hyper-V マネージャー
- 仮想マシンのエクスポート:
Export-VM -Name VM_NAME -Path PATH - 仮想マシンをインポートする
- 仮想マシンをそのまま登録します(既存の一意のIDを使用します):
Import-VM -Path 'C:VM_EXPORT_PATH�0000000-0000-0000-0000-000000000000.vmcx' - 仮想マシンを復元します(既存の一意のIDを使用します):
Import-VM -Path 'C:VM_EXPORT_PATH�0000000-0000-0000-0000-000000000000.vmcx' -Copy -VhdDestinationPath 'D:VMsWin2022' -VirtualMachinePath 'D:VMsWin2022' - 仮想マシンをコピーする(新しい一意のIDを作成する):
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" - 差分ディスクを使用したVMのクローン作成(差分ディスククローン):
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 - カスタマイズしたVMのクローン作成(SCVMM):
$SourceVM = Get-SCVirtualMachine -Name "OriginalVM"$CloneVM = New-SCVirtualMachine -Name "NewVM" -Template $SourceVM -ComputerTier "NewComputerTier" -VMHostGroup "HostGroup" -Path "C:VMsNewVM" -VMNetwork "NewVMNetwork"
結論
Hyper-VのVMテンプレートは使い方が難しくなく、時間の節約にも役立ち、Hyper-Vマネージャーから直接作成できます。あるいは、System Center Virtual Machine Managerを使用することも可能です。Sysprepツールを使用すると、Hyper-V VMテンプレートを作成する前に、マシンのSIDを削除したり、Windowsレジストリ内の情報をクリーンアップしたりして、ゲストWindowsシステムを準備することができます。VMテンプレートは、拡張性の高い仮想環境において、効率性と俊敏性を高めるために活用できます。
仮想マシンのバックアップを常に実施し、どのようなデータ損失のシナリオが発生しても、データやマシン全体を容易に復元できるようにしておくことが重要です。 NAKIVO Backup & Replication Hyper-V用 仮想マシン向けに、アプリケーションを意識した増分バックアップ機能を提供し、バックアップから仮想マシン全体を素早く起動できるほか、必要なアプリケーション要素をわずか数分で復元することができます。