Os-prober avec partition /boot chiffrée

Bonjour,
J’ai les partitions suivantes:

$ lsblk -f
NAME                       FSTYPE      FSVER    LABEL         UUID                                   FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                                                 
└─sda1                     ntfs                 DATA          30F80CC6F80C8BF2                                      
nvme1n1                                                                                                             
├─nvme1n1p1                vfat        FAT32    SYSTEM        7E71-989A                                             
├─nvme1n1p2                                                                                                         
├─nvme1n1p3                ntfs                 Windows       B898725098720CDE                                      
├─nvme1n1p4                ntfs                 WinRE         D85822B8582294F2                                      
└─nvme1n1p5                ntfs                 RecoveryImage EE5C253E5C250347                                      
nvme0n1                                                                                                             
├─nvme0n1p1                vfat        FAT32                  9A35-7A72                               205,3M     0% /boot/efi
└─nvme0n1p2                crypto_LUKS 2                      e5d192ae-eece-4ef3-bac4-73ccefdd6aaf                  
  └─nvme0n1p2_crypt        LVM2_member LVM2 001               vii0mV-oeMI-YPPG-3lg0-RzKO-EAK5-rkbSP7                
    ├─cynv01-swap          swap        1                      96c7da65-d8ce-4383-bd99-24dccea0a4bd                  [SWAP]
    ├─cynv01-boot          ext4        1.0      BOOT          cfb6388f-e5e6-45fd-bd0b-fb60618b4bf5     92,5M    51% /boot
    ├─cynv01-root          ext4        1.0      ROOT          b15ca83c-5443-4c99-8c33-edfbcd305b63     79,3G     8% /
    ├─cynv01-home          ext4        1.0      HOME          26c902cb-36bc-4784-a1cd-9d46de257343     21,5G     0% /home
    ├─cynv01-var           ext4        1.0      VAR           9164938f-bbad-4e28-a0dc-5531f70d3c94     84,7G     2% /var
    ├─cynv01-var_log       ext4        1.0      LOG           2fcf8989-9653-4248-bf56-ec3fde5c708d     21,5G     0% /var/log
    ├─cynv01-var_log_audit ext4        1.0      AUDIT         29c98662-7064-4136-970d-75aaab620eb6     21,5G     0% /var/log/audit
    ├─cynv01-var_tmp       ext4        1.0      VARTMP        b5869730-a5aa-4210-b74a-6eac091b6308      6,8G     0% /var/tmp
    └─cynv01-tmp           ext4        1.0      TMP           3d433ec7-59f2-4cfb-8e63-1cb168b41e72      6,8G     0% /tmp
  • nvme0n1 est un disque dédié linux
  • nvme1n1 est un disque dédié windows
  • /dev/sda est un disque data pour windows.

Lors de l’installation de linux, en chiffré (LVM over Luks) les partition de démarrage sont chiffrée, y compris l’accès au grub (il faut entrer la clef de chiffrement pour obtenir le menu grub, puis pour lancer la partition de démrrage linux).

Faire un update-grub ne fonctionne pas pour ajouter la partition windows au menu GRUB.

Pourtant l’option nécéssaire à os-prober est bien mise comme il faut dans /etc/default/grub:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="video=1280x1024 quiet splash"
GRUB_CMDLINE_LINUX="apparmor=1 security=apparmor audit=1 audit_backlog_limit=8192"

# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.
#GRUB_DISABLE_OS_PROBER=false

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1280x1024
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
# Setup Grub menu
GRUB_BACKGROUND="/boot/grub/enedwaith-org-scdd.png"
COLOR_NORMAL="blue/black"
#MENU_COLOR_NORMAL="ligh-blue/black"

# Set os_prober active as it is disable by default in bookworm
GRUB_DISABLE_OS_PROBER=false

# Allow bootloader in a cryptodisk environment
GRUB_ENABLE_CRYPTODISK=y

Sans modifier quoi que ce soit au niveau /boot/grub/grub.cfg c’est à dire en utilisant exclusivement /etc/default/grub, ainsi que /etc/grub.d/, comment puis-je ajouter windows au menu de démarrage GRUB ?

Que dit os-prober ?

Tu aurais pu décommenter la ligne existante au lieu d’en ajouter une nouvelle.

Grâce à os-prober, ou, si ça ne marche pas, en ajouter une entrée de menu à la main dans /etc/grub.d/30_os-prober.

En tout cas tout ça n’a rien à voir avec /boot chiffré.

Aucun message c’est bien ce qui me préoccupe.

# update-grub 
Generating grub configuration file ...
Found background: /boot/grub/enedwaith-org-scdd.png
Found background image: /boot/grub/enedwaith-org-scdd.png
Found linux image: /boot/vmlinuz-6.5.0-0.deb12.4-amd64
Found initrd image: /boot/initrd.img-6.5.0-0.deb12.4-amd64
Found linux image: /boot/vmlinuz-6.1.0-17-amd64
Found initrd image: /boot/initrd.img-6.1.0-17-amd64
Adding boot menu entry for UEFI Firmware Settings ...
done

Et coté logs il n’y a rien.

Ah mince, je ne l’avais pas vu. Dans mes travaux originel cette option n’y était pas :slight_smile: c’est arrive avec Bookworm en fait :slight_smile: il va me falloir modifier mon script de postinstallation.

Mon installation a créé une nouvelle partition EFI. L’autre OS est lui déclaré sur un autre EFI. Est-ce à cause de ça que j’ai le problème?
Si j’arrivais à migrer l’ancie EFI de mon windows vers le nouel EFI os-prober puisse le voir?

J’ai demandé la sortie d’os-prober, pas update-grub.

Normalement non. os-prober scanne toutes les partitions de tous les disques.
Mais tu peux copier le répertoire EFI/Microsoft dans la partition EFI de Debian pour tester.

Il n’y en a pas quand je lance update-grub.
Mais j’ai finalement trouvé, le paquet os-prober n’était pas installé. Il faut que je pense à l’ajouter dans mon simple-cdd pour mes profils chiffrés.

Evidemment. Quand tu lances update-grub tu obtiens la sortie d’update-grub, pas d’os-prober.
Qu’est-ce qui n’est pas clair dans « que dit os-prober » et te fait lancer update-grub au lieu d’os-prober ?

Tu l’aurais trouvé plus tôt si tu avais fait ce que je demandais.

# os-prober
bash: os-prober : commande introuvable

Ben c’st ce que j’ai fait en fait, et je ne comprenait pas pourquoi la commande était introuvable :slight_smile:

Il n’y a pourtant pas 50 possibilités : elle n’est pas dans le $PATH (environnement root incomplet), ou bien elle n’est pas installée.

c’est pour ça que j’ai finit par trouver :wink: