Docker Desktopで「Hardware assisted virtualization and data execution protection must be enabled in the BIOS.」などのエラーがでたときの対策方法について紹介します。
【Docker Desktop】起動できない
Hyper-Vを有効化しているにもかかわらず、Docker for windowsをインストールして起動するとエラーが出ることがあります。
例
今回はこのようなエラーが出た場合の対策方法について紹介します。
動画解説
本ページの内容は、動画でも紹介しています。
【対策①】BIOS設定の確認
BIOSのCPU関連設定で「Intel VT-x」「Intel Virtualization Technology」が無効になっていないか確認しましょう。
無効になっていれば有効にします。
【対策②】Hyper-VをコマンドプロンプトでON
「Intel VT-x」「Intel Virtualization Technology」を有効にしてもだめだった場合、コマンドプロンプト、もしくはPowershellを管理者権限で起動し、以下のコマンドを実行します。
PS> bcdedit Windows ブート ローダー -------------------------------- hypervisorlaunchtype Off
② hypervisorlaunchtype の値がoffの場合は、以下のコマンドを実行してautoにします。
PS> bcdedit /set hypervisorlaunchtype auto
③ PCを再起動します。
※筆者はこれでエラーが解消されました。
【対策③】CPUがHyper-Vに対応しているか確認
Docker for Windows を利用するには、お使いのPCのCPUがハイパーバイザー(Hypervisor)に対応している必要があります。
古いPCの場合は対応していない可能性があります。確認手順は以下の通りです。
① Microsoftのサイト(http://download.sysinternals.com/files/Coreinfo.zip)からCPUの各機能や情報を確認するツール「Coreinfo」のZIPを
② Coreinfo.zipを右クリックし、[すべて展開(T)…]をクリックします。
③ コマンドプロンプトを開き、Coreinfoフォルダー内の「Coreinfo.exe」を「コマンドプロンプト」画面にドロップし、Coreinfoのフルパスを表示させます。
>C:\Users\xxxxxx\Downloads\Coreinfo\Coreinfo.exe
④ コマンドプロンプト画面がクリックして「Enter」キーを押して実行します。
HYPERVISOR - Hypervisor is present VMX * Supports Intel hardware-assisted virtualization EPT * Supports Intel extended page tables (SLAT)
HYPERVISOR の欄が「*」となっていれば CPU が ハイパーバイザー(Hypervisor)に対応しています。
「-」だった場合は非対応でHyper-Vが利用できません。
ただし、私のPCでは「-」と表示されたにもかかわらず「対策②」で無事に実行できました。
そのため、この確認結果は必ずしも正しいとは限らないようです。
コメント
②で解決できました!ありがとうございます!
よかったです!