さて、皆様はWindowsとLinuxなどでデュアルブートを利用していますでしょうか。デュアルブートを利用している方は、片方のOSを入れ直したりアップデートしたタイミングでUEFIの起動順序を変えられてしまい、修復に苦労した、なんて経験がたいていあるのではないでしょうか。
Linuxの場合
Linuxでは、efibootmgrという便利なコマンドがあるのでこれで起動順序を直すことができます。
# 入っていなければインストール(Debian系)
sudo apt update ; sudo apt install efibootmgr
# 起動エントリのリストを得る
efibootmgr
# リストから一番に持ってきたい起動エントリの番号を探し(XXXXとする)、以下で設定
sudo efibootmgr -o XXXX
Windowsの場合
しかし、efibootmgrコマンドはWindowsでは使えません。長らくUbuntuのライブUSBなどに頼るしかないかと思っていましたが、なんとWindowsの標準コマンドでも設定変更が可能であることを知りました。bcdeditというWindowsのローダーの設定をいじるツールを利用するようです。(あくまでWindowsのローダー内の設定変更を行うだけのイメージだったので、グローバルなUEFIの設定をいじれるとは意外でした。)
# 起動エントリのリストを得る
bcdedit /enum firmware
# 目的の起動エントリのIdentifierをコピーする(UUID)
# 目的の起動エントリのUUIDを以下のコマンドで設定する
bcdedit /set '{fwbootmgr}' default '{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}'
※ 参考
https://stackoverflow.com/questions/44919190/windows-equivalent-to-efibootmgr