PowerShell4.0からPowerShell5.1に更新しようとしているHyper-Vで実行されているWindowsServer 2012R2インスタンスがあります。更新が適用されたら、サーバーを再起動して更新を適用すると、すぐにWindowsに次のように表示されます。
更新を完了できませんでした
変更を元に戻す
コンピュータの電源を切らないでください
オンラインで調査した結果、Hyper-Vのセキュアブートオプションの問題であると私は信じました。 Powershellでこのオプションを編集しようとすると:
Set-VMFirmware "Build Server" -EnableSecureBoot Off
エラーが発生しました:
Set-VMFirmware:パラメーターが無効です。第1世代の仮想マシンはVMFirmwareコマンドレットをサポートしていません
この問題の根本原因を見つけるにはどうすればよいですか。Hyper-Vでセキュアブートを無効にすることが解決策である場合、Gen1 VMでこれを行うにはどうすればよいですか?
編集:最新のパッチでWindowsを更新しようとした後、同じ「更新を完了できませんでした」というメッセージが表示されました。これは、特にPowerShellではなく、WindowsUpdateの問題のようです...
数時間の調査の結果、問題はVMのセキュアブートが原因でではなくであったようですが、代わりにコンテンツ/ボリュームが原因でした。 Windowsの一時ディレクトリの。これは、Azure WindowsVMでも問題のようです。私のVMのC:\ Windows\Tempディレクトリは〜2.8GBでした。私が従った手順は次のとおりです。
注:一部のソースでは、[〜#〜] temp [〜#〜]環境変数をC:\ Windows\Tempを直接指すように設定することを提案しています。すでにしていません。私のTEMP変数は、管理者アカウントの一時ディレクトリを指しています。上記の手順を実行するときに、 not これを変更しました。この場合、違いは見られませんでした。