Hyper-Vで仮想マシンをエクスポートやインポートする方法

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

WindowsのHyper-Vでは、仮想マシンをエクスポートして、別のHyper-V環境にインポートして稼働させることができます。

そこでここでは、Hyper-Vで仮想マシンをエクスポート/インポートする方法を注意点を含めて解説します。

仮想マシンの共有‎機能を使った方法

仮想マシンを最も簡単にエクスポート/インポートしたいときは「仮想マシンの共有」機能が便利です。(仮想マシンの共有機能では、チェックポイントはエクスポート対象に含まれません。)

仮想マシンの共有機能を使って仮想マシンをエクスポートするときは、Hyper-Vマネージャーからエクスポートしたい仮想マシンの接続画面を開き、メニューから「共有」ボタンをクリックします。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

すると、その時点の仮想マシンがvmczファイルとして圧縮されエクスポート(エクスポートには時間がかかります。)され、作成されたvmczファイルは、他のHyper-V環境上でダブルクリックするだけで簡単にインポートすることができます。

エクスポート/インポート機能を使った方法

チェックポイントを作成している仮想マシンをチェックポイントを含めてエクスポート/インポートしたいときは「エクスポート/インポート」機能を利用します。

仮想マシンのエクスポート

仮想マシンをエクスポートするときは、Hyper-Vマネージャーで仮想マシンの一覧からエクスポートしたい仮想マシンを右クリックして、メニューから「エクスポート」を選択します。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

「仮想マシンのエクスポート」画面が表示されるので、エクスポート先のフォルダーを指定して「エクスポート」をクリックします。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

以上で、仮想マシンをエクスポートできます。(エクスポートには時間がかかります。)

仮想マシンのインポート

エクスポートされた仮想マシンをインポートするときは、Hyper-Vマネージャー画面の右側にあるメニューから「仮想マシンのインポート」をクリックして、ウィザードを起動します。

エクスポートしていない仮想マシンも、構成情報ファイルと仮想ディスクファイルがあれば、ほぼ同じ手順で仮想マシンを直接インポートできます。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

ウィザード画面が表示されたら、エクスポートした仮想マシンのフォルダーを指定し「次へ」をクリックします。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

構成情報が読み込まれると、インポートする仮想マシンを選択する画面が表示されるので、インポートする仮想マシンが選択されていることを確認し「次へ」をクリックします。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

次に、仮想マシンのインポート方法を選択します。通常は「仮想マシンを復元する」がおすすめですが、環境に合わせてインポート方法を選択します。

仮想マシンをインプレースで登録する(既存の一意なIDを使用する) - インポート元の構成ファイルや仮想ディスクファイルなどを、そのまま使用する場合に選択します。仮想マシンのID(内部的な識別番号)は、元のものを使用します。

仮想マシンを復元する(既存の一意なIDを使用する) - インポート元の構成ファイルや仮想ディスクファイルなどを基に、新しい仮想マシンを作成する場合に選択します。ただし、仮想マシンのIDは、元のものを使用するため、複数回インポートすることはできません。

仮想マシンをコピーする(新しい一意なIDを作成する) - 上の復元と同じようにインポート元の構成ファイルや仮想ディスクファイルなどを基に、新しい仮想マシンを作成しますが、仮想マシンのIDを新たに作成するため、複数回インポートすることができます。

「仮想マシンを復元する」でインポートできないときは「仮想マシンをコピーする」を選択することで、インポートできる可能性が高いです。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

次に、仮想マシンの構成ファイルなどをどこに保存するかを指定して「次へ」をクリックします。

通常はデフォルトのままでよいですが、仮想マシンの構成ファイルをデフォルト設定とは別の場所に保存したいときは「仮想マシンを別の場所に格納する」にチェックを入れて、保存先を指定します。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

次に、仮想ハードディスクの保存先を指定して「次へ」をクリックします。

通常はデフォルトのままでよいですが、仮想ハードディスクファイルをデフォルト設定とは別の場所に保存したいときは「参照」をクリックして保存先を指定します。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

最後に、設定の要約画面が表示されるので、内容を確認して問題がなければ「完了」をクリックすることでインポートが開始されます。

なお、インポート方法で「仮想マシンをインプレースで登録する」以外を選択した場合は、仮想ハードディスクをコピーする処理が行われるため、インポートには時間がかかります。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

PowerShellコマンドレットを使った方法

チェックポイントを作成している仮想マシンをチェックポイントを含めてエクスポート/インポートしたいときは、PowerShellコマンドレットを使ってエクスポート/インポートすることもできます。

仮想マシンのエクスポート

PowerShellコマンドレットを使って仮想マシンをエクスポートするときは、管理者としてPowerShellを起動して、以下のようにコマンドを実行します。

PS> Export-VM -Name <仮想マシン名> -Path <エクスポート先のフォルダーパス>

たとえば、仮想マシン名が「AlmaLinux9.1」でエクスポート先のフォルダーパスが「E:¥Export」の場合は、以下のように実行します。

PS> Export-VM -Name "AlmaLinux9.1" -Path "E:\Export\"

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

仮想マシンのインポート

