Secure Boot Violation - Debian13

Bonjour à tous,
Novice avec Linux et les PC en général car j’ai toujours travaillé avec un mac, je suis en train de migrer mon ordinateur mobile ( un petit Clevo W310cz 11") sous Debian. Je rencontre un problème au démarrage. Il refuse de booter sur le systéme. Il m’affiche le message : Secure Boot Violation
Invalide signature detected. Check Secure Boot Policy in Setup.
20260806_112108

Et lance le BIOS dans la foulée.
Si je désactive le Secure Boot, pas de souci il lance Debian et tout fonctionne à merveille.
J’ai fais des recherches sur ce souci mais je n’ai pas trouvé de solution.
Peut-être est-ce lié au noyau de cette version de Debian?
Si quelqu’un a des idées de pistes de recherche je serais très intéressé à réactiver le Secure Boot sur cette machine.
J’ai récupéré ces informations concernant le BIOS de la machine :
BIOS Information
Vendor: American Megatrends Inc.
Version: 4.6.5
Release Date: 12/24/2013
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 4 MB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Printer services are supported (int 17h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Targeted content distribution is supported
UEFI is supported
BIOS Revision: 4.6

En vous remerciant par avance

Bonjour

Debian a-t-il été installé avec le secure boute activé ?

Bonjour,
Merci pour votre réponse.

À priori oui, il devait être activé. Car quand j’ai installé Debian la pile de l’ordi était HS et le BIOS se remettait systématiquement avec le Secure Boot activé.

Voici trois commandes pour lister les clés présentes sur ton système, peux-tu nous faire part du résultat stp ?

mokutil --pk --short
mokutil --kek --short
mokutil --db --short

Ensuite, il faut que tu nous dises quel est le paramétrage de la séquence de boot qui exécute Debian :

efibootmgr -v

Ensuite, on regardera la signature de ton/tes fichiers uefi avec la commande :

sudo sbverify --list <nom fichier.efi>

Bonjour, merci pour votre message
Voici la liste des clefs :

cdd263834c Test Certificate
31590bfd89 Microsoft Corporation KEK CA 2011
580a6f4cc4 Microsoft Windows Production PCA 2011
46def63b5c Microsoft Corporation UEFI CA 2011

Et la séquence de boot :

BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,000A,000B,000D,0003
Boot0002* debian        HD(1,GPT,c7084f44-64b2-4b48-a204-2a344d00c7ac,0x800,0x1e8000)/File(\EFI\debian\shimx64
.efi)
     dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 80 1e 00 00 00 00 00 44 4f 08 c7 b2 64 48 4b a2 0
4 2a 34 4d 00 c7 ac 02 02 / 04 04 34 00 5c 00 45 00 46 00 49 00 5c 00 64 00 65 00 62 00 69 00 61 00 6e 00 5c 0
0 73 00 68 00 69 00 6d 00 78 00 36 00 34 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
Boot0003* Windows Boot Manager  VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)57494e444f5753000100000088000000780
000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006
500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d0000000000010000001000000
0040000007fff0400
     dp: 01 04 14 00 e7 75 e2 99 a0 75 37 4b a2 e6 c5 38 5e 6c 00 cb / 7f ff 04 00
   data: 57 49 4e 44 4f 57 53 00 01 00 00 00 88 00 00 00 78 00 00 00 42 00 43 00 44 00 4f 00 42 00 4a 00 45 0
0 43 00 54 00 3d 00 7b 00 39 00 64 00 65 00 61 00 38 00 36 00 32 00 63 00 2d 00 35 00 63 00 64 00 64 00 2d 00
34 00 65 00 37 00 30 00 2d 00 61 00 63 00 63 00 31 00 2d 00 66 00 33 00 32 00 62 00 33 00 34 00 34 00 64 00 34
00 37 00 39 00 35 00 7d 00 00 00 00 00 01 00 00 00 10 00 00 00 04 00 00 00 7f ff 04 00
Boot000A* UEFI: IP4 Realtek PCIe FE Family Controller   PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x2)/MAC(80fa5b0032
08,0)/IPv4(0.0.0.00.0.0.0,0,0)AMBO
     dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 03 1c / 01 01 06 00 02 00 / 03 0b 25 00 80 fa 5b 0
0 32 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 / 03 0c 1b 00 00 00 0
0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 / 7f ff 04 00
   data: 41 4d 42 4f
Boot000B* UEFI: IP6 Realtek PCIe FE Family Controller   PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x2)/MAC(80fa5b0032
08,0)/IPv6([::]:<->[::]:,0,0)AMBO
     dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 03 1c / 01 01 06 00 02 00 / 03 0b 25 00 80 fa 5b 0
0 32 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 / 03 0d 3c 00 00 00 0
0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 / 7f ff 04 00
   data: 41 4d 42 4f
Boot000D* UEFI OS       HD(1,GPT,c7084f44-64b2-4b48-a204-2a344d00c7ac,0x800,0x1e8000)/File(\EFI\BOOT\BOOTX64.E
FI)
     dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 80 1e 00 00 00 00 00 44 4f 08 c7 b2 64 48 4b a2 0
