VirtualBoxの仮想マシン新規作成で64bitのゲストが選択できない現象を解消する方法です。
##環境
問題が出ていた環境は、
- OS: Windows 8.1 Pro 64bit
- Hyper-V有効
- Intel VT、VT-d有効
です。
この時のVirtualBoxの仮想マシン新規作成時の選択肢はこんな感じ。
#ざっくりいうと
Hyper-VがCPUの仮想化支援拡張(VT、VT-dなど)を握ってしまい、VirtualBoxでは無効と判定されてしまう。
結果、64bitサポートが無効になってしまう。
#対策
Hyper-Vを無効にすればVirtualBoxの64bitサポートが有効になります。
ブートメニューにHyper-Vを無効にした起動メニューを追加して簡単に切り替えられるようにします。
##手順
###ブートメニューに項目を追加
bcdeditを使用してブートメニューに項目を追加します。
管理者としてコマンドプロンプトを起動し、現在の起動設定をコピーした上でHyper-Vを起動しないように設定変更します。
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>bcdedit /copy {current} /d "Disable Hyper-V"
エントリは {ea37cfa1-ecb8-11e3-bec0-78dd08b0ae41} に正常にコピーされました。
C:\WINDOWS\system32>bcdedit /set {ea37cfa1-ecb8-11e3-bec0-78dd08b0ae41} hypervisorlaunchtype off
この操作を正しく終了しました。
C:\WINDOWS\system32>
最初のbcdeditの出力は環境によって異なります。
出力されたGUIDを次のbcdeditの引数にします。
###Hyper-Vを無効にして起動
Shiftキーを押しながらWindowsを再起動します。
「オプションの選択」が表示されたら“別のオペレーティングシステムの使用”を選択します。
「オペレーティングシステムの選択」で先ほど追加した“Disable Hyper-V”を選択します。
PCが再起動し、Hyper-V無効の状態でWindows 8.1が起動します。
###確認
VirtualBoxを起動し仮想マシンの作成を実行します。
64bitの選択肢が増えています。
#まとめ
ハイパーバイザーやホスト型の仮想PCソフトの共存は一筋縄ではいかないというお話でした。
Windows 8から追加されたClient Hyper-VではUSBが使えないため、VirtualBoxも必要となるシチュエーションがあります。
ウィルス対策ソフトと仮想PCソフトの共存はダメとわかっているんですけどね。
##スペシャルサンクス
今回の対応では以下のサイトを参考にさせていただきました。
ありがとうございました。