【Docker Desktop】エラーで起動できない場合の対策

Docker Desktopで「Hardware assisted virtualization and data execution protection must be enabled in the BIOS.」などのエラーがでたときの対策方法について紹介します。

【Docker Desktop】起動できない

Hyper-Vを有効化しているにもかかわらず、Docker for windowsをインストールして起動するとエラーが出ることがあります。

「Hardware assisted virtualization and data execution protection must be enabled in the BIOS.」

今回はこのようなエラーが出た場合の対策方法について紹介します。

動画解説

本ページの内容は、動画でも紹介しています。

【対策①】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では「-」と表示されたにもかかわらず「対策②」で無事に実行できました。
そのため、この確認結果は必ずしも正しいとは限らないようです。

関連記事
1 【Windows10】Docker環境をインストールする方法
2 【Docker入門】使い方を初心者向けに紹介
プログラミング
技術雑記

コメント

タイトルとURLをコピーしました