FORUM Tom's Hardware » Le monde de Linux » Installation » [Fdisk] restauration Table de partitions logiques
 

[Fdisk] restauration Table de partitions logiques

Il y a 364 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : [Fdisk] restauration Table de partitions logiques
 
Plus d'informations

Bonjour,

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 :

Sauvegarde : # dd if=/dev/sda4 of=sda4.mbr bs=512 count=1
Restauration : # dd if sda4.mbr of=/dev/sda4 bs=512 count=1

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.

Si qqun s'y connait un peu mieu...

Un grand merci d'avance !

Rémi

zeb
Profil : Modérateur libre
Plus d'informations

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 :
  1. fdisk /dev/hda <<THATSALLFORKS
  2. n
  3. p
  4. 1
  5. 1
  6. 2433
  7. ....
  8. w
  9. q
  10. THATSALLFORKS
 

Plus élégamment, on peut utiliser parted en ligne de commande, mais c'est moins immédiat.


Message édité par zeb le 17-08-2007 à 16:56:09

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

Merci d'aoir répondu aussi rapidement Zeb !

Ta solution a l'air de fonctionner ! (bien qu'elle soit assez peu pratique :) )

Une autre solution m'a été apporté sur un forum voisin (mais je ne l'ai aps encore testé) :

Sauvegarde :

sfdisk -d /dev/sda > /chemin/etendue.mbr

Restauration :

sfdisk -d /dev/sda < /chemin/etendue.mbr

zeb
Profil : Modérateur libre
Plus d'informations

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.

 

Autre syntaxe pour sfdisk :

$> sfdisk /dev/sda -O mbr.data
$> sfdisk /dev/sda -I mbr.data

 

Mais ceci est bon pour le MBR, pas pour le EBR :(
A voir avec /dev/sda4 :o


Message édité par zeb le 17-08-2007 à 14:50:53

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

Finalement j'utilise sfdisk : # sfdisk /dev/sda < /chemin/table.mbr

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.

zeb
Profil : Modérateur libre
Plus d'informations

Quid du magic-number (0x55AA) aux deux derniers octets ?

 


EDIT: soit 0101010110101010 en binaire ;)


Message édité par zeb le 17-08-2007 à 16:58:47

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

Euh j'ai pas bien compris... Je dois faire quoi ?
Je dois dupliquer les 2 derniers octets du MBR ?

car meme en prennant les 512 ca me fait le même resultat : GAG 3

Plus d'informations

Lol, je suis pas le seul à ne pas savoir se que voulait dire Quid :)

zeb
Profil : Modérateur libre
Plus d'informations

[:rofl]

 

remss, ça devrait pourtant fonctionner :(


Message édité par zeb le 17-08-2007 à 21:42:40

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

Oué c'est bizard que ca marche pas...

Tampis je passerais sur chaque machine pour installer le chargeur à la main :(


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Le monde de Linux » Installation » [Fdisk] restauration Table de partitions logiques
 

Annonces Google
Publicité