Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 19-06-2020 14:20:35

31hud
Membre
Lieu : proche Toulouse
Distrib. : Debian 10 stable
Noyau : 4.19.0-6-amd64
(G)UI : XFCE
Inscription : 13-03-2017

[RÉSOLU] Récupération de partitions perdues suite à grub rescue

Bonjour,

Je pense que j'ai fait une boulette sur mon PC en dual boot (debian 10 et fenêtres) : j'avais réservé une partie du disque (SSD) pour une future partition de stockage et au moment de l'activer, je l'ai fait depuis le système propriétaire captif pour l'avoir en NTFS. Grossière erreur, la partition étendue avait été créée lors de l'installation de Debian et je me retrouve en mode grub rescue au démarrage. Après quelques recherches j'ai passé les commandes ls et set sans rien toucher d'autre, pas envie de faire pire que mieux.

ls donne :

ls


(hd0) (hd0,msdos5) (hd0,msdos4) (hd0,msdos2) (hd0,msdos1)


Il y a un deuxième disque classique (rotatif) qui contient 3 partitions "fenêtres" : (hd1) (hd1,msdos3) (hd1,msdos2) (hd1,msdos1) et qui démarre correctement si le SSD est débranché. Pour l'instant, je n'en branche donc qu'un à la fois.

Le retour de set :

set


cmdpath=(hd0)
prefix(hd0,msdos6)/boot/grub
root=hd0,msdos6

La partition msdos6 n'apparaît pas dans le retour de ls et c'est là que se trouve le grub visiblement. Le partitionnement était composé des 2 partitions "système propriétaire" suivies de la partition étendue contenant les partitions Debian (3 minimum de mémoire : swap + root et home séparés je crois), toutes des partitions MBR, mon BIOS n'étant pas UEFI. J'ai un Live CD de Debian 9.5 (en 32 bits, je ne sais pas si ça a son importance, mon système tourne en 64 bits) ; parted me donne :

(parted) print


Model: ATA *Nom du constructeur* SSD *Modèle* (scsi)
Disk /dev/sda: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number   Start     End    Size     Type       File system    Flags
1        32,3kB    362MB  362MB    primary    ntfs           boot
2        362MB     80,2GB 79,8GB   primary    ntfs
3        80,2GB    150GB  69,9GB   extended
5        101GB     105GB  3999MB   logical    linux-swap(v1)
4        150GB     234GB  83,4GB   primary

La dernière doit résulter de ma tentative de créer la partition supplémentaire, il semble qu'il manque la partition root entre 80,2GB et 101GB ainsi que la partition /home entre 105GB et 150GB (+ peut-être /var ou /tmp, je ne me rappelle plus). Le disque était divisé en 3 parts plus ou moins égales, la dernière devant être réservée à la partition de stockage supplémentaire.

Y a-t-il quelque chose qu'on puisse faire pour restaurer l'état initial, d'autres retours de commandes à vous indiquer ?

Dernière modification par 31hud (27-06-2020 16:58:49)

Hors ligne

#2 19-06-2020 14:24:10

31hud
Membre
Lieu : proche Toulouse
Distrib. : Debian 10 stable
Noyau : 4.19.0-6-amd64
(G)UI : XFCE
Inscription : 13-03-2017

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

J'oubliais : le message au démarrage est

error: no such partition.
Entering rescue mode...
grub rescue>

Dernière modification par 31hud (19-06-2020 14:32:48)

Hors ligne

#3 19-06-2020 14:34:23

raleur
Membre
Inscription : 03-10-2014

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

Rechercher les positions des partitions disparues avec un outil comme testdisk ou gpart (à ne pas confondre avec gdisk ou gparted).

Il vaut mieux montrer que raconter.

Hors ligne

#4 19-06-2020 14:41:33

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-12-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

testdisk est installé sur le live SystemRescueCd si ça peu aider
https://www.system-rescue-cd.org/System-tools/

-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#5 19-06-2020 14:41:59

31hud
Membre
Lieu : proche Toulouse
Distrib. : Debian 10 stable
Noyau : 4.19.0-6-amd64
(G)UI : XFCE
Inscription : 13-03-2017

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

Bonjour raleur,

Eh oui, je vois bien qu'il faut retrouver les partitions et réparer le démarrage, mais j'ai dû utiliser une fois testdisk il y a des années et je crois que j'ai systématiquement réinstallé quand je tombais sur un grub rescue (mais maintenant, je n'ai pas envie de perdre mon installation qui était vraiment pas mal big_smile ).

