VirtualBoxで64bitOSを扱えない。VT-x is not available (VERR_VMX_NO_VMX).

Windows 10上でVirtualBox ver.5系を動作させていて気がついたが、64bitの仮想マシンが生成できない。 仮想マシンを作成する際にOSとバージョンを選択するが、32bitのみ表示され、64bitはリストに出現しない

VirtualBox 64bit is not available .

また作成済みの64bit OSの仮想マシンを起動すると、「VT-x is not available (VERR_VMX_NO_VMX).」 のエラーが発生してしまい、起動できない

VirtualBox VT-x is not available (VERR_VMX_NO_VMX).
  • VirtualBox
仮想マシン"CentOS67-develop"のセッションを開けませんでした。

VT-x is not available (VERR_VMX_NO_VMX).

終了コード : E_FAIL (0x80004005)
コンポーネント: ConsoleWrap
インターフェース: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

VirtualBoxで64bitを有効にするには、BIOSの設定が必要である。 BIOS画面のCPU設定で、「Intel Virtualization Technology」を有効にしなければならない。

Intel Virtualization Technology

しかしこの設定は以前有効にしたはずだ。

それなのに今回64bitが利用できなくなってしまった。

今回の原因はMicrosoftのHyper-VがVT-xを利用してためにVirtualBoxがVt-xを利用できないようだ。

コマンドプロンプト(管理者権限)でbcdeditコマンドを実行すると、hypervisorlaunchtype がautoになっていた。

これがVT-xを利用しているのだろう。

C:\WINDOWS\system32>bcdedit

Windows ブート マネージャー
--------------------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  ja-JP
inherit                 {globalsettings}
default                 {current}
resumeobject            {1c2eb29f-8b5f-11e5-b457-e2cc6fa1a0bf}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows ブート ローダー
--------------------------------
identifier              {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.exe
description             Windows 10
locale                  ja-JP
inherit                 {bootloadersettings}
recoverysequence        {5aa83d28-8b5f-11e5-b457-e2cc6fa1a0bf}
recoveryenabled         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {1c2eb29f-8b5f-11e5-b457-e2cc6fa1a0bf}
nx                      OptIn
bootmenupolicy          Standard
<strong>hypervisorlaunchtype    Auto</strong>

このhypervisorlaunchtypeをOFFにすれば良いので、bcdedit コマンドを実行してhypervisorlaunchtype を OFFににし、PCを再起動する。

<strong>bcdedit /set hypervisorlaunchtype off</strong>
virtualbox 64bit not available

もとに戻すときにはこちらのコマンドを実行してPCを再起動する。

bcdedit /set hypervisorlaunchtype auto

参考

Run Hyper-V and VirtualBox on the same machine | derekgusoff

以前は64bitも問題が無かったのに、あるときから利用できなくなった場合はHyper-Vが影響している可能性が高い。

この設定は以前もやったのだが、VisutalStudio2015をインストールしたら復活していたようだ。