追記
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/sdXYはLinuxのルートパーティション、/dev/sdZWはefiシステムパーティション)
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を再インストールしたりした。