Home Assistantで気付いたこと・分かったこと
Hyper-Vで「別のプロセスが使用中です」の原因
はじめに
Home AssistantをVirtualBoxからHyper-Vへ変更することにしました。
仮想マシンの作成は順調に進み、最後に起動ボタンを押したところ、
別のプロセスが使用中です
というエラーが表示されました。
Hyper-Vを使い始めて最初に遭遇したトラブルです。
最初はHyper-Vの設定を疑った
エラーメッセージを見ると、「仮想マシンの設定が間違っているのだろう」と考えるのが普通だと思います。
私も、
Secure Bootの設定
自動チェックポイント
VHDXファイルの指定
仮想マシンの作り直し
など、Hyper-Vの設定ばかり確認していました。
しかし、何をやっても状況は変わりません。
エラーメッセージをもう一度考えてみる
ここで一度立ち止まり、エラーメッセージをそのまま読んでみました。
「別のプロセスが使用中です」
Hyper-Vの設定が間違っているのであれば、「設定が不正です」や「起動できません」といったメッセージになるはずです。
しかし、このメッセージは**「誰かが使っている」**と言っています。
それなら、Hyper-V以外の何かがVHDXファイルを開いている可能性があるのではないかと考えました。
Windowsが使っていた
そこで、PowerShellでVHDXの状態を調べてみました。
Get-DiskImage "C:\Hyper-V\HomeAssistant\haos_ova-18.1.vhdx"
すると、
Attached : True
と表示されました。
つまり、WindowsがVHDXをディスクとしてマウントしていたのです。
Hyper-Vも同じファイルを使おうとしていたため、
別のプロセスが使用中です
というエラーになっていました。
解決方法
WindowsからVHDXを切り離します。
Dismount-DiskImage -ImagePath "C:\Hyper-V\HomeAssistant\haos_ova-18.1.vhdx"
再度確認すると、
Attached : False
になりました。
この状態でHyper-Vを起動すると、Home Assistantは問題なく起動しました。
今回の気付き
今回、一番印象に残ったのは、
エラーメッセージを思い込みで解釈していたことです。
「Hyper-Vで起きたエラーだから、原因もHyper-Vにある。」
そう考えていました。
しかし実際には、
エラーメッセージの意味をそのまま受け止めれば、答えは書かれていました。
「別のプロセスが使用中です。」
つまり、
「Hyper-V以外の何かが使っている。」
原因はHyper-Vではなく、Windowsだったのです。
おわりに
トラブルが発生すると、どうしても「今触っているソフト」を疑ってしまいます。
しかし今回の経験から、
まずはエラーメッセージを素直に読むことが大切
だと改めて感じました。
Hyper-Vの設定を何時間も見直す前に、
「誰がそのファイルを使っているのか」
という視点で考えていれば、もっと早く解決できたかもしれません。
同じエラーに遭遇した方の参考になれば幸いです。
コメント
コメントを投稿