web-dev-qa-db-ja.com

UEFI SecureBootでの起動が失敗する

古い(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でセキュアブートが無効になっていること、これを変更したいこと、レガシーモードサポートを無効にし、セキュアブートを有効にしたことに気付きました。何らかの理由で、私のマシンは今は起動しません。以下のスクリーンショットのようにエラーが表示されます。 enter image description here

セキュアブートを無効にした場合(注:セキュアブートのみですが、レガシーモードのサポートも無効のままにしておきます)、ブートは再び完全に機能します。

注:イメージでは、「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
  • ルート、ブート、およびスワップはボリュームグループ上にあります。 (LUKSパーティションはLVMとしてフォーマットされています)
  • / dev/mapper/system-bootには、スクリーンショットのgrubエラーと同じデバイスIDがあります。
1
kapad

Ubuntuには真のセキュアブートオプションがありません(セキュアブートが適切にセットアップされるとすぐに非セキュアモードに切り替わります)が、BIOS/UEFIでセキュアブートをオンにする必要がある場合は、セキュアブートシムを使用できます(Windows 10などのOSを必要とするデュアルブートの場合など)。

これを試して:

  1. UEFI/BIOSメニューでレガシーブートに切り替えます。
  2. Ubuntuを起動します。
  3. ターミナルで、次を実行します。

    Sudo apt update; Sudo apt install shim-signed
    
  4. UEFI/BIOSセットアップでセキュアブートに切り替えます。 Ubuntuのブートメニューオプションに使用するブートローダーを選択する必要がある場合があります。もしそうなら、それはEFI/ubuntu/shimx64.efiです。

  5. Ubuntuを起動します。
1
Chai T. Rex