Ubuntuのブートエントリが消え去ったときの対処

はじめに

ASUS ROG STRIX Z270Fを使っています。原因不明ですが,時々Ubuntuのブートエントリが消え去ります。久々に再発して,対処に苦労したのでメモ。

起こっていること

https://blog.tiqwab.com/2018/07/29/uefi-boot.html

4.を見る限り,nvramに書き込めばいいらしい。

初めはEFI Shellを使おうとしていましたが,見つけたバイナリを書き込んでも起動しないし,他にバイナリが見つからないし……

対処

UbuntuのLive USBでも持ってきてgrub-installか何かをすればよしなにやってくれる気がしましたが,isoをダウンロードしてくるのが嫌だったので,手元にあったWindowsの回復ドライブを使ってみることにしました。

起動して,トラブルシューティング->コマンドプロンプト と進めます。

1
2
3
4
5
6
7
diskpart
list disk
select disk X
list volume
select volume Y
assign letter=b:
exit

とやって,EFIパーティションをb:にマウントして,grubx64.efiを探しておきます。

https://askubuntu.com/questions/744697/i-need-to-see-the-bcdedit-for-a-windows10-ubuntu-install-both-by-wubi-and-by-sep

これが本質情報なので,

1
2
3
4
bcdedit /enum firmware
bcdedit /copy {bootmgr} /d "Ubuntu"
bcdedit /set {(guid)} path \EFI\ubuntu\grubx64.efi
bcdedit /set {fwbootmgr} displayorder {(guid)} /addfirst

という雰囲気でやるとできます。

まとめ

たまにはWindowsが役に立つこともある