トップ «前の日記 最新 次の日記»

2025-09-16 (Tu) [長年日記]

_ PC を secure boot 化

yay -S shim-signed
sudo cp -i /usr/share/shim-signed/shimx64.efi /efi/EFI/arch
sudo cp -i /usr/share/shim-signed/mmx64.efi /efi/EFI/arch
sudo efibootmgr --unicode -b 0002 --disk /dev/nvme0n1 --part 1 --create --label Shim --loader /EFI/arch/shimx64.efi
sudo pacman -S mokutil
sudo mokutil --disable-validation

パスワードを聞かれるので設定。

sudo mokutil --kek

これで KEK が表示できた。

        Validity
            Not Before: Jun 24 20:41:29 2011 GMT
            Not After : Jun 24 20:51:29 2026 GMT
        Subject: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=Microsoft Corporation KEK CA 2011

やばいやんw 来年6月に期限が切れるものが使われてるらしい。

grub-install --target=x86_64-efi --efi-directory=/efi --sbat /usr/share/grub/sbat.csv

grub は arch 公式 repo に入ってるものに戻してある。

sudo pacman -S efitools
yay -S preloader-signed
sudo cp /usr/share/preloader-signed/PreLoader.efi /efi/EFI/arch/
sudo cp /usr/share/preloader-signed/HashTool.efi /efi/EFI/arch/

この後、↓こんな感じになるように mv でファイル名を変更する。

パス 実体
/efi/EFI/arch/shimx64.efi shim
/efi/EFI/arch/grubx64.efi preloader
/efi/EFI/arch/loader.efi grub

んで、一旦起動し、Change secure boot state で OFF にする。 もし、この画面が消えるまでボーッと見てたら、次の起動からこの画面は表示されなくて設定できない。 その場合は mokutil --disable-validation をもう一度実行して再起動すると、表示される。

Booting in insecure mode と表示されるようになる。

最後に、UEFI の設定で secure boot を ON にして、 Allow Microsoft 3rd party UEFI CA も ON にして起動。

Linux も Windows も起動できるはず。 Windows でセキュアブートの状態を確認すると、有効になってるはず。

以前からやりたかったことが、やっとできたわ。 shim と preloader を両方使うとは気づかなかった。


編集 パスワード変更