Após as preliminares:
Agora, quero mexer na inicialização segura para poder ativá-la. Mais ou menos seguindo este guia , eu tenho:
fez backup das chaves padrão do 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
gerou minhas próprias chaves:
#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
limpou as chaves no BIOS, portanto, efi-readvar
não exibe nenhuma chave na reinicialização
defina as chaves de backup e adicione a minha:
#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
assinou o gerenciador de inicialização:
#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
A verificação é executada:
#sbverify --cert db.crt /boot/EFI/grub/grubx64.efi
Signature verification OK.
Ainda assim, quando eu inicializo com segurança na BIOS e reinicializo, a mensagem de erro comum é exibida e o GRUB não é chamado como se não estivesse assinado. O que eu sinto falta?
Tags grub2 uefi secure-boot