仮想マシン再起動時に 「'<仮想マシン名>' は初期化できませんでした。」で起動に失敗する

適用対象: Hyper-V Server 2012Hyper-V Server 2012Windows Server 2012 Datacenter

現象


Hyper-V にて仮想マシンを再起動の際、以下の仮想マシン接続の GUI 上で以下のポップアップエラーで起動に失敗することがあります。例えば Windows Update などゲスト OS 内から自動再起動した場合でも本事象は発生することがあります。

-----------
'<仮想マシン名>' は初期化できませんでした。

VM の保存された状態を初期化しようとして失敗しました。

 '<仮想マシン名>' は初期化できませんでした。(仮想マシン ID XXXX)

 '<仮想マシン名>' は保存された状態ファイル <VSV ファイルのフルパス> の作成またはアクセスに失敗しました。(仮想マシン ID XXXX)
-----------

また、Microsoft-Windows-Hyper-V-Worker のイベントログには以下のいずれかのエラーが記録されます。

---------------
Eevet ID 3040: '<仮想マシン名>' は初期化できませんでした。(仮想マシン ID %2)
Event ID 3070: '<仮想マシン名>' は仮想マシンの構成の読み取りまたは更新に失敗しました: %3 (%4) (仮想マシン ID %2)
Event ID 3080: '<仮想マシン名>' は保存された状態ファイル <VSV ファイルのフルパス> の作成またはアクセスに失敗しました。(仮想マシン ID %2)
---------------

原因


仮想マシンのメモリイメージファイルである BIN/VSV ファイルの保存先フォルダに "CREATOR OWNER" および  "Authenticated Users"のいずれも設定されていない場合、アクセス権エラーで BIN/VSV ファイルの作成がエラーとなり、起動/再起動が失敗致します。仮想マシンプロセスは仮想マシン固有 ID のアカウントで動作しており、BIN/VSV ファイルには 仮想マシン固有 ID もしくは Authenticated Users のいずれかの ACL がフルコントロールで設定されている必要があります。デフォルトでは保存先フォルダに Authenticated Users の ACL がドライブより継承され、CREATOR OWNER も Hyper-V によって付与されますが、これらの ACL 設定は Hyper-V の動作に必要なものとなりますので初回構築時などで CREATOR OWNER もしくは Authenticated Users の ACL を外さないようにしてください。

回避策


"CREATOR OWNER" の ACL を フルコントロールで BIN/VSV 保存先フォルダ設定します。管理者権限のあるコマンドプロンプトより以下のように icacls コマンドを実行して設定してください。

> icacls [BIN/VSV ファイル保存先] /grant "CREATOR OWNER":(OI)(CI)(F)

例:
icacls "D:\Hyper-V\TestVM\Virtual Machines\3C3C1FD5-CA9B-4E74-8859-C4C3DB443348" /grant "CREATOR OWNER":(OI)(CI)(F) 

もしくは /T オプションをつけて上位フォルダに対して実行してください。
icacls "D:\Hyper-V\TestVM\Virtual Machines" /grant "CREATOR OWNER":(OI)(CI)(F) /T