J'ai un problème au niveau de la restauration de la table de partitions de disque dur,
Je n'arrive pas à la restaurer en totalité : les partitions logiques de ma partition étendue ne se restaurent pas !
Voici la structure de mon disque initiale :
Disk /dev/sda: 80.0 GB, 80000000000 bytes
255 heads, 63 sectors/track, 9726 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 2433 19543041 7 HPFS/NTFS
/dev/sda2 2434 4866 19543072+ 83 Linux
/dev/sda3 4867 4928 498015 83 Linux
/dev/sda4 4929 9726 38539935 5 Extended
/dev/sda5 4929 4941 104391 83 Linux
/dev/sda6 4942 4954 104391 83 Linux
/dev/sda7 4955 5198 1959898+ 82 Linux swap / Solaris
/dev/sda8 5199 9726 36371128+ 83 Linux
Manip de sauvegarde : # dd if=/dev/sda of=sda.mbr bs=512 count=1
et voici le resultat apres restauration : (# dd if sda.mbr of=/dev/sda bs=512 count=1)
Device Boot Start End Blocks Id System
/dev/sda1 1 2433 19543041 7 HPFS/NTFS
/dev/sda2 2434 4866 19543072+ 83 Linux
/dev/sda3 4867 4928 498015 83 Linux
/dev/sda4 4929 9726 38539935 5 Extended
J'ai lu que le partitionnement de la table de partitions logique se fesait sur le premier secteur de la partition etendue (mais situé en plein milieu du disque ???) , j'ai donc fait les manip suivante :
Mon but est de pouvoir cloner des postes identiques.
Pour info : La restauration marche si je fais la manip sur le pc sur lequel a été sauvegardé les 2 tables mais si je fais la manip sur un autre poste vierge, je ne récupere que les 4 premieres partitions, la restauration de la table des partitions logiques ne fonctionne pas.
Problème intéressant. Auquel je n'ai pas la réponse
(Il y a une coquille, tu as oublié de recopier le = entre if et sda4.mbr )
FYI :
Les 512 premiers octets du disque ne sont pas (que) la table des partitions mais le master boot record (MBR). Les 446 premiers octets sont le bootloader, viennent ensuite les 64 octets de la table des partitions à proprement parler, puis enfin les 2 octets du magicnumber (0x55AA s'il y a un bootloader).
Ton problème vient de la copie de l'extended boot record (EBR : http://en.wikipedia.org/wiki/Extended_Boot_Record ). Or un EBR ressemble à s'y méprendre à un MBR, et surtout il fait 512 octets lui aussi.
A relire tes exemples et à supposer que les disques sont bien identiques et que tu as exactement la même structure de MBR, je ne vois pas où est l'erreur.
-----------------------------------
Je te proposerais bien une solution de contournement : un script qui utiliserait fdisk pour recréer la structure de partitionnement.
Exemple à utiliser sur un disque vierge :
Code :
fdisk /dev/hda <<THATSALLFORKS
n
p
1
1
2433
....
w
q
THATSALLFORKS
Plus élégamment, on peut utiliser parted en ligne de commande, mais c'est moins immédiat.
Pas de -d (dump) pour la restauration, malheureux !
Oui, sfdisk aussi ! - Plus élégant que fdisk en interactif.
Citation :
bien qu'elle soit assez peu pratique
Euh, c'est plus facile pour toi de créer la commande puisque tu sais utiliser fdisk et qu'on sait que ça fonctionnera. Mais il y a un peu de boulot de ta part. C'est en effet moins pratique que de te balacer une commande toute faite que tu ne comprendrais pas.
Ca marche très bien, tout est informé dans le fichier, c'est moins galère Je récupère bien toutes mes partitions
Merci encore Zeb
PS : j'ai un autre soucis inexplicable (pour moi ) ...
J'utilise le chargeur GAG, installé dans le MBR.
Et lors d'une duplication sur un autre poste, identique toujours, via :
# dd if=chargeur.mbr of=/dev/sda bs=446 count=1
Je n'arrive pas à récupérer le chargeur...
J'obtiens à la place, à l'écran :
GAG 3
(en blanc sur fond noir)
et ca reste bloqué la dessus.