ChatGPTに頼りまくった。
ちょっとだけわかったことをまとめてみる。
UEFIから最初に起動できるバイナリは、UEFIで信頼できる鍵だけ。
なので、通常はMicrosoftに署名してもらう必要がある。
(署名に使う鍵を登録することもできるが、ミスって既存の鍵を消しちゃったらPCが文鎮化するらしい。しかも、コマンド見てるとオプションつけ忘れるとアウトみたいなデンジャーさを感じる)
現状、Microsoftが署名してくれているのはPreloaderか、shimの二択。
systemd-bootとかgrubに署名してくれればいいんだけど、残念ながらそうはいかず…
(バージョンアップごとに署名してもらわないといけないので、更新が頻繁なものは向かないぽい)
ArchWikiを見ると Preloaderが先に書いてあるけれども、今からやるならshimのほうが絶対いい。Preloader+hashtoolの機能はshimにもあるので普通に入れ替えて良い。
で、shimに乗り換えると何が良いかというと、MOK (Machine Owner’s Key)が使える。
UEFIで起動するときはUEFIから信頼された署名がないといけないが、shimがカーネルを起動するときには、自分で署名したカーネルを信頼する。ということができる。
(SSL証明書でいうところの、CAにオレオレCAを追加したイメージ)
これで、カーネルが更新された際にHashToolが起動して、手動でカーネルイメージをEnrollするという作業がなくなる。
ディスクの暗号化周りも行っているが、この変更は特に私には影響がなかったようで、
本当に入れ替えだけで済んだ。