古い(3〜4歳)HPラップトップにUbuntuをインストールしました。
インストール時に、BIOSは「レガシーブートモード」用にセットアップされ、「セキュアブート」オプションは無効になりました。 (当然のことながら、レガシーモード、つまりdos AFAIKをサポートする場合、すべてのBIOSがセキュアブートを非アクティブ化するため)。残念ながら、インストール時にこれに気付くことはありませんでした。
this ブートパーティションが暗号化されることを保証する手動フルシステム暗号化の優れたコミュニティガイドに従いました。そのガイドの作成者が作成したスクリプトの一部として、grubは次のコマンドでインストールされます。
grub-install --target=x86_64-efi --uefi-secure-boot --efi-directory=/boot/efi --bootloader=ubuntu --boot-directory=/boot/efi/EFI/ubuntu --recheck /dev/[DRIVE]
--uefi-secure-boot
フラグが何をするのかわかりませんが、インストールは完全に機能し、システムは稼働していました。
その後、BIOSでセキュアブートが無効になっていること、これを変更したいこと、レガシーモードサポートを無効にし、セキュアブートを有効にしたことに気付きました。何らかの理由で、私のマシンは今は起動しません。以下のスクリーンショットのようにエラーが表示されます。
セキュアブートを無効にした場合(注:セキュアブートのみですが、レガシーモードのサポートも無効のままにしておきます)、ブートは再び完全に機能します。
注:イメージでは、「29bb6762」で始まるUUIDを持つデバイスがブートパーティションです。
注2:以下は私のHDDがどのように分割されるかです。 (リンクされているものとまったく同じ 手動フルシステム暗号化 wiki
/dev/sda1 - UEFI partition. FAT 32
/dev/sda2 - LUKS
/dev/mapper/system-root
/dev/mapper/system-boot
/dev/mapper/system-swap
Ubuntuには真のセキュアブートオプションがありません(セキュアブートが適切にセットアップされるとすぐに非セキュアモードに切り替わります)が、BIOS/UEFIでセキュアブートをオンにする必要がある場合は、セキュアブートシムを使用できます(Windows 10などのOSを必要とするデュアルブートの場合など)。
これを試して:
ターミナルで、次を実行します。
Sudo apt update; Sudo apt install shim-signed
UEFI/BIOSセットアップでセキュアブートに切り替えます。 Ubuntuのブートメニューオプションに使用するブートローダーを選択する必要がある場合があります。もしそうなら、それはEFI/ubuntu/shimx64.efi
です。