Подпишите загрузчик GRUB2, чтобы включить безопасную загрузку UEFI

После предварительных комментариев:

Теперь я хочу использовать безопасную загрузку, поэтому я могу включить ее. Более или менее следуя этому руководству , у меня есть:

  1. резервное копирование ключей по умолчанию из MS:

    #efi-readvar -v PK -o old_PK.esl #efi-readvar -v KEK -o old_KEK.esl #efi-readvar -v db -o old_db.esl #efi-readvar -v dbx -o old_dbx.esl 
  2. создал собственные ключи:

     #openssl req -new -x509 -newkey rsa:2048 -subj "/CN=my platform key/" -keyout PK.key -out PK.crt -days 3650 -nodes -sha256 #openssl req -new -x509 -newkey rsa:2048 -subj "/CN=my key exchange key/" -keyout KEK.key -out KEK.crt -days 3650 -nodes -sha256 #openssl req -new -x509 -newkey rsa:2048 -subj "/CN=my kernel signing key/" -keyout db.key -out db.crt -days 3650 -nodes -sha256 #cert-to-efi-sig-list -g "$(uuidgen)" PK.crt PK.esl #sign-efi-sig-list -k PK.key -c PK.crt PK PK.esl PK.auth 
  3. очистил ключи в BIOS, поэтому efi-readvar выдает никаких ключей при перезагрузке

  4. установите резервные копии назад и добавленную шахту:

     #efi-updatevar -e -f old_KEK.esl KEK #efi-updatevar -e -f old_db.esl db #efi-updatevar -e -f old_dbx.esl dbx #efi-updatevar -a -c KEK.crt KEK #efi-updatevar -a -c db.crt db #efi-updatevar -f PK.auth PK 
  5. подписанный загрузчик:

     #cp /boot/EFI/grub/grubx64.efi /boot/EFI/grub/grubx64.efi.old #sbsign --key db.key --cert db.crt --output /boot/EFI/grub/grubx64.efi /boot/EFI/grub/grubx64.efi 

Проверка проходит через:

 #sbverify --cert db.crt /boot/EFI/grub/grubx64.efi Signature verification OK. 

Тем не менее, когда я включаю безопасную загрузку в BIOS и перезагружается, появляется обычное сообщение об ошибке, и GRUB не вызывается, как если бы он не был подписан. Что мне не хватает?

Linux и Unix - лучшая ОС в мире.