2026-04-22 (We) [長年日記]
_ 原神 - リンネアの授業
「飴細工・リンネア」をもらった。 これ、ほとんど効果がないのに23時間後に期限切れって、 どうしたらいいんだ ^^;
_ secure boot 障害
納得いかない。先日の日記を見ても、Windows Update が入り込むタイミングなんてないじゃん。
というわけで、例によって gemini と相談しながら設定を調査・対処していった。
まず、
# pesign -i /efi/EFI/Limine/BOOTX64.EFI -l
---------------------------------------------
certificate address is 0x7f0bad4c3008
Content was not encrypted.
Content is detached; signature cannot be verified.
The signer's common name is MosbyKey [2026.04.21]
No signer email address.
Signing time: Tue Apr 21, 2026
There were certs or crls included.
---------------------------------------------
Content is detached が問題らしい。署名がバイナリに埋め込まれていない。 だから signature cannot be verified。
埋め込みたいんだけど、pesign にはその方法がないらしく、sbsign に切り替えることにした。
使い方的には↓こんな感じ。
sbsign --key /etc/pki/pesign_luna/MosbyKey.nopass.pem \
--cert /etc/pki/pesign_luna/MosbyKey.crt \
--output /efi/EFI/Limine/BOOTX64.EFI \
/tmp/a.efi
/tmp/a.efi は、config の b2sum を enroll-config したもの。
nopass は↓で作った。
openssl rsa -in MosbyKey.key -out MosbyKey.nopass.key
sbverify で確認。確認方法は↓。
# sbverify --cert /etc/pki/pesign_luna/MosbyKey.crt /efi/EFI/Limine/BOOTX64.EFI
Signature verification OK
この BOOTX64.EFI で Limine は起動できた。
ただ、linux kernel も同じ方法を使ってたので、こちらも sbsign に切り替える。
UKI (Unified Kernel Image) 方式。
これまで、/etc/initcpio/post/uki-pesign を作って、そこで pesign してたんだけど、 uki-sbsign を使うようにした (なんでか、私のはもうちょっと複雑。なんで?このページのスクリプトが最近簡素になった??)。
直った…
結局、何が変わったのかは判らないままだけど、回復はできた。
ん?あれ?
# pesign -i /efi/EFI/Limine/BOOTX64.EFI -l
---------------------------------------------
certificate address is 0x7f91f1c21008
Content was not encrypted.
Content is detached; signature cannot be verified.
The signer's common name is MosbyKey [2026.04.21]
No signer email address.
Signing time: Wed Apr 22, 2026
There were certs or crls included.
---------------------------------------------
# sbverify --cert /etc/pki/pesign_luna/MosbyKey.crt /efi/EFI/Limine/BOOTX64.EFI
Signature verification OK
#
おかしいなぁ・・・・ pesign はダメ言うてるけど sbverify は OK って言ってる。
まぁ、secureboot 用には sbsign/sbverify 使え、ってことでいいのだろうな ^^;
あと、証明書の親子関係なんだけど、
luna:~ % mokutil --pk |sed -n -e '/^.key/p' -e '/Issuer:/p' -e '/Subject:/p'
[key 1]
Issuer: CN=Mosby Generated PK [2026.04.21]
Subject: CN=Mosby Generated PK [2026.04.21]
luna:~ % mokutil --kek |sed -n -e '/^.key/p' -e '/Issuer:/p' -e '/Subject:/p'
[key 1]
Issuer: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=Microsoft Corporation Third Party Marketplace Root
Subject: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=Microsoft Corporation KEK CA 2011
[key 2]
Issuer: C=US, O=Microsoft Corporation, CN=Microsoft RSA Devices Root CA 2021
Subject: C=US, O=Microsoft Corporation, CN=Microsoft Corporation KEK 2K CA 2023
luna:~ %
これはもう、そういうもんなんだろうな。
それと、MosbyKey [2026.04.21] は db に入ってる。efi-readvar -v db で確認できる。
Mosby がここにも入れるんだろうな。
今となっては全然解らないのが、何故 sbsign をやめて pesign にしたか。 以前の日記に、「使い方がよく解らなかったので、理解できた pesign で」とか書いてある。 sbsign の何がそんなに難しかった? むしろ簡単じゃん。解せぬ…
_ NTE
事前登録済み。