Page 1 sur 2

[kernel] boot secure

Publié : lun. 21 juil. 2025, 08:08
par cleloup
Bonjour

Nous avons un pc en dual-boot (windows + arch pure avec kde ).

L'anti-cheat du jeu de mon garçon demande uefi signé (le boot secure ).

Bien sur, si je le met en route ce boot secure, le pilote nvidia de ma arch ne charge plus.

existe t il une solution pour signer le noyau de archlinux?

merci

Re: [kernel] boot secure

Publié : lun. 21 juil. 2025, 09:37
par benjarobin
Bonjour,
Je te recommande vivement d'utiliser la méthode sbctl avec tes propres clés. C'est la méthode la plus simple à mettre en œuvre.
Dans tous les cas, cela nécessite d'un BIOS compatible mais aujourd'hui c'est généralement le cas (si le PC n'est pas trop vieux).
Il faut reconfigurer le BIOS pour rentrer en mode "setup" pour le secure boot, puis enroll-keys avec sbctl (bien sûr avec les clés de Windows, option "-m").
Pour le bootloader, je te recommande vivement systemd-boot et de générer une Unified kernel image (UKI).
C'est la méthode que j'utilise sur mon PC fixe, presque aucun fichier de configuration à écrire... Mais j'ai dû lire pas mal de documentation afin de savoir exactement quoi faire.
Il te faudra remplacer ton chargeur de démarrage (si tu n'utilises pas déjà systemd-boot). Avoir un ISO d'installation avec une clé bootable (aux cas où...). Une sauvegarde de la partition ESP (aux cas où...)

Si tu veux un mini tutoriel, peux tu déjà donner les informations suivantes :
- Décrire ta table de partition, les tailles associés (surtout pour les partitions ESP et boot si tu as),
- Peux tu donner ton fstab,
- Comment les partitions sont actuellement montées,
- Quel est le contenu de la partition ESP (pas besoin de lister tous les fichiers de Windows), et quel est le contenu du dossier /boot ?
- Et quel est le chargeur de démarrage utilisé ainsi que sa configuration ?

Re: [kernel] boot secure

Publié : lun. 21 juil. 2025, 11:29
par cleloup
Ok merci de ta réponse.

je suis en btrfs et grub car à priori systemd c'est plus embêtant avec btrfs.
De tout façon je dois tout réinstaller car mon installation est un peu fouillis.

je réinstalle en systeme ext4 + systemd et je te recontacte ce soir des que j'ai finis

Re: [kernel] boot secure

Publié : lun. 21 juil. 2025, 11:41
par benjarobin
systemd-boot n'a aucun souci avec btrfs ou tout autre système de fichier, car le fichier UKI (contenant le kernel) est sur une partition FAT32 (dans la partition ESP ou dans la partition XBOOTLDR).
Donc il n'est pas nécessaire de réinstaller. La seule contrainte est d'avoir la place dans la partition ESP (c'est pour cela que je t'ai demandé sa taille) ou de créer la partition XBOOTLDR (et il faut avoir la place de créer cette nouvelle partition

Re: [kernel] boot secure

Publié : lun. 21 juil. 2025, 11:46
par cleloup
donc soit je réinstalle en btrfs ou ext4 sachant que j'ai une préférence pour le ext4.
j'ai que 512 mo pour la partition boot (fat32)

si je réinstalle je peut mettre 1 GIGA.

donc :

Créer une partition de 512 mo pour boot en efi system
Créer une partition racine 60 GIGA
Créer le restant pour la home

t'en pense quoi

Re: [kernel] boot secure

Publié : lun. 21 juil. 2025, 18:43
par benjarobin
512 Mo est normalement suffisant pour la partition ESP, mais cela peut être un poil juste, donc soit tu l'augmentes à 800 Mo (ou plus), soit tu as une petite partitions ESP (par exemple 256 Mo) et tu as en plus une partition XBOOTLDR

Re: [kernel] boot secure

Publié : lun. 21 juil. 2025, 19:16
par cleloup
Bonjour

1er installation je l'ai foiré, elle ne démarrais pas car j'avais oublier de désactiver le sécureboot
2 eme c'est la bonne

donc je n'ai pas encore de Unified kernel image mais j'ai systemd-boot.
J'ai une sauvegarde de tout mon système au cas ou.

ma table de partition :

Code : Tout sélectionner

[christophe@christophe-lx ~]$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 465,8G  0 disk 
├─sda1        8:1    0     1G  0 part /boot
├─sda2        8:2    0    65G  0 part /
└─sda3        8:3    0 399,8G  0 part /home
sdb           8:16   1  57,3G  0 disk 
├─sdb1        8:17   1  57,3G  0 part 
└─sdb2        8:18   1    32M  0 part 
nvme0n1     259:0    0 953,9G  0 disk 
├─nvme0n1p1 259:1    0   100M  0 part 
├─nvme0n1p2 259:2    0    16M  0 part 
├─nvme0n1p3 259:3    0 953,1G  0 part 
└─nvme0n1p4 259:4    0   656M  0 part

Re: [kernel] boot secure

Publié : lun. 21 juil. 2025, 19:19
par cleloup
mon fstab :

Code : Tout sélectionner

[christophe@christophe-lx ~]$ cat /etc/fstab 
# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda2 LABEL=ROOT
UUID=e29b38a5-1113-4f95-8cc5-a88f56057c1c       /               ext4            rw,relatime     0 1

# /dev/sda1 LABEL=BOOT
UUID=06CD-0459          /boot           vfat            rw,relatime,fmask=0137,dmask=0027,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2

# /dev/sda3 LABEL=HOME
UUID=a73b23d1-8928-4e67-9300-31dd2e7c847b       /home           ext4            rw,relatime     0 2

[christophe@christophe-lx ~]$ 
mon boot :

Code : Tout sélectionner

[root@christophe-lx ~]# ls /boot -al
total 184656
drwxr-x---  4 root root      4096  1 janv.  1970 .
drwxr-xr-x 17 root root      4096 21 juil. 18:54 ..
drwxr-x---  5 root root      4096 21 juil. 19:00 EFI
-rw-r-----  1 root root    153600  9 juil. 07:24 amd-ucode.img
-rw-r-----  1 root root 121695489 21 juil. 18:56 initramfs-linux-fallback.img
-rw-r-----  1 root root  51412461 21 juil. 18:55 initramfs-linux.img
drwxr-x---  4 root root      4096 21 juil. 19:05 loader
-rw-r-----  1 root root  15802880 21 juil. 18:54 vmlinuz-linux
voila

Re: [kernel] boot secure

Publié : lun. 21 juil. 2025, 20:22
par benjarobin
Déjà je suis curieux de savoir comment as tu installé systemd-boot car il y a un bug dans bootctl install, cela ne rajoute pas l'entrée depuis l'arch-chroot. Il faut la rajouter à la main. Mais si cela fonctionne c'est très bien.
Pour faire une installation via secureboot, tu dois ensuite (tu peux le faire depuis ton système ainsi installé)
  • Démarrer avec le secure boot "activé" mais en mode setup (donc pas vraiment activé). Voir ton BIOS pour cela.
  • Puis créer et déployer les clés sbctl

    Code : Tout sélectionner

    sbctl create-keys
    sbctl enroll-keys -m
  • Signer /usr/lib/systemd/boot/efi/systemd-bootx64.efi (voir https://wiki.archlinux.org/title/Unifie ... acman_hook)

    Code : Tout sélectionner

    sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efi
  • Installer / mettre à jour systemd-boot

    Code : Tout sélectionner

    bootctl install
    ou

    Code : Tout sélectionner

    bootctl update
  • Configurer le système afin de générer une image UKI :
    • Tu dois créer le fichier qui décrit les paramètres kernel : https://wiki.archlinux.org/title/Unifie ... mmand_line
      Tu peux par exemple faire cela (depuis ton système installé, surtout pas depuis un ISO d'installation) :

      Code : Tout sélectionner

      cat /proc/cmdline > /etc/cmdline.d/root.conf
    • Tu dois modifier /etc/mkinitcpio.d/linux.preset (et si tu as un autre kernel Linux, tu dois modifier le fichier associé), pour cela voir : https://wiki.archlinux.org/title/Unifie ... reset_file
    • Tu peux bien sûr adapter le paramètre default_uki (mais vraiment pas nécessaire), par exemple default_uki="/boot/EFI/Linux/my-arch1.efi" mais tu ne peux pas changer le chemin, le fichier efi doit être dans le dossier /boot/EFI/Linux/
    • Personnellement j'ai aussi modifié ALL_kver afin d'avoir ALL_kver="/usr/lib/modules/vmlinuz-linux", ainsi le kernel ne se retrouve plus dans le dossier de boot, nous ne voulons que le fichier UKI dedans
    • Par exemple personnellement le fichier /etc/mkinitcpio.d/linux.preset contient :

      Code : Tout sélectionner

      # mkinitcpio preset file for the 'linux' package
      
      #ALL_config="/etc/mkinitcpio.conf"
      ALL_kver="/usr/lib/modules/vmlinuz-linux"
      
      PRESETS=('default' 'fallback')
      
      #default_config="/etc/mkinitcpio.conf"
      default_uki="/boot/EFI/Linux/arch-linux.efi"
      #default_options="--splash /usr/share/systemd/bootctl/splash-arch.bmp"
      
      #fallback_config="/etc/mkinitcpio.conf"
      fallback_uki="/boot/EFI/Linux/arch-linux-fallback.efi"
      fallback_options="-S autodetect"
      
    • Et enfin générer les fichiers UKI : https://wiki.archlinux.org/title/Unifie ... g_the_UKIs

      Code : Tout sélectionner

      mkdir -p /boot/EFI/Linux/
      mkinitcpio -p linux
    • sbctl va automatiquement signer les images UKI (fichier .efi dans /boot/EFI/Linux/)
  • Nettoyer le dossier /boot des fichiers qui ne doivent plus être là, mais cela dépend vraiment ce que tu as configuré pour ALL_kver. Si tu fais comme moi, tu ne dois plus avoir de fichier vmlinuz ni initramfs à la racine de /boot.

    Code : Tout sélectionner

    rm /boot/initramfs* /boot/vmlinuz-linux
  • Pour la configuration de systemd-boot:
    • Créer le fichier loader.conf tel que décrit ici : https://wiki.archlinux.org/title/System ... figuration
      Personnellement j'ai ceci :

      Code : Tout sélectionner

      timeout  4
      console-mode max
      editor   no
      default @saved
    • Supprimer tous les fichiers "d'entries" (par exemple esp/loader/entries/arch.conf), car avec les fichiers UKI tout est automatique

      Code : Tout sélectionner

      rm /boot/loader/entries/*.conf
    • Vérifier que tout est bien signé dans la partition ESP :

      Code : Tout sélectionner

      sbctl verify
      Les fichiers suivantes doivent l'être (si ce n'est pas le cas, le système ne démarrera pas !)

      Code : Tout sélectionner

      /boot/EFI/Linux/arch-linux-fallback.efi
      /boot/EFI/Linux/arch-linux.efi
      /boot/EFI/systemd/systemd-bootx64.efi
      /boot/EFI/BOOT/BOOTX64.EFI
      /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed

Re: [kernel] boot secure

Publié : lun. 21 juil. 2025, 21:27
par cleloup
benjarobin a écrit : lun. 21 juil. 2025, 20:22 Déjà je suis curieux de savoir comment as tu installé systemd-boot car il y a un bug dans bootctl install, cela ne rajoute pas l'entrée depuis l'arch-chroot. Il faut la rajouter à la main. Mais si cela fonctionne c'est très bien.
Pour faire une installation via secureboot, tu dois ensuite (tu peux le faire depuis ton système ainsi installé)
  • Démarrer avec le secure boot "activé" mais en mode setup (donc pas vraiment activé). Voir ton BIOS pour cela.
RE et merci de ton aide.
Bon je sais pas, je suis ma procédure et les entrées sont présentes. Bref peut etre corrigé entre temps.

pour le bios ça se corse, je n'ai pas trouvé l'option setup.
J'ai une carte Asus PRIME-A320M-K.
j'ai mis le bios à jour car j'avais le clavier qui déconnais et la ça a résolu le soucis.

je vais chercher pour le setup mais j'ai pas de chance je bloquer dessus.

Re: [kernel] boot secure

Publié : lun. 21 juil. 2025, 21:46
par benjarobin
La doc de ta carte mère est bien vide... (https://www.asus.com/fr/motherboards-co ... ME-A320M-K)
C'est généralement dans la section boot, dans la sous section secure boot, et normalement quelque part tu dois pouvoir activer ou désactiver le sécure boot, et aussi gérer tes clés toi mêmes (et passer la carte mère en mode setup)

Edit : Trouvé https://www.asus.com/support/faq/1049829/

Tu dois donc être dans ce cas là : Setup | Other OS | Customer | Clear Secure Boot Keys | Off
Puis lorsque tu auras fait sbctl enroll-keys -m, au prochain démarrage tu devrais avoir le secure boot d'activé

Re: [kernel] boot secure

Publié : mar. 22 juil. 2025, 09:31
par cleloup
Bonjour Benjarobin,

d'abord merci pour tout. je crois que j'ai réussi.
Je me suis aidé avec une autre page web. j'ai mes entré dans le bios de archlinux & archlinux fallback.

Maintenant pour le pilote nvidia. je dois passer des variables. dois je savoir quelques choses ou ça se fait tout seul.

merci encore.

Re: [kernel] boot secure

Publié : mar. 22 juil. 2025, 14:58
par benjarobin
Il n'y a absolument rien d'autres à faire.
Quelle est la sortie de sbctl status afin de vérifier que tout est bon

Re: [kernel] boot secure

Publié : mar. 22 juil. 2025, 17:25
par cleloup
Bonjour Benjarobin,

Bon c'est la miouize.
j'ai démarré sous Windows mais mes entrées arch ont disparu.
donc
j'ai refait la même manipulation mais cela ne fonctionne pas. Je n'ai pas pris le message d'erreur comme un idiot.


donc j'ai restauré avec ma sauvegarde de clonezilla. Manque de bol, je n'ai toujours pas d'entré dans le bios. j'ai que celle de windows.

que puis je faire?

merci

Re: [kernel] boot secure

Publié : mar. 22 juil. 2025, 18:44
par benjarobin
Peux tu définir ce que tu entends pas entrée de Arch ?
Tu parles du menu de ta carte mère ou le menu de systemd-boot ?
Dans quel ordre as tu fais les opérations (c'est plus simple d'installer Windows en premier).
Quelle est la sortie depuis l'ISO d'installation de : efibootmgr ?
Je t'avais parlé d'un bug dans l'installation de systemd-boot, afin de le contourner tu peux suivre (si et seulement si tu n'as pas l'entrée "Linux Boot Manager" pointant vers systemd-bootx64.efi) : https://wiki.archlinux.org/title/System ... efibootmgr

Re: [kernel] boot secure

Publié : mar. 22 juil. 2025, 20:22
par cleloup
Bonjour Benjarobin,

les entrés de Arch qui sont dans le bios sur le menu démarrage (F8 dans mon cas).
Je n'ai pas réinstallé Windows, c'est quand j'ai booter dessus que les entrées ont disparu.

le restant je te répondrai demain car la je suis fatigué.

Re: [kernel] boot secure

Publié : mer. 23 juil. 2025, 15:21
par cleloup
Bonjour Benjarobin,

bon je n'ai pas eu le temps de me re pencher sur le truc.
Un collègue à qui j'ai soumis le soucis m' a expliquer que je ne pourrai démarrer Windows que en passant par le bios. Car systembootd ne verrai plus la partition Windows.

tu confirme ?

Re: [kernel] boot secure

Publié : mer. 23 juil. 2025, 15:34
par benjarobin
Non, ceci est complètement faux. Le BIOS lance (ou devrait lancer) l'entrée "Linux Boot Manager", qui correspond à systemd-boot, qui lance un menu qui permet de lancer Windows (entrée ajouté automatiquement par systemd-boot), et qui permet de lancer les différents UKI que tu as.
C'est exactement cette configuration que j'ai. Je ne sais pas pourquoi ton collègue dit une telle chose, ceci est absurde, il a toujours été possible de lancer Windows depuis un chargeur de démarrage Linux (sauf dans le cas avec secure boot + chiffrement de la partition Windows avec bitlocker avec clé dans un TPM).

Re: [kernel] boot secure

Publié : mer. 23 juil. 2025, 15:59
par cleloup
Ok merci

je pense qu'il n a pas compris.
je reviens vers toi.

Re: [kernel] boot secure

Publié : jeu. 24 juil. 2025, 17:35
par cleloup
voila. mon efibootmgr

Code : Tout sélectionner

root@archiso ~ # efibootmgr 
BootCurrent: 0009
Timeout: 1 seconds
BootOrder: 0000
Boot0000* Windows Boot Manager	HD(1,GPT,be9dc99d-de21-4641-aa66-639525fecfe7,0x800,0x32000)/\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000000000100000010000000040000007fff0400
root@archiso ~ #