Bonjour Croutons,

Quelle commande devrais-je passer sous testdisk (sans rien modifier pour l'instant, juste pour regarder) ?

Dernière modification par 31hud (19-06-2020 14:43:48)

Hors ligne

#6 19-06-2020 15:54:19

solar66
Adhérent(e)
Distrib. : debian buster
Noyau : Linux 4-19-0-12-amd64
(G)UI : cinnamon
Inscription : 23-08-2016

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

peut-être que je dis des grosses bêtises, mais ne suffirait-il pas de modifier  /etc/fstab , avec les bons éléments de cette partition, en se servant de blkid,pour connaître l'UUID de cette partition et ce à partir de n'importe quel live cd,   et aussi  de rajouter dans les options de tes partitions, autre que celle attribuées à ton système linux,  nofail afin de ne plus avoir par la suite ce type de désagrément  ?

Dernière modification par solar66 (19-06-2020 15:55:58)

Hors ligne

#7 19-06-2020 16:01:07

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-12-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

j'ai du m'en servir une fois y'a longtemps sous windows
je mettais servis de cette doc bien détaillé
https://www.cgsecurity.org/wiki/TestDis … _par_Etape

-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#8 19-06-2020 19:14:35

raleur
Membre
Inscription : 03-10-2014

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

solar66 a écrit :

peut-être que je dis des grosses bêtises


Je confirme. Le fichier /etc/fstab est dans une des partitions qui ont disparu.


Il vaut mieux montrer que raconter.

Hors ligne

#9 19-06-2020 20:59:57

31hud
Membre
Lieu : proche Toulouse
Distrib. : Debian 10 stable
Noyau : 4.19.0-6-amd64
(G)UI : XFCE
Inscription : 13-03-2017

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

J'ai essayé sans succès d'utiliser le testdisk d'un Boot CD (Irène's) sur le PC où le SSD malade est installé : ça ne fonctionne que si le SSD est débranché, ce qui n'arrange pas mes affaires... Coup de bol, j'ai une interface e-sata sur le PC depuis lequel je vous écris et testdisk y est déjà installé smile
Voici donc le premier retour de testdisk :

Disk /dev/sdc - 250 GB / 232 GiB - CHS 30401 255 63
Current partition structure:
     Partition                  Start        End    Size in sectors

> 1 * HPFS - NTFS              0   1  1    43 254 63     706797                
  2 P HPFS - NTFS             44   0  1  9750 254 63  155942955
  3 E extended              9751  27  3 18249  48 39  136521730
 Invalid FAT boot sector
  4 P FAT16 >32M           18249  48 40 28388  57 21  162883584
  4 P FAT16 >32M           18249  48 40 28388  57 21  162883584
  5 L Linux Swap           12304  48 33 12790 103 49    7811072
    X extended              9751  27  3 12790 103 49   48826370
 Must be in extended partition
  3 E extended              9751  27  3 18249  48 39  136521730
    X extended              9751  27  3 12790 103 49   48826370
  6 L Linux Swap           12304  48 33 12790 103 49    7811072
 

Depuis le live CD stretch 9.5 tout à l'heure, j'ai fait un blkid qui renvoyait + de 250 partitions "swap" après la partition étendue et le linux-swap de 4Go. Je pense que c'est quand le système monopolistique créait la partition primaire dans la partition étendue de Linux. Tout ce que j'espère, c'est qu'il n'a pas écrasé le reste et a bien écrit après les 150Go du dual-boot sinon je suis mal.

Voici ce que ça donne dans Gparted :
1592602073.png

Dernière modification par 31hud (19-06-2020 21:33:32)

Hors ligne

#10 20-06-2020 08:32:22

raleur
Membre
Inscription : 03-10-2014

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

31hud a écrit :

Voici donc le premier retour de testdisk :


Ce satané testdisk continue à utiliser l'adressage CHS obsolète au lieu de l'adressage LBA qui est le standard depuis deux décennies... Illisible.
Pourrais-tu poster la table de partition actuelle avec les positions en secteurs, soit avec fdisk, soit avec parted en spécifiant "unit s" avant "print" ?

