コンテンツにスキップ

セキュアブートの設定

GRUB を使用している場合は、以下のコマンドを実行して CA キーを使用する GRUB のセキュアブートに対応する設定を有効にしてください。

Terminal window
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos --modules="tpm" --disable-shim-lock

UEFI でセットアップモードを有効化

Section titled “UEFI でセットアップモードを有効化”

まず、ファームウェア設定に移動してセキュアブートモードを「セットアップモード」に設定する必要があります。起動中のシステムから以下のコマンドでファームウェア設定に再起動できます。

Terminal window
systemctl reboot --firmware-setup

これは Lenovo Ideapad 5 Pro の BIOS の画面です。セットアップモードにリセットするかファクトリーキーを復元し、システムに再起動してください。

一部の MSI 製マザーボードにはセットアップモードがありません。同様の操作を行うには、セキュアブートモードを “custom” に設定し、互換性オプションを “maximum security” に指定してください (デフォルトモードのままだと、ブートローダーから CachyOS を起動することができなくなります)。その後、“key management” 画面で以下の画像にしたがって操作を行ってください。


また、一部の ASUS 製マザーボードも同様に独立したセットアップモードが実装されていません。

Boot → Secure Boot に移動し、セキュアブートモードを Custom にしてから、Key Management を開き “Delete all Secure Boot Variables” をクリックしてください。

sbctl のインストールとキーの登録

Section titled “sbctl のインストールとキーの登録”

作業を始める前に、sbctl がインストールされているかどうかを確認してください。

sbctl は使いやすさを重視したセキュアブートキーマネージャーです。セキュアブートの設定やキー管理、ブートチェーンで署名が必要なファイルの追跡ができます。

sbctl のインストール方法
ターミナルを開き以下のコマンドを実行
sudo pacman -S sbctl

sbctl のインストールが完了したら、sbctl のセットアップとファームウェアへのキー登録を行います。以下の手順にしたがってください。

  1. セットアップモードが有効かどうかを確認してください。

    Terminal window
    sudo sbctl status
    正しい出力の例
    Terminal window
    Installed: sbctl is not installed
    Setup Mode: Enabled
    Secure Boot Disabled
  2. カスタムのセキュアブートキーを作成してください。

    Terminal window
    sudo sbctl create-keys
    キー作成成功時の出力例
    Terminal window
    Created Owner UUID a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
    Creating secure boot keys...✔
    Secure boot keys created!
  3. Microsoft および OEM ファームウェアの組み込みキーとともにキーを登録してください。

    Terminal window
    sudo sbctl enroll-keys --microsoft --firmware-builtin
    成功時の出力例
    Terminal window
    Enrolling keys to EFI variables...✔
    Enrolled keys to the EFI variables!
  4. キーが登録され、セットアップモードが無効になっていることを確認するために、sbctl のステータスをもう一度確認してください。

    Terminal window
    sudo sbctl status
    成功時の出力例
    Terminal window
    Installed: sbctl is installed
    Owner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
    Setup Mode: Disabled
    Secure Boot Disabled
    Vendor Keys: microsoft

カーネルイメージとブートマネージャーへの署名

Section titled “カーネルイメージとブートマネージャーへの署名”

Limine は特殊なブートマネージャーで、ブート時に使用するカーネルイメージやその他のファイルのハッシュを検証できます。この機能が有効な場合、sbctl-batch-sign による署名など、ユーザーが手動で行った変更はファイルのハッシュを変更するため、Limine のチェックサム検証の失敗につながります。

ただし、Limine は EFI チェーンロードと署名チェックをバイパスする特殊なブートプロセスを持つため、これらのファイルへの署名は必要ありません。署名が必要な EFI バイナリは Limine 自身だけです。

設定ファイルのチェックサムを自動で登録するよう設定するには、/etc/default/limine に以下の行を追加してください。

Terminal window
ENABLE_ENROLL_LIMINE_CONFIG=yes

次に、Limine のスプラッシュ画像のハッシュを生成します。

  1. 設定ファイルでスプラッシュ画像の現在の名前とパスを確認してください。
    ターミナルを開き以下のコマンドを実行
    sudo cat /boot/limine.conf
    以下のような行が見つかるはずです。
    Terminal window
    wallpaper: boot():/limine-splash.png
  2. スプラッシュ画像の BLAKE2B ハッシュを生成し、設定ファイル内でファイルパスの末尾に書き加えてください。
    以下のコマンドを、パスは前の手順で確認したものに置き換えて実行
    sudo b2sum /boot/limine-splash.png
    ハッシュが出力されます。以下はハッシュの例です。
    Terminal window
    75205d08fa9c61599897857e861d6b2f6da25465183fc4cc9efecffb22ee630efb510f2ef1b17677db94c28d5c69ad2ceb4d3892f5bec9cfa65c97b5ba16f52f
  3. 前の手順で生成したハッシュをコピーしたのち、テキストエディターで設定ファイルを開き、スプラッシュ画像のパスの末尾にハッシュを書き加えてください。
    Terminal window
    wallpaper: boot():/limine-splash.png#75205d08fa9c61599897857e861d6b2f6da25465183fc4cc9efecffb22ee630efb510f2ef1b17677db94c28d5c69ad2ceb4d3892f5bec9cfa65c97b5ba16f52f
    このとおりにパスの末尾に # 記号からはじめてハッシュを書き加えて、変更を保存してください。

設定ファイルのチェックサム自動登録を有効化し、スプラッシュ画像のハッシュを生成したら、以下のコマンドを実行して設定ファイルのチェックサムを登録し、Limine の EFI バイナリに署名してください。

Terminal window
# limine-enroll-config を使って設定ファイルのチェックサムを登録し、Limine の EFI バイナリに署名
# 内部では sbctl を使用しています
sudo limine-enroll-config
sudo limine-update

セキュアブート状態の確認方法

Section titled “セキュアブート状態の確認方法”

セキュアブートが有効かどうかを確認するには、以下のいずれかのコマンドを実行してください。

Terminal window
sudo sbctl status
Installed: sbctl is installed
Owner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
Setup Mode: Disabled
Secure Boot: Enabled
Vendor Keys: microsoft
bootctl
System:
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