セキュアブートの設定
GRUB ブートマネージャー
Section titled “GRUB ブートマネージャー”GRUB を使用している場合は、以下のコマンドを実行して CA キーを使った GRUB のセキュアブートサポートを有効にしてください。
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos --modules="tpm" --disable-shim-lockUEFI でセットアップモードを有効化
Section titled “UEFI でセットアップモードを有効化”まず、ファームウェア設定に移動してセキュアブートモードを「セットアップモード」に設定する必要があります。起動中のシステムから以下のコマンドでファームウェア設定に再起動できます。
systemctl reboot --firmware-setup
これは Lenovo Ideapad 5 Pro の BIOS の画面です。セットアップモードにリセットするかファクトリーキーを復元し、システムに再起動してください。
一部の MSI 製マザーボードにはセットアップモードがありません。同様の操作を行うには、以下の手順にしたがってください。

また、一部の ASUS 製マザーボードも同様に独立したセットアップモードが実装されていません。
Boot → Secure Boot に移動し、セキュアブートモードを Custom にしてから、Key Management を開き “Delete all Secure Boot Variables” をクリックしてください。
sbctl のインストールとキーの登録
Section titled “sbctl のインストールとキーの登録”作業を始める前に、sbctl がインストールされているかどうかを確認してください。
sbctl は使いやすさを重視したセキュアブートキーマネージャーです。セキュアブートの設定やキー管理、ブートチェーンで署名が必要なファイルの追跡ができます。
sbctl のインストール方法
sudo pacman -S sbctlsbctl のインストールが完了したら、sbctl のセットアップとファームウェアへのキー登録を行います。以下の手順にしたがってください。
-
セットアップモードが有効かどうかを確認してください。
Terminal window sudo sbctl status正しい出力の例
Terminal window Installed: ✘ sbctl is not installedSetup Mode: ✘ EnabledSecure Boot ✘ Disabled -
カスタムのセキュアブートキーを作成してください。
Terminal window sudo sbctl create-keysキー作成成功時の出力例
Terminal window Created Owner UUID a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Creating secure boot keys...✔Secure boot keys created! -
Microsoft および OEM ファームウェアの組み込みキーとともにキーを登録してください。
Terminal window sudo sbctl enroll-keys --microsoft --firmware-builtin成功時の出力例
Terminal window Enrolling keys to EFI variables...✔Enrolled keys to the EFI variables! -
キーが登録され、セットアップモードが無効になっていることを確認するために、sbctl のステータスをもう一度確認してください。
Terminal window sudo sbctl status成功時の出力例
Terminal window Installed: ✔ sbctl is installedOwner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Setup Mode: ✔ DisabledSecure Boot ✘ DisabledVendor Keys: microsoft
カーネルイメージとブートマネージャーへの署名
Section titled “カーネルイメージとブートマネージャーへの署名”CachyOS は sbctl-batch-sign を提供しています。これは sudo sbctl verify から署名が必要なファイルの一覧を取得し、一括で署名するスクリプトです。
sudo sbctl verifyVerifying file database and EFI images in /boot...✘ /boot/1c4b5246eef05ac3bc87339323cd5101/6.10.0-cn4.0.fc40.x86_64/linux is not signed✘ /boot/EFI/BOOT/BOOTX64.EFI is not signed✘ /boot/EFI/systemd/systemd-bootx64.efi is not signed✘ /boot/1c4b5246eef05ac3bc87339323cd5101/0-rescue/linux is not signed✘ /boot/1c4b5246eef05ac3bc87339323cd5101/6.10.0-cn3.0.fc40.x86_64/linux is not signed
sudo sbctl-batch-sign
sudo sbctl verifyVerifying file database and EFI images in /boot...✔ /boot/1c4b5246eef05ac3bc87339323cd5101/6.10.0-cn4.0.fc40.x86_64/linux is signed✔ /boot/EFI/BOOT/BOOTX64.EFI is signed✔ /boot/EFI/systemd/systemd-bootx64.efi is signed✔ /boot/1c4b5246eef05ac3bc87339323cd5101/0-rescue/linux is signed✔ /boot/1c4b5246eef05ac3bc87339323cd5101/6.10.0-cn3.0.fc40.x86_64/linux is signedこれにてすべてのファイルへの署名が完了しました。システムを再起動して UEFI 設定でセキュアブートを有効にしてください。
参考としてこちらも確認してください。
-s フラグで署名されたファイルは sbctl のデータベースに保存されるため、これ以降同じ手順を行う必要はありません。
CachyOS は systemd の systemd-boot-update.service を使って再起動時にブートマネージャーを更新します。そのため sbctl の pacman フックは更新された EFI バイナリに署名しません。回避策として、ブートマネージャーに直接署名することができます。
sudo sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efiLimine は特殊なブートマネージャーで、ブート時に使用するカーネルイメージやその他のファイルのハッシュを検証できます。この機能が有効な場合、sbctl-batch-sign による署名など、ユーザーが手動で行った変更はファイルのハッシュを変更するため、Limine のチェックサム検証の失敗につながります。
ただし、Limine は EFI チェーンロードと署名チェックをバイパスする特殊なブートプロセスを持つため、これらのファイルへの署名は必要ありません。署名が必要な EFI バイナリは Limine 自身だけです。
設定ファイルのチェックサムを自動で登録するよう設定するには、/etc/default/limine に以下の行を追加してください。
ENABLE_ENROLL_LIMINE_CONFIG=yes次に、Limine のスプラッシュ画像のハッシュを生成します。
- 設定ファイルでスプラッシュ画像の現在の名前とパスを確認してください。
以下のような行が見つかるはずです。
ターミナルを開き以下のコマンドを実行 sudo cat /boot/limine.confTerminal window wallpaper: boot():/limine-splash.png - スプラッシュ画像の BLAKE2B ハッシュを生成し、設定ファイル内でファイルパスの末尾に書き加えてください。
ハッシュが出力されます。以下はハッシュの例です。
以下のコマンドを、パスは前の手順で確認したものに置き換えて実行 sudo b2sum /boot/limine-splash.pngTerminal window 75205d08fa9c61599897857e861d6b2f6da25465183fc4cc9efecffb22ee630efb510f2ef1b17677db94c28d5c69ad2ceb4d3892f5bec9cfa65c97b5ba16f52f - 前の手順で生成したハッシュをコピーしたのち、テキストエディターで設定ファイルを開き、スプラッシュ画像のパスの末尾にハッシュを書き加えてください。
このとおりにパスの末尾に
Terminal window wallpaper: boot():/limine-splash.png#75205d08fa9c61599897857e861d6b2f6da25465183fc4cc9efecffb22ee630efb510f2ef1b17677db94c28d5c69ad2ceb4d3892f5bec9cfa65c97b5ba16f52f#記号からはじめてハッシュを書き加えて、変更を保存してください。
設定ファイルのチェックサム自動登録を有効化し、スプラッシュ画像のハッシュを生成したら、以下のコマンドを実行して設定ファイルのチェックサムを登録し、Limine の EFI バイナリに署名してください。
# limine-enroll-config を使って設定ファイルのチェックサムを登録し、Limine の EFI バイナリに署名# 内部では sbctl を使用していますsudo limine-enroll-configsudo limine-updateセキュアブート状態の確認方法
Section titled “セキュアブート状態の確認方法”セキュアブートが有効かどうかを確認するには、以下のいずれかのコマンドを実行してください。
sudo sbctl statusInstalled: ✓ sbctl is installedOwner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Setup Mode: ✓ DisabledSecure Boot: ✓ EnabledVendor Keys: microsoft
bootctlSystem: Firmware: UEFI 2.80 (INSYDE Corp. 28724.16435) Firmware Arch: x64 Secure Boot: enabled (user) TPM2 Support: yes Measured UKI: no Boot into FW: supportedリンクとクレジット
Section titled “リンクとクレジット”- このガイドの基礎となった Arch Wiki (クリックすると日本語版に飛びます) — ここに記載された内容の多くはここから引用しています。
- sbctl — このようなわかりやすいセキュアブート設定ガイドは、このソフトウェアの素晴らしい開発があってこそ実現しました。
- Improving the Secure Boot Experience by Morten linderud —
sbctlが開発される以前のセキュアブート設定の複雑さについて書かれた Morten “Foxboron” Linderud のブログ記事です。