Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/10/2021, à 10:40

alex2423

Sauvegarder 1 partition avec la table GPT défectueuse

Bonjour,

J'aimerais savoir s'il est possible de sauvegarder une partition sans la partition GPT, avant de réparer le message “GPT PMBR size mismatch” que me retourne fdisk ?


Contexte :
Sur mon rpi, j'avais branché un disque dur interne classique de 5 1/4  avec un adaptateur usb + son bloc d'alimentation. Il était utilisé pour stocker mes photos issues du portail photo Piwigo.

Entre temps, j'ai arrêté ce projet. J'ai remis en marche mon rpi mais manque de chance la partition n'est plus visible. Je n'arrive plus à monter la partition.

Je teste sur mon laptop, le disque.
On voit bien sda (en faisant du néttoyage avec les loop des snap):

kfocal@kfocal:~$ lsblk  
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT  
sda           8:0    0 465,8G  0 disk    
nvme0n1     259:0    0 465,8G  0 disk    
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi  
├─nvme0n1p2 259:2    0  51,2G  0 part    
├─nvme0n1p3 259:3    0 319,7G  0 part /home  
└─nvme0n1p4 259:4    0  46,6G  0 part /

Et on voit même une première partition /dev/sda1 :

kfocal@kfocal:~$ sudo fdisk -l   
 
Disk /dev/nvme0n1: 465,78 GiB, 500107862016 bytes, 976773168 sectors  
Disk model: CT500P1SSD8                                
Units: sectors of 1 * 512 = 512 bytes  
Sector size (logical/physical): 512 bytes / 512 bytes  
I/O size (minimum/optimal): 512 bytes / 512 bytes  
Disklabel type: gpt  
Disk identifier: 8556EDC8-3306-48C7-950C-4A63927DAF2A  
  
Device  Start       End   Sectors   Size Type  
/dev/nvme0n1p1      2048   1050623   1048576   512M EFI System  
/dev/nvme0n1p2   1050624 108380159 107329536  51,2G Linux filesystem  
/dev/nvme0n1p3 306374656 976773119 670398464 319,7G Linux filesystem  
/dev/nvme0n1p4 108380160 206036991  97656832  46,6G Linux filesystem  
  
Partition table entries are not in disk order.  
  
GPT PMBR size mismatch (1953525167 != 976773167) will be corrected by write.  
Disk /dev/sda: 465,78 GiB, 500107862016 bytes, 976773168 sectors  
Disk model: 02-1BD142          
Units: sectors of 1 * 512 = 512 bytes  
Sector size (logical/physical): 512 bytes / 512 bytes  
I/O size (minimum/optimal): 512 bytes / 512 bytes  
Disklabel type: dos  
Disk identifier: 0x67d481df  
  
Device Boot Start       End   Sectors   Size Id Type  
/dev/sda1           1 976773167 976773167 465,8G ee GPT

mais avec l'erreur "GPT PMBR size mismatch", c'après ce lien :
https://forum.manjaro.org/t/fdisk-l-sho … atch/37523
On peut y lire que ce n'est pas réellement une erreur, juste que la table de partition GPT n'est pas correct. Plutôt encourageant.

Or dans mon cas, je ne peux pas accéder simplement à sda1. Je n'ai pas de répertoire /dev/sda1

Les solutions que j'ai pu trouver seraient :

sudo parted -l  ou 
sudo parted /dev/sda unit s print   ou 
sudo gdisk -l /dev/sda

https://ubuntuforums.org/showthread.php?t=2277232

ou

sudo  parted -a optimal /dev/sde

d'après un lien d'ici : https://forum.ubuntu-fr.org/viewtopic.php?id=2063001


Mais en attendant de faire toutes ces manips, j'aimerais bien assurer mes gardes et sauvegarder la partition sda1 mais comment faut il faire ?
Le disque est en réalité un disque de 1To, d'après mes souvenirs, j'ai certainement fait une partition de 500Go et le reste je l'ai laissé en non partitionné.

Dernière modification par alex2423 (Le 13/10/2021, à 11:19)

Hors ligne

#2 Le 13/10/2021, à 10:45

FrancisFDZ

