以下の内容はhttps://turgenev.hatenablog.com/entry/2024/08/22/002028より取得しました。


Linux Mintを21.3 -> 22にアップグレードしたらBIOS loopになった問題

追記

1年以上経っていてあまりにも今更なタイミングでの追記ですが、おそらくより正確な原因がわかりました。https://forums.linuxmint.com/viewtopic.php?t=438307あたりで示唆されている通り、Linux Mint 22へのアップグレードの過程で何らかの要因によりセキュアブート有効でGRUBをインストールするためのgrub-efi-amd64-signedとかshim-signedあたりのパッケージが抜けてしまっていたようです。というか、自分の環境では、きちんとセキュアブートを有効にしてこれらのパッケージをインストールすることで問題が解決しました(パッケージのインストール時に自動でgrub-installが実行される)。一応、efibootmgrの順番が合っているかはちゃんと確認してください。

(追記ここまで)

Linux Mint 22が先月リリースされたので、購入当初はWindows 7が入っていたかなり古いデスクトップPCにおいて、21.3からのアップグレードを行った。

アップグレードは問題なく完了したが、再起動してみるとgrubが壊れているっぽく、grubの画面が出るべきところで勝手に再起動されてbios画面が出てきてしまう。linux mint 22 bios loopで調べたら

https://forums.linuxmint.com/viewtopic.php?t=425504

これが出てきた。21.3 → 22で何か変更があった模様で、--no-uefi-secure-bootを付けてインストールするといいらしい。

もし事前にわかっていれば、22へのアップグレード完了時に(再起動する前に)以下のようなコマンドだけを打てばいいはず。

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB --no-uefi-secure-boot

ただし/boot/efiにはEFIシステムパーティションがマウントされているものとする。

しかし実際には事前にわからない場合のほうが多いので、Live CDからchrootして作業する。

だいたい以下のような感じでいいはず。(/dev/sdXYLinuxのルートパーティション/dev/sdZWefiシステムパーティション

sudo mount /dev/sdXY /mnt
sudo mount /dev/sdZW /mnt/boot/efi

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

sudo chroot /mnt

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=MY-GRUB --no-uefi-secure-boot
update-grub

--bootloader-id の文字列がXXXの場合、efiシステムパーティションの/EFI/XXXに関連ファイルが置かれる。なのでこれを利用するエントリをefibootmgrで追加する(コマンド例: efibootmgr -c -L MyEntry -d /dev/sdZW -l '\EFI\MY-GRUB\grubx64.efi')。しかし実際にはefibootmgr で既存のエントリが見ているディレクトリ(Linux Mintなら"ubuntu"だと思う)を調べてそれを指定すれば上書きしてくれそう(未検証)ブートローダーのファイル名がshimx64.efiではなくgrubx64.efiになると思うので自分でエントリを追加する必要がありそう。

あとちなみにBIOSでSecure Bootをオフにする必要はなかった(有効のままで問題なく起動した)。オフにして起動したときにはNVIDIAがロードされなかったのでnvidia-dkms-470を再インストールしたりした。




以上の内容はhttps://turgenev.hatenablog.com/entry/2024/08/22/002028より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14