最近VirtualBox内のDebianがカーネルパニックになって起動しなくなった。結局のところHyper-Vが原因だったのが、なにかの拍子にHyper-Vが有効になってしまったようだ。この記事では、起動しなくなった事象の紹介とHyper-Vのオフの仕方を紹介する。
カーネルパニック
カーネルパニックとはOSが致命的なエラーで停止してしまう状況の一つだ。Linuxは最後の力を振り絞り状況を記録に残そうとする。この記事ではこれらの記録の分析方法については深入りしない。
-
既存環境(Debian11)
GRUBから起動シーケンスが動作するものの起動できずにカーネルパニックになってしまった。この環境は3か月前までは起動していたし、それまでPCの調子が悪かったこともない。
-
新規インストール(Debian11)
インストールは進むが、Installing the base systemで停止してしまう。
ALT-F4でVirtural console 4を表示する。
Hash Sum mismatchとあるので、インストーラやメディアを当初疑ったが関係がなかった。
Hyper-Vを制御する
事象の改善にはHyper-Vをオフにすればいいのだが、オンにする方法ともに現在の状況を確認する方法も紹介する。
-
Powershellを起動する
Cortanaの検索ボックスにpowershellと入力し、一番上のWindows PowerShellを管理者として実行する。
-
コマンドを入力と再起動
プロンプトが出てきたら、つぎのコマンドを入力する。
Hyper-Vをオフにするコマンド
bcdedit /set hypervisorlaunchtype off
次のように表示できれば成功しているので、PCを再起動する。
再度Hyper-Vをオンにするコマンドと確認するコマンドは以下の通り。
Hyper-Vをオンにするコマンド
(設定値はonではなくautoになることに注意)
bcdedit /set hypervisorlaunchtype auto
Hyper-Vを確認するコマンド
bcdedit
次の起動時の設定が一覧で表示される。Hyper-Vについては最下行のhypervisorlaunchtypeにある。
動作確認
画面は省略するが、Debianのインストールも最後まで進めることができた。
同様の現象に悩まされている人の参考になればと思います。