Re : Sauvegarder 1 partition avec la table GPT défectueuse

Bonjour,
Et avec gparted, quelle est l'erreur signalée ?


-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]

Hors ligne

#3 Le 13/10/2021, à 11:17

alex2423

Re : Sauvegarder 1 partition avec la table GPT défectueuse

N'étant pas sous Gnome mais sous KDE, j'ai KDE Partition Manager

Je n'ai pas d'erreur lorsque je sélectionne le disque. Il ne le voit que comme un disque de 465GiB alors que sur l'étique, il est bien indiqué 1TB. On voit bien la partition avec comme point de montage "/run", je n'ai pas pensé à regarder dans ce répertoire. Il faut que je teste
https://i.imgur.com/yJ2Klob.png

Note : si gparted est bien mieux, je peux booter si besoin sur ma Ubuntu

Hors ligne

#4 Le 13/10/2021, à 12:38

Nasman

Re : Sauvegarder 1 partition avec la table GPT défectueuse

Que donne

sudo dd if=/dev/sda bs=512 count=4 | hexdump -C

Affiche le contenu des 4 premiers secteurs, soit le mbr protector (LBA=0), les en-tête gpt (LBA=1) et les 8 emplacements des 8 premières partitions (LBA=3 et LBA=3)

Il y a une copie de ces infos en fin de disque dont il faudrait aussi voir le contenu


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#5 Le 13/10/2021, à 17:13

alex2423

Re : Sauvegarder 1 partition avec la table GPT défectueuse

Halala, je vois de rebrancher le disque dur et maintenant je ne vois plus de partition sda1 sad

kfocal@kfocal:~$ sudo fdisk -l /dev/sda
Disk /dev/sda: 931,53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: DT01ACA100      
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 85FAE848-ACB9-42AF-A7DD-B30AAAEBA424
kfocal@kfocal:~$ 

Je n'ai plus l'erreur du coup gpt. Je n'ai pourtant fait aucune écriture sur le disque avec un outil. Curieux cette disparition, c'est ce que je craignais le plus justement sad

Et sous gparted que je viens d'installer enfin de compte :
https://i.imgur.com/9abohb1.png

Nasman a écrit :

Que donne

sudo dd if=/dev/sda bs=512 count=4 | hexdump -C

Affiche le contenu des 4 premiers secteurs, soit le mbr protector (LBA=0), les en-tête gpt (LBA=1) et les 8 emplacements des 8 premières partitions (LBA=3 et LBA=3)

Il y a une copie de ces infos en fin de disque dont il faudrait aussi voir le contenu

kfocal@kfocal:~$ sudo dd if=/dev/sda bs=512 count=4 | hexdump -C
[sudo] password for kfocal: 
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
4+0 records in
4+0 records out
*
000001b0  00 00 00 00 00 00 00 00  df 81 d4 67 00 00 00 00  |...........g....|
000001c0  01 00 ee fe ff ff 01 00  00 00 af 6d 70 74 00 00  |...........mpt..|
2048 bytes (2,0 kB, 2,0 KiB) copied, 0,000936098 s, 2,2 MB/s000001d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

*
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200  45 46 49 20 50 41 52 54  00 00 01 00 5c 00 00 00  |EFI PART....\...|
00000210  fe c5 98 48 00 00 00 00  01 00 00 00 00 00 00 00  |...H............|
00000220  af 6d 70 74 00 00 00 00  22 00 00 00 00 00 00 00  |.mpt....".......|
00000230  8e 6d 70 74 00 00 00 00  48 e8 fa 85 b9 ac af 42  |.mpt....H......B|
00000240  a7 dd b3 0a aa eb a4 24  02 00 00 00 00 00 00 00  |.......$........|
00000250  80 00 00 00 80 00 00 00  86 d2 54 ab 00 00 00 00  |..........T.....|
00000260  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000800
kfocal@kfocal:~$
Nasman a écrit :

Il y a une copie de ces infos en fin de disque dont il faudrait aussi voir le contenu

Comment faire pour voir les 4 derniers bloc du disque ?


https://doc.ubuntu-fr.org/dd#verifier_u … _du_disque
Si je comprends, il faut jouer avec les options bs, skip et count

