Erreur Boot => grub rescue. LVM chiffré

Bonjour tout le monde,

j’ai un problème de boot sur ma Debian qui ne démarre plus… :cry:

J’ai cherché, trouvé et appliqué un certain nombre de solution, mais le résultat est le même : boot impossible…

Alors la configuration :

Un PC Portable avec un disque dur master (Win7).
Un disque à la place du CDROM en secondaire (WIN7 + Debian).

Disque 2 avec plusieurs partitions dans l’ordre:

  • Windows 7 sur la première partition avec le flag “bootable”
  • partition NTFS
  • partiton FAT (que j’ai ensuite partitionné juste avant que le problème survienne)
    [b]- partition /boot (sda5) avec flag “bootable”
  • LVM chiffré (sda6) : partition racine + partition home + SWAP[/b]

Alors… Il y a quelques jours je fais un upgrade et le nouveau noyau s’est installé. Sans redémarrer, j’ai mis le pc en hibernation.

J’ai redémarre sur le disque 1. J’ai entre autre formaté une partition qui était en FAT en NTFS.
J’éteins le PC et je voulais retourner sur le disque 2. Mais la, depuis, j’ai le message “boot rescue” qui s’affiche.

J’ai donc booter avec une clé usb puis j’ai déchiffré et monté la partition racine. Puis j’ai monté /dev, /proc et /sys

J’ai fais un : chroot /media/racine /bin/bash

J’ai monté (sda5) /boot

puis un : grub-install /dev/sda

Puis update-grub

Puis reboot.

Mais le résultat final est le même.

Je ne vois pas ce qui peut bloquer.

Merci par avance pour votre aide. En espérant que c’est assez clair.

@+

Amorçage en mode BIOS ou UEFI ?
Y a-t-il un message d’erreur avant le shell de secours de GRUB ?
Dans ce shell, qu’affichent les commandes set et ls ?
Es-tu certain que sda est le second disque qui contient Debian ?

[quote=“PascalHambourg”]Amorçage en mode BIOS ou UEFI ?
Y a-t-il un message d’erreur avant le shell de secours de GRUB ?
Dans ce shell, qu’affichent les commandes set et ls ?
Es-tu certain que sda est le second disque qui contient Debian ?[/quote]

Amorçage en mode BIOS
Non pas de message d’erreur.
Oui je suis certain que sda est le second disque. En fait lors de l’installation, j’avais ôté le premier disque pour éviter toute galère… C’est raté :108

Fait nouveau aujourd’hui. En mettant le premier disque dans son emplacement, au boot, j’appuie sur F12.
Je sélectionne le disque secondaire, et là, Debian démarre normalement.
Si j’ôte le premier disque et je fais la même manip, cela ne fonctionne pas : j’ai le fameux grub rescue…

Bizarre… :think:

Je n’avais pas compris que jusqu’ici les deux disques n’étaient pas présents ensemble.
Etonnant en effet. Cela signifie que soit GRUB a besoin de quelque chose qui se trouve sur le disque 1 (je ne vois pas quoi, tout ce dont il a besoin est dans /boot), soit que la présence du disque 1 modifie la façon dont GRUB adresse les disques. Peut-être voir dans /boot/grub/device.map ? Les commandes set et ls que j’avais proposées pourraient permettre de trouver une différence entre les deux situations (le shell de GRUB est aussi accessible depuis le menu de démarrage).

Il se peut que l’affichage du message d’erreur soit fugitif, il faut être très attentif.

Bonjour,

alors lors de l’installation initiale, j’avais ôté le disque 1. Du coup, le disque “Linux” était nommé sdx. Je ne sais pas s’il y a eu un incidence un jour ou j’ai branché les deux disques simultanément…

Ça s’est remis à merder… donc j’ai pu de nouveau accéder au fameux menu “grub rescue” :013
Alors voici le résultat des commandes ls et set dans les deux cas : avec un disque et avec deux.

Avec le disque “Linux” :

