Hyper-Vに登録してあったVMの登録が外されて、しかも再インポートもできない(0x80004005)…(꒪⌓꒪)#FallCreatorsUpdate の直前まで使ってたVMだから間違いなくアプデのせい。完全に失敗だった…#Windows10 pic.twitter.com/fHX2ZegDlY
— emuren (@emurenMRz) 2017年10月23日
Creators Updateの際、特に問題が起きなかったので普通にアップデートしたところ、Hyper-V マネージャに登録してあった二つの仮想マシンがリストから無くなり、全く未登録の状態になってしまった。
結論からすると仮想マシンの構成バージョンが古かった(構成バージョン5.0)せいでインポートできなくなったのが原因だったと思われるが、作業履歴を覚えてる範囲で残しておく。
アップデート後未登録にはなっていたものの、当初は手動でインポートをすればいいだろう程度に考えていたが、「仮想マシンをインプレースで登録する」「仮想マシンを復元する」は予期しないエラー(0x80004005)ですぐさま停止。「仮想マシンをコピーする」を試みるもコピー完了後の登録の段階で別のエラーで停止(エラー番号は違う:メモし忘れた)する事態に。
残っているVHDを基に新しい仮想マシンを作る事も考えたが、
- アップデート前、仮想マシンを「シャットダウン」をしておらず、「保存」した状態だったので作業内容が消えると困る。
- VM IDが変化してアクティベーションが動くと面倒。(ゲストOSはXPとVista)
という理由で断念。
Fall Creators Updateにしてから他にシステム的な変更は行っていなかったので、一旦ロールバックする事にした。
ロールバックは20分程度で終わりFall Creators Update前の状態※1に戻せたので、各仮想マシンを「シャットダウン」し、念のためエクスポートしたものも作った。
改めてFall Creators Updateを試みるが、やはりHyper-Vマネージャからは自動で認識される事はなく、手動(インプレース/エクスポートからの復元)でインポートする事もできなかった。
再度ロールバック※2し、今度は仮想マシンの構成バージョンを上げて※3Fall Creators Updateを試みると、何の問題もなくHyper-Vマネージャから認識されるようになった。
Windows10以降、構成ファイルがテキスト形式からバイナリ形式に大きく変わっていたのは知っていたが、まさかアップデートで旧バージョンが非対応になるとは思わなかった。
エラーを出すにしても、せめて原因が「非対応の構成バージョンである」旨を明示して欲しいものだ…
※1
Hyper-Vマネージャからも仮想マシンが見える状態には戻っていたが、[状態]欄にはエラー、[状況]欄に「仮想マシンの構成記憶域に接続できません」という旨が表示され、保存した作業状態を読み込む事は出来なくなっていた。
そのまま起動を試みると、復元できなかった作業途中の内容を削除して起動する旨が書かれたダイアログが表示されるので、
- 途中保存の情報が書き込まれているファイルをバックアップしてから続行
- ゲストOSが作業を始める前の状態で起動する
- ゲストOSのデスクトップが表示され、アイドル状態になったのを確認してから再度「保存」して「停止」
- バックアップした作業状態が記録されているファイルを、アイドル状態で「保存」した際に作成されるファイルに上書き
で、仮想マシンを再開させると、一旦ゲストOSがブルースクリーンで落ちるものの(VM内で)再起動後には上書きしたアプデ前の作業内容を復元する事が出来た。
※2
仮想マシンの状態は、この時も「エラー」になっていたが、手動インポートでエラーもなく対処可能だった。
※3
元々Windows8.1で作成した状態のまま使っていたので構成バージョンは5.0だった。それをHyper-VマネージャからCreators Update時点での最新である8.0にアップデートした。