Linux から高速ブートを無効にする方法は?

Linux から高速ブートを無効にする方法は?

デュアルブートを使用していますが、誤って高速ブートオプションをオンにしてしまったため、Windows にアクセスできなくなりました。

現時点ではどちらも実行できないので、Linux からの高速ブートを無効にするか、ブート メニューにアクセスするにはどうすればよいでしょうか?

いくつかの投稿を確認しましたが、修正方法についての情報があまり見つかりませんでした。私は Windows 10 と Arch Linux を使用しています。

高速ブートのため、BIOS 設定に入ることができません。ブート メニューにアクセスする方法がありません。

答え1

「高速ブート」は UEFI 固有の機能であり、BIOS ブート モードでは実際には機能しないため、UEFI ファームウェアがネイティブ モードになっているようです。

ブートメニューにアクセスする

別のOSに再起動したいだけなら、ファームウェアの「高速ブート」を無効にする必要はありません。実行中のOS内で別のブートオプションを選択するには、ブートネクストEFI変数の使用efibootmgr --bootnext:

# efibootmgr
 BootCurrent: 0002
 Boot0002* Arch Linux
 Boot0003* Windows Boot Manager
# efibootmgr --bootnext 0003
# reboot

bcdedit /enum firmwareそれぞれの BCD エントリ ID を見つけてBootNext を設定することで、 Windows でも同じことを実現できますbcdedit /set {fwbootmgr} bootsequence LINUX_ID

これは一時的な変更であることに注意してください。新しいデフォルトとして選択を保存するには、起動順序を使用するefibootmgr --bootorderか、同様にdisplayorderWindows で bcdedit を介してプロパティを設定します。

ファームウェア設定へのアクセス

高速ブートモードを無効にするファームウェア設定画面(「BIOS設定」)にアクセスするには、Os適応症EFI変数の使用systemctl reboot:

# systemctl reboot --firmware-setup

または、systemd を使用しない場合 (残念ながら、Linux 上の efibootmgr にはまだこのための便利なオプションがありません)。

# var=OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c
# printf '\7\0\0\0\1\0\0\0\0\0\0\0' > /sys/firmware/efi/efivars/$var
# reboot

Windows で同等のものは次のようになりますshutdown /r /t 0 /fw。または、Shift キーを押しながら「スタート > 再起動」オプションをクリックしたときに表示されるメニュー項目です。

関連情報