Apparemment ce qu'affiche testdisk est la structure actuelle des partitions, tu n'as pas lancé la recherche des partitions perdues.
En tout cas n'accepte aucune solution de testdisk en cas de doute. Modifier une table de partition étendue provoque des écritures tout le long du disque entre les partitions logiques, pas seulement dans le MBR, donc accepter une mauvaise solution écrirait dans les partitions logiques perdues.

31hud a écrit :

j'ai fait un blkid qui renvoyait + de 250 partitions "swap" après la partition étendue et le linux-swap de 4Go


Cela peut être le signe d'une boucle dans la liste chaînée (normalement linéaire) de la partition étendue, indiquant que cette structure est corrompue. Le noyau s'arrête à 255 pour éviter une boucle infinie.

31hud a écrit :

e pense que c'est quand le système monopolistique créait la partition primaire dans la partition étendue de Linux.


1) Peux-tu nous épargner les périphrases pour désigner Windows ? Dans un forum technique, il est important d'appeler les choses par leur nom. Ce n'est pas sale.
2) Par définition on ne peut pas créer une partition primaire dans une partition étendue.
3) La partition étendue n'appartient pas à Linux.

PS : tu pourrais changer le titre du sujet en quelque chose comme "Récupération de partitions perdues" pour attirer l'attentions d'éventuels connaisseurs qui ne sont pas intéressés par GRUB.

Dernière modification par raleur (20-06-2020 09:13:59)


Il vaut mieux montrer que raconter.

Hors ligne

#11 20-06-2020 09:19:15

31hud
Membre
Lieu : proche Toulouse
Distrib. : Debian 10 stable
Noyau : 4.19.0-6-amd64
(G)UI : XFCE
Inscription : 13-03-2017

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

raleur a écrit :

Pourrais-tu poster la table de partition actuelle avec les positions en secteurs, soit avec fdisk, soit avec parted en spécifiant "unit s" avant "print" ?

La commande complète donnerait quoi du coup ?

raleur a écrit :

Apparemment ce qu'affiche testdisk est la structure actuelle des partitions, tu n'as pas lancé la recherche des partitions perdues.
En tout cas n'accepte aucune solution de testdisk en cas de doute. Modifier une table de partition étendue provoque des écritures tout le long du disque entre les partitions logiques, pas seulement dans le MBR, donc accepter une mauvaise solution écrirait dans les partitions logiques perdues.

En effet, je me suis arrêté à la toute première étape pour ne surtout rien modifier, je pêche sans doute par excès de prudence.

raleur a écrit :

Le noyau s'arrête à 255 pour éviter une boucle infinie.

Ça traduit bien ce qui s'est passé : Windows (c'est malin, j'ai un aphte maintenant) était figé et j'étais obligé de redémarrer à la sauvage.

raleur a écrit :

1) Peux-tu nous épargner les périphrases pour désigner Windows ? Dans un forum technique, il est important d'appeler les choses par leur nom. Ce n'est pas sale.

lol #LeDoc Si on se place du point de vue de l'optimisation et de leur politique, on peut avoir des avis divergents. big_smile

raleur a écrit :

2) Par définition on ne peut pas créer une partition primaire dans une partition étendue.
3) La partition étendue n'appartient pas à Linux.

Tout ça, je n'en avais pas conscience et je ne me suis pas méfié puisque diskmgmt.msc voyait bien une partition étendue avec 3 ou 4 partitions dedans ; j'ai pensé qu'il ferait les choses proprement (comme quoi on en apprend tout au long de sa vie wink ).

Merci pour tes réponses.

raleur a écrit :

PS : tu pourrais changer le titre du sujet en quelque chose comme "Récupération de partitions perdues" pour attirer l'attentions d'éventuels connaisseurs qui ne sont pas intéressés par GRUB.

PS : C'est fait smile

Dernière modification par 31hud (20-06-2020 09:22:06)

Hors ligne

#12 20-06-2020 09:31:27

raleur
Membre
Inscription : 03-10-2014

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

31hud a écrit :

La commande complète donnerait quoi du coup ?


fdisk -l /dev/sda


ou

parted /dev/sda unit s print


Il vaut mieux montrer que raconter.

Hors ligne

#13 20-06-2020 10:34:06

31hud
Membre
Lieu : proche Toulouse
Distrib. : Debian 10 stable
Noyau : 4.19.0-6-amd64
(G)UI : XFCE
Inscription : 13-03-2017

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

parted /dev/sdc unit s print


