#概要
Hyper-V を有効化すると、VirtualBox / vmware / BlueStacks / NoxPlayer などの仮想化ソフトウェアが使用できなくなる場合があります。"Windowsの機能の有効化または無効化" から Hyper-V を無効化すれば解決するのですが、有効と無効を切り替える度にインストールとアンインストールが行われるため現実的ではありません。
そこで、今回は Hyper-V をアンインストールせず、一時的に無効化するための手順を紹介します。
#環境
ここで紹介する手順は、以下の環境で動作検証を行いました。
OS | Version | OS Build |
---|---|---|
Windows 10 Pro 64bit | 1903 | 18362.329 |
#Hyper-V の有効/無効を切り替えるコマンド
Windows にはブート構成データを管理するためのコマンドラインツール (BCDEdit) があり、これを使用して OS 起動時に Hyper-V の有効/無効を切り替えることができます。ただし、このコマンドの実行には管理者権限が必要となります。
# Hyper-V の有効化
bcdedit /set hypervisorlaunchtype auto
# Hyper-V の無効化
bcdedit /set hypervisorlaunchtype off
#無効化 BAT ファイルの作成
まず、以下のコードをテキストエディタにコピー&ペーストして保存します。拡張子が bat であれば、ファイル名は好きに付けていただいて大丈夫です。
ここでは [Hyper-V無効化.bat] としておきます。
@ECHO OFF
bcdedit /set hypervisorlaunchtype off
echo Hyper-Vを無効に設定しました。設定は再起動後に反映されます。
echo 今すぐ再起動しますか? ( Y / N )
set INPUT_STR=
set /P INPUT_YES_OR_NO=
:CONFIRM
if "%INPUT_YES_OR_NO%"=="" goto :CONFIRM
if "%INPUT_YES_OR_NO%"=="Y" (
shutdown /r /t 0
) else if "%INPUT_YES_OR_NO%"=="y" (
shutdown /r /t 0
) else if "%INPUT_YES_OR_NO%"=="N" (
echo 処理を終了します。
) else if "%INPUT_YES_OR_NO%"=="n" (
echo 処理を終了します。
) else (
echo Y または N を入力してください。
goto :CONFIRM
)
PAUSE
EXIT
#無効化 BAT ファイルのショートカットを作成
作成した BAT ファイルをダブルクリックして実行した場合、以下の様な表示がされて正しく実行できません。
ブート構成のデータ ストアを開けませんでした。
アクセスが拒否されました。
これは bcdedit の実行に管理者権限が必要なためです。BAT ファイルを右クリックして [管理者として実行(A)] を選択すれば良いだけの話ですが、できればダブルクリックだけで実行したい。ということで、よく知られているショートカットを作成して実行する方法を採ります。
まず、作成した BAT ファイルのショートカットアイコンを作成します。続けて、ショートカットアイコンのプロパティを開き、[ショートカット] タブの [詳細設定] を開きます。
詳細プロパティが開いたら [管理者として実行(R)] にチェックをつけて OK
をクリックします。
#無効化 BAT の実行
作成したショートカットアイコンをダブルクリックすると、UAC の確認の後に cmd が管理者として実行されて以下の様な表示がでます。
ここで Y
または y
を入力すると Windows が再起動されて Hyper-V が無効になります。
この操作を正しく終了しました。
Hyper-Vを無効に設定しました。設定は再起動後に反映されます。
今すぐ再起動しますか? ( Y / N )
#最後に
上記と同様の手順で [Hyper-V有効化.bat] のショートカットアイコンも作成しておくと良いでしょう。