Calcul sur Qwant : https://www.qwant.com/?q=1024*1024*1024*1024&t=web
1 T0 = 1024 * 1024 * 1024 * 1024 = 1,099,511,627,776 octets
1 bloc = 512 octets

Nous avons l'équivant en bloc sur le disque :
Calcul sur Qwant :  https://www.qwant.com/?q=%281024*1024*1 … F512&t=web
1,099,511,627,776 / 512 = 2,147,483,648
Dans ce cas, si l'on veut visualiser la fin du disque, il faudrait :
- sauter les 2,147,483,640 premiers blocs par exemple ce qui équivaudrait à skip = 2147483640
- et visualiser les 8 blocs suivants count = 8
- et ensuite j'ai repris la fin de ta commande
Ma proposition serait donc :

dd if=/dev/sda bs=512 skip=2147483640 count=8 | hexdump -C

Quand penses tu ? Je préfère demander pour ce genre d'opération qui pourrait être dangereux comme accéder à un élément qui n'existe pas. J'avais entendu parler que parfois 1ko= 1 000o et non pas 1024

Dernière modification par alex2423 (Le 13/10/2021, à 17:14)

Hors ligne

#6 Le 13/10/2021, à 19:35

beuguissime

Re : Sauvegarder 1 partition avec la table GPT défectueuse

Bonsoir,
Je laisse la main à Nasman bien plus compétent que moi mais je voulais déjà te signaler que tu ne parles pas du même disque entre le message 1 et 5. L'un est de 500Go, l'autre de 1To. Les identifiants des modèles sont bien différents entre les deux retours de console.

Hors ligne

#7 Le 13/10/2021, à 21:20

alex2423

Re : Sauvegarder 1 partition avec la table GPT défectueuse

Bonsoir beuguissime,

Tu es certe peut être un peu moins calé mais un grand merci à toi pour avoir eu l'idée de comparer le "Disk model".
En effet, j'ai 2 disques dur :
- Seagate Barracuda 500Go - ST500DM002
- Toshiba 1To - DT01ACA100
qui traine sur la commode et je ne me souviens plus quel disque j'avais utilisé, d'ou mes switch.

Pour brancher mes disques sur mon laptop, j'utilise ce genre d'adapteur usb2 => sata ou ide
https://www.walmart.com/ip/iMeshbean-SA … /965164510

Je viens de m'apercevoir que lorsque j'intervertis les disques
- je laisse la prise USB branchée sur le PC
- je déconnecte les prises data et d'alimentation du disque dur pour les brancher sur l'autre disque
fdisk ressort en partie le diagnostic du disque précédent. fdisk a une sorte de cache et ne réinterroge pas le disque qui a été intervertis.
fdisk me retournait comme résultat un disque de 1To alors que j'avais branché le 500Go.

Je viens de comprendre qu'il faut à chaque débrancher la prise USB du PC même si le disque n'est pas alimenté. fdisk garde en mémoire sinon. Mes résultats sont donc faussée depuis le début.

Je vais relancer les commandes sur chaque disque en débranchant bien la prise USB entre


https://www.walmart.com/ip/iMeshbean-SA … /965164510

Hors ligne

#8 Le 13/10/2021, à 21:49

alex2423

Re : Sauvegarder 1 partition avec la table GPT défectueuse

Disque Toshiba 1To

kfocal@kfocal:~$ sudo fdisk -l /dev/sda 
Disk /dev/sda: 931,53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: DT01ACA100      
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 85FAE848-ACB9-42AF-A7DD-B30AAAEBA424
kfocal@kfocal:~$
kfocal@kfocal:~$ sudo dd if=/dev/sda bs=512 count=4 | hexdump -C
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
4+0 records in
4+0 records out
*
000001b0  00 00 00 00 00 00 00 00  df 81 d4 67 00 00 00 00  |...........g....|
2048 bytes (2,0 kB, 2,0 KiB) copied, 0,00131864 s, 1,6 MB/s000001c0  01 00 ee fe ff ff 01 00  00 00 af 6d 70 74 00 00  |...........mpt..|