Model: ATA *Nom du constructeur* SSD *Modèle* (scsi)
Disk /dev/sda: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start       End         Size        Type      File system     Flags
 1      63s         706859s     706797s     primary   ntfs            boot
 2      706860s     156649814s  155942955s  primary   ntfs
 3      156651518s  293173247s  136521730s  extended
 5      197666816s  205477887s  7811072s    logical   linux-swap(v1)
 4      293173248s  456056831s  162883584s  primary

 

fdisk -l /dev/sdc


Omission des partitions après nº 60. Elles seront supprimées si vous sauvegardez cette table de partition.
Disque /dev/sdc : 232,9 GiB, 250059350016 octets, 488397168 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0xabcd1234

Périphérique Amorçage     Début       Fin  Secteurs Taille Id Type
/dev/sdc1    *               63    706859    706797 345,1M  7 HPFS/NTFS/exFAT
/dev/sdc2                706860 156649814 155942955  74,4G  7 HPFS/NTFS/exFAT
/dev/sdc3             156651518 293173247 136521730  65,1G  5 Étendue
/dev/sdc4             293173248 456056831 162883584  77,7G  6 FAT16
/dev/sdc5             197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc6             197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc7             197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc8             197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc9             197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc10            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc11            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc12            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc13            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc14            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc15            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc16            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc17            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc18            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc19            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc20            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc21            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc22            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc23            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc24            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc25            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc26            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc27            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc28            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc29            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc30            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc31            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc32            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc33            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc34            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc35            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc36            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc37            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc38            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc39            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc40            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc41            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc42            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc43            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc44            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc45            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc46            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc47            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc48            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc49            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc50            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc51            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc52            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc53            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc54            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc55            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc56            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc57            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc58            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc59            197666816 205477887   7811072   3,7G 82 partition d'échang
/dev/sdc60            197666816 205477887   7811072   3,7G 82 partition d'échang

Les entrées de la table de partitions ne sont pas dans l'ordre du disque.

Hors ligne

#14 20-06-2020 12:39:07

raleur
Membre
Inscription : 03-10-2014

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

Tiens, fdisk tombe dans la boucle comme le noyau mais pas parted, alors que ce dernier bute sur la table de partition des images d'installation. Comme quoi il faut toujours disposer de plusieurs outils, chacun ayant ses forces et faiblesses.

Tu peux lancer la recherche des partitions perdues avec testdisk et voir s'il trouve quelque chose de cohérent.

Il vaut mieux montrer que raconter.

Hors ligne

#15 20-06-2020 13:22:32

31hud
Membre
Lieu : proche Toulouse
Distrib. : Debian 10 stable
Noyau : 4.19.0-6-amd64
(G)UI : XFCE
Inscription : 13-03-2017

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

Voici ce que donne la 2ème étape de recherche ("Quick search") de testdisk :

Disk /dev/sdc - 250 GB / 232 GiB - CHS 30401 255 63
     Partition               Start        End    Size in sectors
>* HPFS - NTFS              0   1  1    43 254 63     706797
 P HPFS - NTFS             44   0  1  9750 254 63  155942955
 P HPFS - NTFS           9751   0  1 19456 254 63  155926890

On dirait qu'il ne voit que des partitions NTFS. sad
Et le "Advanced" :

Disk /dev/sdc - 250 GB / 232 GiB - CHS 30401 255 63

     Partition                  Start        End    Size in sectors
> 1 * HPFS - NTFS              0   1  1    43 254 63     706797
  2 P HPFS - NTFS             44   0  1  9750 254 63  155942955
    X extended              9751  27  3 12790 103 49   48826370
  3 E extended              9751  27  3 18249  48 39  136521730
  5 L Linux Swap           12304  48 33 12790 103 49    7811072
  4 P FAT16 >32M           18249  48 40 28388  57 21  162883584

Ah, il y a "Deeper search" aussi :

Disk /dev/sdc - 250 GB / 232 GiB - CHS 30401 255 63
     Partition               Start        End    Size in sectors
