VirtualBoxを使ってGNS3 ネットワークシミュレータを利用していますが、Windows Hyper-V 設定によりGNS3 のQEMU でエラー「KVM acceleration cannot be used (/dev/kvm doesn't exist).」が出てOpenWRTやVyOSが起動できない場合の対処法をまとめました。 バージョンにより状況が変わる可能性が高いですが、Windows10 Pro 22H2 とVirtualBox 7.0.12 / 6.1.48 での対応方法を検証しました。
GNS3については以下を参照
要はVirtualBoxの設定 Nested VT-x/AMD-V が使えないのですが、設定画面上でグレーアウトになるなどは無く見た目では判断できません。 Windowsコマンドプロンプトでmsinfo32 を実行して、システムの要約の右側の項目一番下に「ハイパーバイザーが検出されました…」と出ているとHyper-V が起動してNested VT-x/AMD-V が使えない状態です。
Hyper-V が無効な場合は、「Hyper-V - VMモニターモード拡張機能」が表示されています。
Hyper-Vを無効化するため Windows機能の無効化
コントロールパネルのプログラムに「Windows機能の有効化または無効化」で、Linux用WindowsサブシステムやWindowsサンドボックス などHyper-Vを利用するWindowsの機能を無効化するためにチェックを外す必要があります。
コア分離のメモリ整合性がオンならオフに設定
タスクバーの検索ボックスから「コア分離」を検索して、メモリ整合性がオフになっている事を確認する。
設定からは、更新とセキュリティ/Windowsセキュリティ/Windowsセキュリティを開く/デバイスセキュリティ/コア分離
上記の設定を行っても、vEthernet などの仮想スイッチ設定が残っていてHyper-V がオフにならない場合があります。
管理者権限でコマンドプロンプトを開き、下記のコマンドを実行後に再起動します。
bcdedit /set hypervisorlaunchtype off