000001d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200  45 46 49 20 50 41 52 54  00 00 01 00 5c 00 00 00  |EFI PART....\...|
00000210  fe c5 98 48 00 00 00 00  01 00 00 00 00 00 00 00  |...H............|
00000220  af 6d 70 74 00 00 00 00  22 00 00 00 00 00 00 00  |.mpt....".......|
00000230  8e 6d 70 74 00 00 00 00  48 e8 fa 85 b9 ac af 42  |.mpt....H......B|
00000240  a7 dd b3 0a aa eb a4 24  02 00 00 00 00 00 00 00  |.......$........|
00000250  80 00 00 00 80 00 00 00  86 d2 54 ab 00 00 00 00  |..........T.....|
00000260  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000800
kfocal@kfocal:~$

Disque 500Go

kfocal@kfocal:~$ sudo fdisk -l /dev/sda 
Disk /dev/sda: 465,78 GiB, 500107862016 bytes, 976773168 sectors
Disk model: 02-1BD142       
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9429A937-5C0B-4008-B6BB-2712660932ED
kfocal@kfocal:~$ 
kfocal@kfocal:~$ sudo dd if=/dev/sda bs=512 count=4 | hexdump -C
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
4+0 records in
4+0 records out
*
2048 bytes (2,0 kB, 2,0 KiB) copied, 0,000975947 s, 2,1 MB/s000001b0  00 00 00 00 00 00 00 00  f9 f8 ac 42 00 00 00 00  |...........B....|

000001c0  01 00 ee fe ff ff 01 00  00 00 2f 60 38 3a 00 00  |........../`8:..|
000001d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200  45 46 49 20 50 41 52 54  00 00 01 00 5c 00 00 00  |EFI PART....\...|
00000210  99 b7 72 f1 00 00 00 00  01 00 00 00 00 00 00 00  |..r.............|
00000220  2f 60 38 3a 00 00 00 00  22 00 00 00 00 00 00 00  |/`8:....".......|
00000230  0e 60 38 3a 00 00 00 00  37 a9 29 94 0b 5c 08 40  |.`8:....7.)..\.@|
00000240  b6 bb 27 12 66 09 32 ed  02 00 00 00 00 00 00 00  |..'.f.2.........|
00000250  80 00 00 00 80 00 00 00  86 d2 54 ab 00 00 00 00  |..........T.....|
00000260  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000800
kfocal@kfocal:~$ 

mais maintenant je n'ai plus du tout de sda1 annoncé dans le fdisk avec l'erreur certe GPT.
La problématique de départ était comme monter sda1 malgré "l'erreur", ou tout du moins récupérer ses données.  Problématique différente du coup.

Pour récupérer mes photos, je pense que le mieux est d'utiliser photorec et de scanner mes 2 disques et voir ce qu'il en est : https://doc.ubuntu-fr.org/photorec

Hors ligne

#9 Le 14/10/2021, à 15:44

Nasman

Re : Sauvegarder 1 partition avec la table GPT défectueuse

Les infos que j'en tire :
Partition de type ee commençant à la LBA=1, taille de la "partition" 976773168 secteurs, soit 500107862016 octets.

Les en-tête gpt de la LBA=1 indiquent que le backup de l'en-tête se trouve à la LBA=976773167.

Je vois qu'il ne semble plus y avoir de tables à partir de la LBA=2 (à partir de l'adresse 400).
Il faut voir s'il y a quelque chose en fin de disque.


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#10 Le 14/10/2021, à 15:55

Nasman

Re : Sauvegarder 1 partition avec la table GPT défectueuse

Que donne

sudo dd if=/dev/sda bs=512 count=33 skip=976773135  | hexdump -C

Tu devrais avoir la copie des tables des partitions (backup), à raison de 4 partitions par secteur (soit un maximum de 128 partitons) + backup de l'en-tête gpt.
Je ne sais plus si :
la copie de la LBA=2 est en 976773166 ou en 976773135
la copie de la LBA=3 est en 976773165 ou en 976773136
...


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#11 Le 15/10/2021, à 17:02

alex2423

Re : Sauvegarder 1 partition avec la table GPT défectueuse

Je vais faire une petite pause de quelques jours sur ce problème qui est prise de tête

Hors ligne