>* HPFS - NTFS              0   1  1    43 254 63     706797
 P HPFS - NTFS             44   0  1  9750 254 63  155942955
 D HPFS - NTFS           9751   0  1 19456 254 63  155926890
 D Linux                 9751  27  5 12304  48 32   41015296
 D Linux                10814 143 18 13367 164 45   41015296
 D Linux                10814 208 19 13367 229 46   41015296
 D Linux                10816 250 59 13370  17 23   41015296
 D Linux                10823 123 53 13376 145 17   41015296
 D Linux                10826 204  3 13379 225 30   41015296
 D Linux Swap           12304  48 33 12790 103 49    7811072
 D Linux                12790 136 19 18249  48 39   87693312
 D Linux                15419  54 60 20877 222 17   87693312
 D Linux                15419 249 63 20878 162 20   87693312
 D Linux                15420 157 34 20879  69 54   87693312
 D Linux                15421 195  7 20880 107 27   87693312
 D Linux                15427 192 62 20886 105 19   87693312
 D Linux                15428   2 63 20886 170 20   87693312
 D Linux                15431 148 14 20890  60 34   87693312
 D Linux                15431 245 47 20890 158  4   87693312
 D Linux                15434  98 25 20893  10 45   87693312
 D Linux                15435 135 61 20894  48 18   87693312
 D Linux                15437  16  4 20895 183 24   87693312
 D Linux                15440 128 49 20899  41  6   87693312
 D Linux                15441   1  1 20899 254 63   87698772
 D Linux                15442   8 55 20900 176 12   87693312
 D Linux                15443 176 30 20902  88 50   87693312
 D Linux                15444 149  2 20903  61 22   87693312
 D Linux                15446 224 11 20905 136 31   87693312
 D Linux                15447 196 46 20906 109  3   87693312
 D Linux                15448  39 16 20906 206 36   87693312

Dernière modification par 31hud (20-06-2020 13:52:13)

Hors ligne

#16 20-06-2020 14:39:03

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-12-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

Hello
Je sais pas si cela peu aider

Pour un disque possédant NT têtes par cylindre et NS secteurs par piste
la conversion d’une adresse LBA A vers CHS s’obtient de la façon suivante
A = ( C × NT × NS ) + ( H × NS ) + S - 1


https://fr.wikipedia.org/wiki/Logical_b … _LBA_/_CHS

tesdisk a écrit :

Disk /dev/sdc - 250 GB / 232 GiB - CHS 30401 255 63



fdisk a écrit :

Disque /dev/sdc : 232,9 GiB, 250059350016 octets, 488397168 secteurs
Unités : secteur de 1 × 512 = 512 octets



ce qui donne
NT=255 NS=63
A= (30401×255×63)+(255×63)+63−1
A= 488408192
on retombe a peu près sur le nombre de secteur de fdisk
on peu afficher les partitions en mode CHS avec

sfdisk --show-geometry


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#17 20-06-2020 18:28:31

31hud
Membre
Lieu : proche Toulouse
Distrib. : Debian 10 stable
Noyau : 4.19.0-6-amd64
(G)UI : XFCE
Inscription : 13-03-2017

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

Merci pour ces indications, Croutons. Étant très mauvais en maths, ça va me prendre un temps monstre pour convertir tous ces nombres en infos exploitables. kernal_panic.gif

En attendant, j'essaie de tirer le maximum d'infos des outils que j'ai à disposition pour me faire une idée de ce qu'il faudrait faire (sans vraiment savoir). Les infos que j'ai pu extraire avec Gparted (tout est exprimé en secteurs, plus faciles à convertir -512 octets à chaque fois) :

/dev/sdc1    ntfs    drapeau : boot    1er s : 63                dernier s : 706859        nb de s : 706797        taille : 345.12 Mio (WinRE)    type : primaire
/dev/sdc2    ntfs    drapeau :            1er s : 706860        dernier s : 156649814  nb de s : 155942955  taille : 74.36 Gio (Système)   type : primaire
/dev/sdc3    extended                       1er s : 156651518 dernier s : 293173247   nb de s : 136521730  taille : 65.10 Gio ("Aucune partition logique n'est montée")
non alloué                                        1er s : 156651518 dernier s : 197666815   nb de s : 41015298    taille : 19.56 Gio (probablement là où était installé root)
/dev/sdc5    linux-swap                     1er s : 197666816 dernier s : 205477887   nb de s : 7811072      taille : 3.72 Gio (vide)
non alloué                                        1er s : 205477888 dernier s : 293173247   nb de s : 87695360    taille : 41.82 Gio (emplacement de /home normalement)
/dev/sdc4    inconnu                         1er s : 293173248 dernier s : 456056831   nb de s : 162883584  taille : 77.67 Gio (tentative avortée de partition)
non alloué                                        1er s : 456056832 dernier s : 488397167   nb de s : 32340336    taille : 15.42 Gio (espace que je laissais pour secteurs HS)