4 2a 34 4d 00 c7 ac 02 02 / 04 04 30 00 5c 00 45 00 46 00 49 00 5c 00 42 00 4f 00 4f 00 54 00 5c 00 42 00 4f 0
0 4f 00 54 00 58 00 36 00 34 00 2e 00 45 00 46 00 49 00 00 00 / 7f ff 04 00

En revanche la commande pour la signature du fichier UEFI renvoie :

bash: erreur de syntaxe près du symbole inattendu « newline »

As-tu essayé :

sudo sbverify --list /boot/efi/EFI/debian/shimx64.efi

Je ne comprend pas pourquoi mais la commande sbverify est introuvable…
J’enquête et reviens vite

Tu n’as pas la clef debian. L’installation n’a pas été en mode UEFI avec Secure Boot activé.

Ce qui explique le problème ci-dessous:

Mais cette commande est à installer:

# apt-file search sbverify
sbsigntool: /usr/bin/sbverify             
sbsigntool: /usr/share/man/man1/sbverify.1.gz

# apt info sbsigntool
Package: sbsigntool
Version: 0.9.4-3.2
Priority: optional
Section: utils
Maintainer: Debian EFI Team <debian-efi@lists.debian.org>
Installed-Size: 412 kB
Depends: libc6 (>= 2.38), libssl3t64 (>= 3.0.0), libuuid1 (>= 2.16)
Download-Size: 67,5 kB
APT-Manual-Installed: no
APT-Sources: https://deb.debian.org/debian trixie/main amd64 Packages
Description: Tools to manipulate signatures on UEFI binaries and drivers
 This package installs tools which can cryptographically sign EFI binaries and
 drivers.

Merci pour ta réponse.

Tu n’as pas la clef debian. L’installation n’a pas été en mode UEFI avec Secure Boot activé.

Ok, merci pour cette info. Penses tu que ce soit modifiable maintenant?
Ou vaut t’il mieux refaire une installation propre? Ce qui n’est pas un problème dans mon cas car l’ordi est vide.

Mais cette commande est à installer:

J’étais justement en train de chercher comment installer cette commande. Je suis vraiment débutant :wink: sous Linux.

C’est le plus simple en effet.
Car activer le secure boot après installation est un peu compliqué. Il faut signer tous les modules, les pilotes (pas tous) les noyau/kernel, etc…
Réinstaller le fera tout seul.

Désolé :slight_smile:
en console, il faut faire sudo apt install sbsigntool.
Point important, fait une installation en mode expert plutot que de base, créé un mot de passe root lors de l’installation

en console, il faut faire sudo apt install sbsigntool .
Point important, fait une installation en mode expert plutot que de base, créé un mot de passe root lors de l’installation

Merci, j’étais en train de me bagarrer avec apt-get et sbverify…
Ça marche mieux comme ça effectivement.
Bon, je vais refaire une installation propre alors.
Merci pour tous ces conseils.

Et voilà ci dessous le retour de la commande

sudo sbverify --list /boot/efi/EFI/debian/shimx64.efi

warning: data remaining[908192 vs 1036152]: gaps between PE/COFF sections?
signature 1
image signature issuers:
- /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Corporation UEFI CA 2011
image signature certificates:
 - subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Windows UEFI Driver Publisher
   issuer:  /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Corporation UEFI CA 2011
 - subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Corporation UEFI CA 2011
   issuer:  /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Corporation Third Party Marketplace Root
signature 2
image signature issuers:
 - /C=US/O=Microsoft Corporation/CN=Microsoft UEFI CA 2023
image signature certificates:
 - subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft UEFI CA 2023 signer
   issuer:  /C=US/O=Microsoft Corporation/CN=Microsoft UEFI CA 2023
 - subject: /C=US/O=Microsoft Corporation/CN=Microsoft UEFI CA 2023
   issuer:  /C=US/O=Microsoft Corporation/CN=Microsoft RSA Devices Root CA 2021

Finalement, il ne m’est pas possible de réinstaller avec le Secure Boot activé. Je ne peux pas booter sur la clef…

Comment as-tu initialisé cette clé ?

@Zargos sais-tu pourquoi Debian ne signe pas ses fichiers pour tous et tout le temps ? Je ne vois pas l’intérêt d’installer des fichiers non signés quand on installe en désactivant secure boot.

On peut noter ceci dit que tu as la clé Microsoft Corporation UEFI CA 2011 avec laquelle shim est signé, donc le boot n’échoue pas à cette étape. Par curiosité, quelles sont les signatures de ton grub ? Il doit être dans le même répertoire que shim.efi.

Personnellement je n’utilise plus Grub qui est très mal foutu pour tout ça.
Je n’utilise plus que systemd-boot et Unify.Le démarrage ne passe pas forcement par le debian.efi mais par les autres entrées.

Je n’utilise pas systemd-boot car il stocke les noyaux dans la partition UEFI, si je ne dis pas de bêtise.

Non, le vmlinuz et l’inird reste là où ils sont.
c’est l’uki qui fait ça en utilisant les signatures pour s’assurer que rien n’a été modifié. et comme c’est chiffré o ne peut pas faire de reverse ingéniering dessus

Je me suis retrouvé un moment avec systemd-boot, il m’avait saturé la partition UEFI en me copiant dedans le kernel, et je n’avais pas UKI.