はじめに
仮想化基盤としてHyper-VをインストールしたWindows10マシンで、AndroidテストにBlueStackも使ってみたいと思ったのだが、どうも競合するらしくどちらかを無効にしないといけない...らしい。
どちらも再インストールするのは面倒なので、うまく切り替える方法はないかと模索したところ、ブートメニューで実現する方法があるらしいとのこと。バッチファイルで再起動を伴う切り替えも可能らしいのだが、今回はこのパターンでいいかな。
手順
※本操作はコマンドプロンプト(管理者)で行ってください。
1.現在のブート構成データを確認する
C:\WINDOWS\system32>bcdedit
Windows ブート マネージャー
--------------------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume2
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager
locale ja-JP
inherit {globalsettings}
default {current}
resumeobject {794a0188-6f30-11e8-933d-b1afbf92b104}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
Windows ブート ローダー
--------------------------------
identifier {current}
device partition=C:
path \WINDOWS\system32\winload.efi
description Windows 10
locale ja-JP
inherit {bootloadersettings}
recoverysequence {794a018b-6f30-11e8-933d-b1afbf92b104}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {794a0188-6f30-11e8-933d-b1afbf92b104}
nx OptIn
bootmenupolicy Standard
hypervisorlaunchtype Auto
2.ブート構成データにHyper-V無効モードメニューを追加する
C:\WINDOWS\system32>bcdedit /copy {current} /d "Windows 10 (Hyper-v disabled)"
エントリは {794a018d-6f30-11e8-933d-b1afbf92b104} に正常にコピーされました。
3.ブート構成データ上で選択できる起動モードを確認する
C:\WINDOWS\system32>bcdedit
Windows ブート マネージャー
--------------------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume2
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager
locale ja-JP
inherit {globalsettings}
default {current}
resumeobject {794a0188-6f30-11e8-933d-b1afbf92b104}
displayorder {current}
{794a018d-6f30-11e8-933d-b1afbf92b104}
toolsdisplayorder {memdiag}
timeout 30
Windows ブート ローダー
--------------------------------
identifier {current}
device partition=C:
path \WINDOWS\system32\winload.efi
description Windows 10
locale ja-JP
inherit {bootloadersettings}
recoverysequence {794a018b-6f30-11e8-933d-b1afbf92b104}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {794a0188-6f30-11e8-933d-b1afbf92b104}
nx OptIn
bootmenupolicy Standard
hypervisorlaunchtype Auto
Windows ブート ローダー
--------------------------------
identifier {794a018d-6f30-11e8-933d-b1afbf92b104}
device partition=C:
path \WINDOWS\system32\winload.efi
description Windows 10 (Hyper-v disabled)
locale ja-JP
inherit {bootloadersettings}
recoverysequence {794a018b-6f30-11e8-933d-b1afbf92b104}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {794a0188-6f30-11e8-933d-b1afbf92b104}
nx OptIn
bootmenupolicy Standard
hypervisorlaunchtype Off
結果
再起動するとブートメニューが表示されるようになった。表示されるブートメニューにて起動モードを選択すると、Windows10がそのモードで起動しなおすようになった。
※ブート選択メニューにて、タイムアウト時間が超過すると"Windows boot manager"の"default"値に設定されているブートメニューが選択されます。とデフォルトのブートオーダーが実行される。
参考
- Windows10でマルチブート/デュアルブート起動時のオペレーティングシステム(OS)名称を変更する https://www.billionwallet.com/goods/windows10/win10_boot_name.html
- ブートメニューでHyper-Vの有効化のON/OFFを簡単に切り替える http://fly1tkg.hatenablog.jp/entry/2017/09/06/084121
- Microsoft BCDEditのコマンドラインオプション https://docs.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/bcdedit-command-line-options