仮想マシンをエクスポートしたらvmcxファイルの容量が異なって

vmcxファイルは、仮想マシンの構成情報を保持しています。

Windows10のHyper-Vマネージャで、guest01という仮想マシンを作成してエクスポートしたところ、vmcxファイルのサイズが異なっていました。
次の通りです。

f:id:Keena:20210523235331p:plain
なんでー???

Hyper-V仮想マシン構成ファイル

仮想マシン構成ファイルは、バージョン6以降からxml形式のファイルからバイナリファイルに変更になりました。
ざっとまとめると次の通りです。
・構成情報のxmlファイルは、vmcxファイルになりました。
・デバイス状態情報のbinファイルは、vmgsファイルになりました。
・メモリ状態情報のvsvファイルは、vmrsファイルになりました。

これによって、例えば本番マシンの構成フォルダを丸ごとコピーして、テスト用マシンのフォルダにペーストして、xmlファイルをメモ帳で直接開いて、.vhdxの読み込み先やHyper-Vマネージャ上の仮想マシン名の内容を変更して、本番マシンと全く同じものを動作させる、ってことができなくなってしまいました。

仮想マシン構成ファイルのフォルダ構造は次の通りです。
仮想マシン

┣ Snapshots  :仮想マシンに紐づけられたチェックポイントの構成情報
┃ ┣ VMCXファイル(.vmcx)
┃ ┃ ・チェックポイントに紐づけられているファイルと仮想マシン構成情報
┃ ┣ VMGSファイル(.vmgs)
┃ ┃ ・ チェックポイント取得時のデバイスの状態
┃ ┃  (Windows Server 2012 R2 以前ではVMRSファイルに含まれる)
┃ ┗ VMRSファイル(.vmrs)
┃   ・チェックポイント取得時の仮想マシンのメモリの内容
┃    (マシン停止中でも生成される)

┣ Virtual Hard Disks : 仮想マシンに紐づけられた仮想ハードディスクの情報
┃ ┣ VHDXファイル(.vhdx)
┃ ┃  ・仮想ハードディスクファイル
┃ ┗ AVHDXファイル(.avhdx)
┃    ・差分仮想ハードディスクファイル

┗ Virtual Machines :仮想マシンの構成情報
  ┣ VMCXファイル(.vmcx)
  ┃ ・仮想マシン構成情報
  ┣ VMGSファイル(.vmgs)
  ┃ ・ デバイス状態情報
  ┃  (Windows Server 2012 R2 以前ではvmrsファイルに含まれる)
  ┗ VMRSファイル(.vmrs)
    ・ランタイム状態情報(仮想マシンのメモリ内容など)