Edit : Pour que la lecture du code sur le forum soit lisible par tous, il faut utiliser Autre code du forum. Modif fête. smile
Oh, quel beau BB …code où comment mettre en forme vos messages dans le fofo

Dernière modification par 31hud (20-06-2020 18:34:11)

Hors ligne

#18 20-06-2020 19:58:35

raleur
Membre
Inscription : 03-10-2014

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

Je sais convertir CHS en LBA, mais c'est pénible de devoir faire une feuille de calcul pour convertir toutes les coordonnées potentielles rapportées par testdisk.
Bref.
testdisk a identifié deux ensembles de partitions de 41015296 secteurs (21 Go) et 87693312 secteurs (45 Go) de part et d'autre de la partition de swap. Je pense qu'il détecte chaque partition plusieurs fois à différentes positions parce qu'il se base sur la reconnaissance des superblocs, et qu'une partition ext4 contient plusieurs copies du superbloc. Il extrait les tailles à partir des informations contenues dans les superblocs. La cohérence avec les positions des autres partitions permet de distinguer quelles sont les bonnes coordonnées (en fait ce sont aussi les premières, celles du premier superbloc). Ce qui donne (j'ai omis les trois partitions primaires) :


id      Cdébut  Hdébut  Sdébut  Cfin   Hfin  Sfin  taille sect  LBAdébut   LBAfin
extend   9751    27      3      18249   48   39    136521730    156651518  293173247
Linux    9751    27      5      12304   48   32    41015296     156651520  197666815
Swap    12304    48     33      12790  103   49    7811072      197666816  205477887
Linux   12790   136     19      18249   48   39    87693312     205479936  293173247
 


Les positions de début des partitions logiques sont des multiples de 2048 (alignement par défaut), ce qui est bon signe.
Le début de la première partition logique a 2 secteurs d'écart avec le début de la partition étendue, ce qui est cohérent (espace réservé pour le secteur de partition étendue ou EBR).
Il y a 2048 secteurs entre la fin de la 2e partition logique et le début de la 3e partition, ce qui est normal pour réserver l'espace pour un EBR et respecter l'alignement.
La fin de la dernière partition logique correspond à la fin de la partition étendue.

Mais il y a une anomalie : le dernier secteur de la première partition et le premier secteur de la 2e partition sont côte à côte sans intervalle alors que normalement deux partitions logiques consécutives doivent être séparées par au moins un secteur (EBR). Donc soit testdisk s'est trompé (je ne le pense pas), soit il y a avait une anomalie dans l'arrangement des partitions logique, qui est peut-être à l'origine de la perte des deux partitions.

Il est possible de vérifier le contenu des partitions sans modifier le contenu du disque. A suivre.


Il vaut mieux montrer que raconter.

Hors ligne

#19 20-06-2020 20:15:15

31hud
Membre
Lieu : proche Toulouse
Distrib. : Debian 10 stable
Noyau : 4.19.0-6-amd64
(G)UI : XFCE
Inscription : 13-03-2017

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

yikes Je ne sais pas comment tu arrives à déduire tout ça, pour moi ce n'est qu'un embrouillamini de chiffres incompréhensibles. Mais si tu veux dire qu'il y a peut-être un espoir (même mince) de rétablir les choses à peu près dans l'ordre, je te suis les yeux fermés : tu comprends beaucoup mieux ce qui a pu se passer que je ne saurais le faire. J'avais vu que sdc3 et l'espace non alloué commençaient au même endroit, je commençais à croire que la partition swap s'était copiée à tous les endroits des deux autres partitions ext4 ( / et /home). Merci en tout cas pour l'effort fourni, chapeau !

Hors ligne

#20 20-06-2020 23:19:34

raleur
Membre
Inscription : 03-10-2014

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

Pour activer des partitions, on peut utiliser addpart (cf. page de manuel pour les détails). Mais il faut d'abord utiliser delpart pour dire au noyau de désactiver deux partitions factices créées par la boucle dans la partition étendue.


delpart /dev/sdc 6


delpart /dev/sdc 7


addpart /dev/sdc 6 156651520 41015296


addpart /dev/sdc 7 205479936 87693312


pour les mettre en lecture seule :

blockdev --setro /dev/sdc6


blockdev --setro /dev/sdc7


blkid /dev/sdc[5-7]


file -s /dev/sdc5


dumpe2fs -h /dev/sdc6


dumpe2fs -h /dev/sdc7

Dernière modification par raleur (24-06-2020 08:59:22)


Il vaut mieux montrer que raconter.

Hors ligne

#21 23-06-2020 11:49:27

31hud
Membre
Lieu : proche Toulouse
Distrib. : Debian 10 stable
Noyau : 4.19.0-6-amd64
(G)UI : XFCE
Inscription : 13-03-2017

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

Bonjour raleur,

Ça ne fonctionne pas : dès la première commande, j'ai un message d'erreur qui m'indique :

addpart /dev/sdc 6 156651520 41015296


addpart: échec d'ajout de partition: Périphérique ou ressource occupé

Ça se produit quelle que soit la manière dont le disque est connecté (e-sata ou USB) ; j'ai même essayé en le branchant en interne, là ça ne démarre carrément pas. Je ne sais pas si c'est dû à la limitation de Debian qui ne monte pas automatiquement les partitions ou si c'est parce que le système recherche les partitions en permanence et boucle (ce qui semble se produire au boot). sad

Hors ligne

#22 23-06-2020 12:09:00

raleur
Membre
Inscription : 03-10-2014

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

Il manque les commandes delpart au début de la séquence. Il me semblait pourtant les avoir ajoutées...
Je modifie mon message précédent. Pas dispo avant ce soir pour la suite.

Dernière modification par raleur (23-06-2020 12:11:41)


Il vaut mieux montrer que raconter.

Hors ligne

#23 23-06-2020 15:58:40

31hud
Membre
Lieu : proche Toulouse
Distrib. : Debian 10 stable
Noyau : 4.19.0-6-amd64
(G)UI : XFCE
Inscription : 13-03-2017

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

Pas de souci, je sais ce que c'est d'avoir une logique en tête et sauter des étapes qui semblent aller de soi wink Et on a tous une vie et nos occupations.
Les retours des 6 premières commandes (delpart, addpart et blockdev) se sont bien passés : vides (pas de nouvelle, bonne nouvelle).

blkid /dev/sdc[5-7]


/dev/sdc5: UUID="bcb69c1c-3f0f-4120-bc1a-9ba1f99be96e" TYPE="swap" PARTUUID="a1b2c3d4-05"
/dev/sdc6: UUID="4dcc098d-0e0a-4401-bbd1-0b472c815b39" TYPE="ext4"
/dev/sdc7: UUID="f77cfb28-8e78-471b-8eae-75bb16b7f4c7" TYPE="ext4"

(les UUID sont fictifs) Il semble reconnaître du format ext4, bon signe ?

file -s /dev/sdc5


/dev/sdc5: Linux/i386 swap file (new style), version 1 (4K pages), size 976383 pages, no label, UUID=bcb69c1c-3f0f-4120-bc1a-9ba1f99be96e

Dernière modification par 31hud (24-06-2020 18:48:23)

Hors ligne

#24 23-06-2020 16:07:26

31hud
Membre
Lieu : proche Toulouse
Distrib. : Debian 10 stable
Noyau : 4.19.0-6-amd64
(G)UI : XFCE
Inscription : 13-03-2017

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

Oh, joli ! Les partitions Linux sont accessibles : la partition de 45GiB est bien /home et celle de 21GiB la racine contenant les répertoires boot, tmp et var "en dur" (pas de raccourci). Donc c'est une install classique racine et home séparé wink Je commence à reprendre espoir avec le dossier boot accessible (mais je ne sais pas quoi en faire). Je ne pousse pas encore le "ouf" de soulagement mais pas loin !

Hors ligne

#25 24-06-2020 09:11:02

raleur
Membre
Inscription : 03-10-2014

Re : [RÉSOLU] Récupération de partitions perdues suite à grub rescue

J'avais oublié l'option -h avec dumpe2fs pour afficher seulement les informations du superbloc et pas des descripteurs de groupes (long et inutile). Ton terminal ne doit pas avoir une taille de tampon suffisante pour conserver le début qui m'intéressait.

La sortie de file sur la partition de swap confirme que la taille du swap correspond bien à la taille de la partition :
(976383 pages +1)*4096/512 = 7811072 secteurs
ce qui va poser un problème pour recréer la partition suivante qui doit en être séparée par un intervalle d'au moins 2 secteurs. Je pense qu'il va falloir réduire la partition de swap pour laisser cet espace.

Il vaut mieux montrer que raconter.

Hors ligne

Pied de page des forums