Suite du message de dessus :
À partir de (initramfs), j’ai tapé 'blkid’
Réponse :
/dev/sda/: PTTYPE=“PMBR”
Ce n’est pas assez précis. Des UUID, il y en a un tas sur un disque : UUID de la table de partition GPT, UUID des partitions GPT, UUID des systèmes de fichiers… Si ça bloque à l’initramfs, c’est probablement l’UUID du système de fichiers racine.
Mais il n’y a aucune raison que le clonage avec dd ait modifié un UUID. Il faudrait vérifier si la table de partition GPT a bien été reconnue par le noyau. Qu’affiche blkid
? Eventuellement dmesg|grep sd
(si dmesg est présent dans l’initramfs, je ne sais plus), sinon cat /proc/partitions
.
dmesg :
[1.628xxx] sd 4: 0:0:0:: [sda] 4096-byte physical block
… Write protect is off
… Mode Sense : 00 3a 00 00
… Write cache: enable, read cache:enable, does n’t support DPO or FUA
… Attached scsi generic sg1 type 0
… sda: unknown partition table
… [sda] attached SCSI disk
… Attached scsi generic sg2 type 0
… [sdb] Attached SCSI removable disk
Pour blkid, j’avais répondu dessus
C’est bien la table de partition qui n’est pas reconnue.
Ça ne doit pas être trop grave car cela n’a pas empêché GRUB de trouver /boot.
fdisk avait proposé une correction, l’avais-tu enregistrée ?
Si fdisk n’est pas disponible de base dans l’initramfs, il va falloir redémarrer avec un autre système. Puisque le noyau ne reconnaît pas la table de partition, tu peux remettre les deux disques et démarrer sur l’original.
Je pense que tu veux parler de la commande 'w’
Mais où et comment la taper ???
fdisk sorti avec les deux disques connectés. inactif directement à partir de initramfs.
EDIT :
Est-ce qu’il entend par ‘w’ la commande présente dans GPT ?
Retour vers 14:30
Je t’avoue que je tâtonne avec toi, je n’ai encore jamais traité ce type de situation et je n’ai pas de quoi tester sous la main.
Tu as eu ce message en faisant fdisk -l
qui ne permet pas de modification.
Il faut exécuter fdisk /dev/sdb
(ou sda, selon le nom sous lequel le disque est vu), et là tu pourras taper “w” pour enregistrer les corrections de la table de partition.
j’écris au fur et à mesure de ce que je fais :
– branchement des deux disques
– connexion sur l’original
– fdisk -l …(repérage clone = sdb)
– fdisk /dev/sdb
– w
… La table de partitions a été altérée.
… Appel d’ioctl() pour relire la table de partitions
Synchronisation des disques.
Retour à l’invite.
Essai
extinction des deux disques
déconnexion disque original
Attente car orage et éclairs, donc …
@ +
Tu aurais pu regarder immédiatement avec dmesg
ou dans /proc/partitions si le noyau avait reconnu la table de partition corrigée, avant de redémarrer.
Pas pensé !
Donc, connexion clone seul et même arrivée avec même message exactement et retour à (initramfs).
Je suppose que la commande ‘w’ na pas été pérenne et qu’il me reste à reprendre le processus précédent.
Dans ce cas, je vérifierai bien avec ta dernière recommandation.
Tant que tu y seras,
vérification du contenu de la table de partition DOS/MBR
fdisk -l -t dos
et de la table de partition GPT
fdisk -l -t gpt
J’aurais aussi tendance à te suggérer d’utiliser gdisk
qui est peut-être plus bavard sur les anomalies qu’il détecte et les corrections qu’il propose.
Refait tout le processus, puis
vérifié dmesg
dernière ligne pas sympa :
sdb: unknown partition table:smiling_imp:
======
Attendre la suite car je passe sur la machine concernée pour faire des copié/collé, qui sont plus complets et plus faciles qu’au clavier.
ricardo@dd3-5:~$ sudo fdisk -l -t dos
Disque /dev/sdb : 465,8 GiB, 500107862016 octets, 976773168 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d’E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d’étiquette de disque : dos
Identifiant de disque : 0x2de92de8
Device Boot Start End Sectors Size Id Type
/dev/sdb1 1 1250263727 1250263727 596,2G ee GPT
La partition 2 ne commence pas sur une frontière de cylindre physique.
Disque /dev/sda : 596,2 GiB, 640135028736 octets, 1250263728 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 : 0x2de92de8
Device Boot Start End Sectors Size Id Type
/dev/sda1 1 1250263727 1250263727 596,2G ee GPT
.
.
.
ricardo@dd3-5:~$ sudo fdisk -l -t gpt
Mauvaise concordance des tailles de partition du secteur d’amorçage GPT (1250263727 != 976773167), elle seront corrigées par la commande w (écriture).
Disque /dev/sdb : 465,8 GiB, 500107862016 octets, 976773168 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d’E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/sda : 596,2 GiB, 640135028736 octets, 1250263728 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 : gpt
Identifiant de disque : 9BA0D261-DA04-4274-8135-D5D2D09D2045
Device Start End Sectors Size Type
/dev/sda1 2048 48828415 48826368 23,3G Microsoft basic data
/dev/sda2 48828416 64452607 15624192 7,5G Linux swap
/dev/sda3 68360192 224610303 156250112 74,5G Microsoft basic data
/dev/sda4 64452608 64454655 2048 1M BIOS boot
Les entrées de la table de partitions ne sont pas dans l’ordre du disque.
.
.
.
ricardo@dd3-5:~$ sudo gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 1250263728 sectors, 596.2 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 9BA0D261-DA04-4274-8135-D5D2D09D2045
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1250263694
Partitions will be aligned on 2048-sector boundaries
Total free space is 1029560941 sectors (490.9 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 48828415 23.3 GiB 0700 R3-5
2 48828416 64452607 7.5 GiB 8200 swap3-5
3 68360192 224610303 74.5 GiB 0700 H3-5
4 64452608 64454655 1024.0 KiB EF02 bios_boot_3-5
.
.
.
ricardo@dd3-5:~$ sudo gdisk -l /dev/sdb
GPT fdisk (gdisk) version 0.8.10
Warning! Disk size is smaller than the main header indicates! Loading
secondary header from the last sector of the disk! You should use ‘v’ to
verify disk integrity, and perhaps options on the experts’ menu to repair
the disk.
Caution: invalid backup GPT header, but valid main header; regenerating
backup header from main header.
Warning! One or more CRCs don’t match. You should repair the disk!
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: damaged
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
Disk /dev/sdb: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 9BA0D261-DA04-4274-8135-D5D2D09D2045
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1250263694
Partitions will be aligned on 2048-sector boundaries
Total free space is 1029560941 sectors (490.9 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 48828415 23.3 GiB 0700 R3-5
2 48828416 64452607 7.5 GiB 8200 swap3-5
3 68360192 224610303 74.5 GiB 0700 H3-5
4 64452608 64454655 1024.0 KiB EF02 bios_boot_3-5
Là, je fais appel à ton diagnostic et à ta sagacité avant de faire quoi que ce soit.
En tout cas on peut voir que l’écriture de fdisk n’a pas corrigé la taille déclarée dans la table de partition.
Si tu n’es pas pressé, je préfère attendre de pouvoir tester moi-même ce soir avant de proposer une marche à suivre.
Aucuns problèmes, j’ai tout mon temps.
Dans la soirée, je ne suis de retour qu’à partir de 23:30.
Merci de ton aide mais ne te prends pas la tête pour ça car je ne manque pas de disques fonctionnels sur deux machines, plus portable, tablette et téléphone en cas d’urgence.
C’est bon, j’ai fini mes essais.
Pour tester, plutôt que de transférer le contenu d’un disque vers un disque plus petit, j’ai utilisé la fonction HPA (Host Protected Area) du disque avec hdparm
pour réduire la taille visible du disque.
Malgré ce que fdisk
affirme, “w” pour écrire la table de partition ne corrige pas le problème.
parted
n’arrive même pas à lire la table de partition.
Comme je le pensais, c’est encore gdisk
qui s’en sort le mieux. Un simple “w” a corrigé tous les problèmes, sans besoin d’utiliser les commandes de réparation/expert. En tout cas c’est ce qui s’est passé chez moi.
gdisk /dev/sdb ... w
Pour que je le fasse, ça nécessite de démarrer sur l’original avec les deux disques présent.
Puis de passer les deux commandes que tu indiques :
gdisk /dev/sdb
w
ensuite, j’éteins la machine, je déconnecte le disque original et je démarre sur le clone.
Est-ce bien ce que je dois faire ?
Précision : “w” est une commande à taper dans gdisk
, et pas la commande w
du shell.
Avant d’éteindre, vérifie que la table de partition est correcte. En supposant que le disque de 500 Go est toujours sdb, tu peux utiliser
dmesg | grep sdb # vérifie que le noyau l'a bien lue
fdisk -l /dev/sdb
parted /dev/sdb print
gdisk -l /dev/sdb
Il semble que c’est bon.
Je mets toutes les commandes en vrac comme elles ont été passées
GPT fdisk (gdisk) version 0.8.10
Warning! Disk size is smaller than the main header indicates! Loading
secondary header from the last sector of the disk! You should use ‘v’ to
verify disk integrity, and perhaps options on the experts’ menu to repair
the disk.
Caution: invalid backup GPT header, but valid main header; regenerating
backup header from main header.
Warning! One or more CRCs don’t match. You should repair the disk!
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: damaged
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
Command (? for help): w
Caution! Secondary header was placed beyond the disk’s limits! Moving the
header, but other problems may occur!
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
ricardo@dd3-5:~$
ricardo@dd3-5:~$
ricardo@dd3-5:~$
ricardo@dd3-5:~$
ricardo@dd3-5:~$ dmesg | grep sdb
[ 1.610990] sd 4:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[ 1.610993] sd 4:0:0:0: [sdb] 4096-byte physical blocks
[ 1.611070] sd 4:0:0:0: [sdb] Write Protect is off
[ 1.611074] sd 4:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 1.611106] sd 4:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[ 1.616286] sdb: unknown partition table
[ 1.616501] sd 4:0:0:0: [sdb] Attached SCSI disk
[ 247.933083] sdb: sdb1 sdb2 sdb3 sdb4
[ 281.381989] EXT4-fs (sdb3): mounted filesystem with ordered data mode. Opts: (null)
ricardo@dd3-5:~$
ricardo@dd3-5:~$
ricardo@dd3-5:~$
ricardo@dd3-5:~$ sudo fdisk -l /dev/sdb
Disque /dev/sdb : 465,8 GiB, 500107862016 octets, 976773168 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d’E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d’étiquette de disque : gpt
Identifiant de disque : 9BA0D261-DA04-4274-8135-D5D2D09D2045
Device Start End Sectors Size Type
/dev/sdb1 2048 48828415 48826368 23,3G Microsoft basic data
/dev/sdb2 48828416 64452607 15624192 7,5G Linux swap
/dev/sdb3 68360192 224610303 156250112 74,5G Microsoft basic data
/dev/sdb4 64452608 64454655 2048 1M BIOS boot
Les entrées de la table de partitions ne sont pas dans l’ordre du disque.
ricardo@dd3-5:~$
ricardo@dd3-5:~$
ricardo@dd3-5:~$
ricardo@dd3-5:~$ parted /dev/sdb print
bash: parted : commande introuvable
ricardo@dd3-5:~$ sudo parted /dev/sdb print
Model: ATA ST500DM002-1BD14 (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 25,0GB 25,0GB ext4 R3-5 msftdata
2 25,0GB 33,0GB 8000MB linux-swap(v1) swap3-5
4 33,0GB 33,0GB 1049kB bios_boot_3-5 bios_grub
3 35,0GB 115GB 80,0GB ext4 H3-5 msftdata
ricardo@dd3-5:~$
ricardo@dd3-5:~$
ricardo@dd3-5:~$
ricardo@dd3-5:~$ sudo gdisk -l /dev/sdb
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 9BA0D261-DA04-4274-8135-D5D2D09D2045
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 2048-sector boundaries
Total free space is 756070381 sectors (360.5 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 48828415 23.3 GiB 0700 R3-5
2 48828416 64452607 7.5 GiB 8200 swap3-5
3 68360192 224610303 74.5 GiB 0700 H3-5
4 64452608 64454655 1024.0 KiB EF02 bios_boot_3-5
ricardo@dd3-5:~$
===============
J’attends ta réponse avant de déconnecter et de tester avec le seul clone
Oui c’est bon. Le noyau et les trois programmes lisent la table de partition.
Par contre quelque chose en a profité pour monter la partition sdb3 :
Oui, vers la fin, une fenêtre me demandant le pass root pour effectuer qq chose.
J’ai pensé que ça faisait partie de l’ensemble du processus et j’ai tapé.
J’espère ne pas avoir fait de toile.
Je teste.
Bingo !
Je crois que maintenant, je peux placer en résolu.
je pense que ce fil peut servir à d’autres utilisateurs.
J’ai fait en sorte, comme à mon habitude, d’écrire un titre explicite, pour d’éventuelles recherches.
Il me reste à modifier les nom de Partlabel et le nom de machine sur ce disque, pour ne pas me tromper par la suite.
Il me faudra ptet faire un update-grub ensuite mais j’attendrai ton avis.
Merci, tu peux aller te coucher serein.