PowerShellコマンドレットを使って仮想マシンをインポートするときは、インポート方法に応じたコマンドを実行します。

なお「-Path」オプションでは、インポートする仮想マシンの構成情報ファイル(拡張子が「.vmcx」のファイル)を指定します。

仮想マシンをインプレースで登録するとき

仮想マシンをインプレースで登録するときは、以下のようにコマンドを実行します。

PS> Import-VM -Path "<エクスポート先のフォルダーパス>\Virtual Machines\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.vmcx"

仮想マシンを復元するとき

仮想マシンを復元するときは、以下のようにコマンドを実行します。

PS> Import-VM -Path "<エクスポート先のフォルダーパス>\Virtual Machines\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.vmcx" -Copy

たとえば、「E:¥Export」にエクスポートした「AlmaLinux9.1」をインポートしたいときは、以下のように実行します。

PS> Import-VM -Path "E:\Export\AlmaLinux9.1\Virtual Machines\2B96F085-7F29-42D9-8F4E-4242A9461EFE.vmcx" -Copy

仮想マシンをコピーするとき

仮想マシンをコピーするときは、以下のようにコマンドを実行します。

PS> Import-VM -Path "<エクスポート先のフォルダーパス>\Virtual Machines\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.vmcx" -Copy -GenerateNewId

なお、エクスポートしていない仮想マシンも、Import-VMコマンドレットで構成情報ファイルに加えて仮想ディスクファイルを指定することで、仮想マシンを直接インポートすることもできます。

Import-VM (Hyper-V) | Microsoft Learn

エクスポート/インポート時の注意点

インポート前後の環境の違い

仮想マシンをエクスポートしたときの環境とインポートする環境が異なる場合(接続する仮想スイッチ名が異なるなど)、インポートの途中で構成エラーが発生する場合があります。

そのような場合は、指示された内容に従い再設定が必要になることがあります。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

「仮想スイッチ」で構成エラーが起こった場合の画面

仮想マシンはシャットダウンしてエクスポートする

同一バージョンのHyper-V間での仮想マシンの移行では、仮想マシンの「保存」状態なども維持したままインポートできますが、異なるバージョンのHyper-V間では、インポート時に状態が削除されてしまうことがあるなので、可能な限り仮想マシンはシャットダウンしてからエクスポートしましょう。

仮想マシンの構成はシンプルに

チェックポイントを作成していたり、差分ディスクを利用している仮想マシンもインポート可能ですが、インポートに時間がかかる場合があるようです。

余計なトラブルを避ける意味でも、エクスポート前にチェックポイントは削除して、差分ディスクも親ディスクと結合するなどして、仮想マシンの構成はシンプルにシンプルにしておきましょう。

仮想マシンのMACアドレスが変わる

仮想マシンをインポートするときに「仮想マシンをコピーする」でインポートすると、仮想マシンのIDが変わり、仮想マシンに搭載されているネットワークインターフェースのMACアドレスも変更されます。

これにより、仮想マシンに設定しているネットワーク設定(IPアドレスなど)がリセットされる場合があるので、ネットワーク設定が変わらないようにしたいときは、エクスポート前に仮想マシンのネットワーク設定を記録しておいたほうが良いでしょう。

TPMが有効な仮想マシンを移行する場合

Windows 11の仮想マシンを作成する場合、仮想マシンの設定で「トラステッドプラットフォームモジュール(TPM)を有効にする」にチェックをつけますが、TPMを有効にした仮想マシンは、エクスポートして別マシンのHyper-Vにインポートするでけでは起動できません。

TPMを有効にした仮想マシンを別マシンのHyper-Vで動作させるには、仮想マシンを移行させるだけではなく、シールドVMのローカル証明書も移行する必要があります。

シールドVMのローカル証明書の移行手順は次のとおりです。

まず、移行元のHyper-Vホストマシンでファイルを指定して実行などから「certlm.msc」を起動し「シールドVMのローカル証明書」>「証明書」を開きます。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

2つ証明書が格納されているので、2つの証明書を選択した状態で右クリックし、メニューから「すべてのタスク」>「エクスポート」を選択します。

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

証明書のエクスポートウィザードが起動するので、以下の設定でエクスポートします。

  • はい、秘密キーをエクスポートします。
  • パスワードにチェックして、任意のパスワードを設定
  • そのほかの設定は既定値

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

次に、移行先のホストマシンで「certlm.msc」を起動し「シールドVMのローカル証明書」>「証明書」を開き、右ペインの何もないところ右クリックして、メニューから「すべてのタスク」>「インポート」を選択します。(移行先のHyper-VでTPMを有効にした仮想マシンを作成していないと「シールドVMのローカル証明書」がないので、その場合はダミーでTPMが有効な仮想マシンを作成することで作成されます。)

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

証明書のインポートウィザードが起動するので、以下の設定で移行元でエクスポートした証明書をインポートします。

  • ファイル名:エクスポートした証明書ファイルを指定
  • パスワード:エクスポート時に指定したパスワード
  • そのほかの設定は既定値

Hyper-Vで仮想マシンをエクスポートやインポートする方法。

証明書のインポートが完了したら、移行元でTPMが有効な仮想マシンが移行先でも起動できるようになります。