WSL2 を有効化したら VirtualBox が動作しなくなったので戻した

WSL2を有効化したところ、VirtualBoxに入れていたUbuntuが起動しなくなってしまった。 (ログイン画面までは表示されるが、ログイン後にデスクトップ画面がいつまでたっても表示されない。)

WSL2 を有効化することで Hyper-V が有効化され、VirtualBox がこれまで使用していた仮想化機構(VT-X)が無効化されるのが原因のようだった。

WSL 2 についてよく寄せられる質問 | Microsoft Docs

VirtualBox 6.0 以降は Hyper-V と共存できるようになったはずだが、環境によってはうまく動かない場合があるようだ。

VirtualBoxが使えないのは困るので、とりあえず WSL1 に戻した。

手順

PowerShellを起動し、以下のコマンドで既定のバージョンを WSL1 に戻す。

wsl --set-default-version 1

また、自分の場合、WSL1 で使っていた Ubuntu のバージョンを WSL2 に変更していた(wsl --set-version Ubuntu 2 を実行した)ので、以下のコマンドで WSL1 に戻した。

wsl --set-version Ubuntu 1

PowerShellを管理者として起動し、以下のコマンドで VirtualMachinePlatform を無効化する。

dism.exe /online /Disable-Feature /featurename:VirtualMachinePlatform

マシンの再起動を求められるので、それに従って再起動すると、VirtualBoxが動くようになった。

dism コマンドによる Windows の機能の無効化については、以下のサイトを参考にした。