ls (hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (fd0)

set prefix=(hd0,msdos5)/grub root=hd0,msdos5

Avec les deux disques :

ls (hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos3) (hd1,msdos2) (hd0,msdos1(fd0)

set prefix=(hd0,msdos5)/grub root=hd0,msdos5

Voila en espérant que ça pourra nous faire avancer :confused:

Encore merci.

Première anomalie visible : GRUB ne voit pas les partitions 5 et 6 du disque Linux. Je suppose que ce sont des partitions logiques ?

Tu as écrit que tu avais “partitionné” une partition FAT juste avant que le problème apparaisse. Qu’as-tu fait exactement ? As-tu modifié la table de partition ?

Il faudrait démarrer un système live pour examiner la table de partition du disque Linux en détail avec plusieurs outils différents (parted, fdisk…), il y a peut-être un défaut qui gêne GRUB mais pas le noyau Linux (déjà vu avec du RAID logiciel).

Oui se sont des partitions logiques. sda6 est le volume LVM chiffré. Sda5 le /boot.

En fait la partition que j’ai formaté était en FAT et je l’ai passé en NTFS (pour un disque commun Linux / Win).
A noter que cette partiton était montée automatiquement via une entrée dans le fstab. Après formatage, l’UUID ayant changé, j’ai mis le fstab à jour. Mais en effet il y a des messages “suspects” :think:

Voici la table de partition d’origine que j’avais sauvegardé avant formatage :

/dev/mapper/VG-VL--SWAP: UUID="47fde063-793c-48dd-8a04-e003ed01f420" TYPE="swap" /dev/sda1: UUID="868E62648E624CAD" TYPE="ntfs" /dev/sda2: LABEL="Libre" UUID="3868E1BA792D816B" TYPE="ntfs" /dev/sda3: LABEL="ECHANGE_VM" UUID="C137-AF74" TYPE="vfat" /dev/sda6: UUID="6110854f-edae-43b7-b99e-8d2fc3364129" TYPE="crypto_LUKS" /dev/sda5: UUID="13865acb-95b6-42e5-8469-f10db4e268ff" TYPE="ext4" /dev/mapper/sda6_crypt: UUID="EXNmbs-woty-yuPR-xo3c-VS92-w61b-xrLMuM" TYPE="LVM2_member" /dev/mapper/VG-VL--SLASH: UUID="7539d289-1256-4bc9-b58f-9a2d907ab1fe" TYPE="ext4" /dev/mapper/VG-VL--HOME: UUID="022c78e1-52e4-45b2-9fa0-0440f1faadcb" TYPE="ext4"

et

[code]Disque /dev/sda : 121601 cylindres, 255 têtes, 63 secteurs/piste
Unités = cylindres de 8225280 octets, blocs de 1024 octets, décompte à partir de 0

Périph Amor Début Fin #cyls #blocs Id Système
/dev/sda1 * 0+ 10417- 10418- 83679232 7 HPFS/NTFS/exFAT
/dev/sda2 10417+ 14242- 3825- 30720000 7 HPFS/NTFS/exFAT
/dev/sda3 14242+ 42370- 28129- 225939456 b W95 FAT32
/dev/sda4 42370+ 102185- 59816- 480466945 5 Étendue
/dev/sda5 * 42370+ 42613- 243- 1951744 83 Linux
/dev/sda6 42613+ 102185- 59573- 478514176 83 Linux[/code]

En rentrant tout à l’heure, je posterai l’actuel contenu du fstab via le système live.

Merci encore.

@+

[quote=“looping92”]En fait la partition que j’ai formaté était en FAT et je l’ai passé en NTFS (pour un disque commun Linux / Win).
A noter que cette partiton était montée automatiquement via une entrée dans le fstab. Après formatage, l’UUID ayant changé, j’ai mis le fstab à jour. Mais en effet il y a des messages “suspects”[/quote]
Quels messages suspects ?
Le simple changement de format de système de fichiers et d’UUID de la partition ne devrait pas avoir d’influence sur le reste de la table de partition.

Ce n’est pas une table de partition, cela ressemble plutôt à la sortie de [mono]blkid[/mono].

Pour la table de partition, je préfèrerais les positions en secteurs plutôt qu’en cylindres ([mono]fdisk -lu[/mono] et [mono]parted /dev/sda unit s print[/mono]) pour les vérifier plus finement.

Note : L’indicateur d’amorçage (“boot”) sur une partition logique comme /dev/sda5 ne sert à rien car d’une part seules les partitions principales sont amorçables par un MBR standard (ce que GRUB n’est pas) et d’autre part cet indicateur n’est pas utilisé par GRUB de toute façon. Je ne pense pas que sa présence perturbe GRUB, mais tu peux le désactiver pour voir.

EDIT : j’ai testé, la présence du flag boot sur une partition logique n’a pas perturbé GRUB.

PS : si je ne m’abuse, il reste de l’espace non partitionné (donc inutilisable sans agrandir la partition étendue) à la fin de ce disque de 1 To ?

Déjà je tiens à te remercier (encore une fois) pour ton aide.

voici les infos que tu souhaitais :

[code]root@sysresccd /media % fdisk -lu

Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0994afb5[/code]

Partition 4 does not start on physical sector boundary.

Device Boot Start End Blocks Id System /dev/sda1 * 2048 167360511 83679232 7 HPFS/NTFS/exFAT /dev/sda2 167360512 228800511 30720000 7 HPFS/NTFS/exFAT /dev/sda3 228800512 680679423 225939456 7 HPFS/NTFS/exFAT /dev/sda4 680681470 1641615359 480466945 5 Extended /dev/sda5 * 680681472 684584959 1951744 83 Linux /dev/sda6 684587008 1641615359 478514176 83 Linux

Partition table entries are not in disk order.

[code]
Disk /dev/mapper/linux: 456.4 GiB, 489996419072 bytes, 957024256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/mapper/VG-VL–SLASH: 28 GiB, 29997662208 bytes, 58589184 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/mapper/VG-VL–SWAP: 9.3 GiB, 9999220736 bytes, 19529728 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/mapper/VG-VL–HOME: 419.1 GiB, 449998487552 bytes, 878903296 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes[/code]

[code]root@sysresccd /media % parted /dev/sda unit s print
Model: ATA HGST HTS721010A9 (scsi)
Disk /dev/sda: 1953525168s
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 2048s 167360511s 167358464s primary ntfs boot
2 167360512s 228800511s 61440000s primary ntfs
3 228800512s 680679423s 451878912s primary ntfs
4 680681470s 1641615359s 960933890s extended
5 680681472s 684584959s 3903488s logical ext4 boot
6 684587008s 1641615359s 957028352s logical[/code]

Je l’ai viré :075

On ne peut rien te cacher :whistle: C’est les fameuses partitions “on ne sait jamais”, “on verra après” etc… Bref un mauvais choix de partitionnement quoi…

Merci.
@+

[quote=“looping92”]Partition 4 does not start on physical sector boundary.
Suspect nan ?[/quote]
Non, j’ai déjà vu ça pour la partition étendue qui est juste une structure servant à définir les partitions logiques et n’a pas besoin d’être alignée.

[quote=“looping92”]Partition table entries are not in disk order.
Suspect également nan ?[/quote]
Ce ne serait pas suspect si c’était vrai, car il n’est pas obligatoire que les partititions soient dans l’ordre. Mais je ne vois pas la raison de ce message, les partitions me semblent dans l’ordre.

Je ne vois rien d’anormal à part l’identificateur 05h (extended with CHS) de la partition étendue qui devrait en toute rigueur être 0fh (extended with LBA) puisque celle-ci est située au-delà de 8 Gio, la limite de l’adressage CHS. Mais j’ai testé que cela ne perturbait ni Linux ni GRUB.

On pourrait imaginer un problème avec l’adressage LBA48 du BIOS (nécessaire à GRUB pour adresser les secteurs au-delà de 128 Gio, donc la zone où se trouve la partition étendue), mais cela me paraît peu probable d’autant plus que ça marchait auparavant.

Ok. Bon bein ça sent la réinstallation de Debian sur le disque entier. Je vais virer les partitions Windows du début qui ne servent finalement à rien… sauf à amener des problèmes.

Encore merci pour ton aide. J’ai appris des choses au passage.

A ton avis, dois-je brancher le disque 1 (Windows du boulot) lors de l’installation de Deb sur le disque 2 ? Ou bien continuer comme je faisais jusqu’à maintenant, installation et démarrage en ôtant le disque 1, puis démarrer le disque 2 ? Je ne sais pas si c’est clair :017

@+

La seule façon que j’ai trouvée pour reproduire la non reconnaissances des partitions logiques par GRUB a été de désactiver le mode LBA/large pour le disque dans les réglage du BIOS. Si tu n’as pas encore réinstallé et si c’est possible, as-tu essayé de démarrer avec ce disque dans une autre machine pour vérifier que ça vient du disque et pas de la machine ?

Si tu laisses le disque Windows lors de l’installation de Debian, il y a un risque que GRUB installe son amorce dans celui-ci. Tu te retrouverais alors avec deux disques incapables de démarrer l’un sans l’autre, chacun contenant une partie de GRUB. Cela n’apporte rien de le laisser, donc autant l’enlever.