Windowsで以前使えていたDockerやWSLが使えなくなった時にやったこと

投稿日:2023年11月29日
最終更新日:2023年11月29日

DockerとWSLが使えなくなった?

私は以前からWindows環境でDockerやWSLを使っていたのだが、久々に使おうと思ったら、両方とも起動時にエラーが発生して使えなくなっていた。

以下がDockerを起動しようとしたときのエラー。

An unexpected error occurred
Hardware assisted virtualization and data execution protection must be enabled in the BIOS.

以下がWSLを起動しようとしたときのエラー。

WSL2 は、現在のマシン構成ではサポートされていません。
"仮想マシン プラットフォーム" オプション コンポーネントを有効にし、BIOS で仮想化が有効になっていることを確認してください。
詳細については、https://aka.ms/enablevirtualization をご覧ください

BIOSの設定を確認したが、以前以下の記事で書いた設定(Vitualization Technologyの設定をEnabledに変更)のままになっており、特に問題なさそう。

VirtualBoxを起動時にBIOSの設定でエラーが出た時の対処法(Windows10)

ネットで調べてたら解決法を見つけたのでメモっておく。ちなみにDockerやWSLのインストール手順は以下の記事で書いている。

Windows上にWSL( Linux 用 Windows サブシステム)をインストールして任意のDistributionを動かす

ROS(Robot Operating System)勉強記 まとめ

 

実行環境

Windows 10

 

Windowsブートローダーのhpyervisorlaunchtypeの設定を変更

調べてみると以下のページを発見。今年になってwslが使えなくなった人が他にもいるようだ。

https://github.com/microsoft/WSL/issues/10076

どうもHyper-Vがオフになっていると起こるらしい。今の状態を調べるためPowerShellを開いて

bcdedit

を実行してBCD(ブート構成データ)の設定を確認してみると、hpyervisorlaunchtypeがoffになっている。(画像の下から2番目の行)

これを

bcdedit /set hypervisorlaunchtype auto

でautoに設定してPCを再起動したところ、無事にDockerもWSLも起動できるようになった。何がきっかけで起動できなくなったのかはよくわからないが、ひとまずエラーは解消したので良かった。


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください