Hyper-VとVMware/VirtualBoxは共存不可!?

先日Windows10にHyper-Vをインストールして遊んでいたが、
ハイパーバイザーでないホスト型の仮想化ソフトも使い分けたく、
昔から使っているVM playerをインストールした。

仮想マシンをインストールして、いざ起動。

vm_err1.png

はて・・・?

Hyper-Vとは共存できないのかな?
じゃぁVirtualBoxでいいやと、こちらをインストール。

仮想マシンをインストールして、いざ起動。

vm_err2.png

謎なエラー。
これもVM playerと同じ結果なのか。


ハイパーバイザーもホスト型も両方とも


やっぱり同じPCでハイパーバイザーもホスト型も使いたい!
何か方法はないものか。ということでググる。

どうやらブート構成データというものを編集して、
Hyper-VのON/OFFをしなければならないらしい。

いちいちON/OFFするのは面倒くさいがしょうがないか・・・。

管理者権限でコマンドプロンプトを立ち上げ、下記コマンドを実行。
残念ながらON/OFF後は再起動が必須となる。

◆Hyper-V ON (有効化)
 bcdedit /set hypervisorlaunchtype auto


◆Hyper-V OFF (無効化)
 bcdedit /set hypervisorlaunchtype off


◆ステータス確認
 bcdedit /enum | find "hypervisorlaunchtype"

※「Auto」で有効、「Off」で無効となっている。


BATファイルの作成


毎回コマンドを実行するのも面倒くさいので、BATファイルを作成した。
BATファイルも管理者権限で実行しないとエラーとなる。

下記をテキストエディタに貼り付けて、拡張子「.bat」で保存。

 :START
@echo off

echo.
echo ************ Hyper-V ON/OFF メニュー ************
echo [1] : ON
echo [2] : OFF
echo [3] : STATUS
echo [4] : END
echo *************************************************
echo.
set /p NUM="番号を選択してください >"
if "%NUM%"=="1" goto ON
if "%NUM%"=="2" goto OFF
if "%NUM%"=="3" goto STATUS
if "%NUM%"=="4" goto :EOF

:ON
@echo on
bcdedit /set hypervisorlaunchtype auto
@echo off
pause
goto REBOOT

:OFF
@echo on
bcdedit /set hypervisorlaunchtype off
@echo off
pause
goto REBOOT

:STATUS
@echo on
bcdedit /enum | find "hypervisorlaunchtype"
@echo off
pause
goto START

:REBOOT
@echo off
set /p KEY="再起動しますか?(y/n) >"

if "%KEY%" == "y" (
shutdown -r
) else (
echo "処理を中断します"
goto :EOF
)


あまり綺麗なBATファイルではないが、動くので良しとしよう。



ひと目でわかる Hyper-V Windows Server2012 R2版


この記事へのコメント