Accueil > Linux > Remplacement d’un Disque dur

Remplacement d’un Disque dur

Géométrie de l’ancien DD :
————————-
DD de 40 Go avec partition 1 = 8 Go (Root fs) , partition 2 = 1 Go (Swap), partition 3 = 31 Go (les données).
Nouveau DD :
———–
DD de 500 Go partionné comme suit :
partition 1 = 8 GO (Root fs), partition 2 = 8 Go (Root fs_bis pour installer / tester une autre distrib), partition 3= 1 Go (Swap) , partition 4 = 483 Go (les donnes)
Premierement, il faut copier les donnes du premier DD vers le deuxieme: aucune difficulté
Ensuite il faut copier le rootfs du premier DD vers le deuxième: j’envisage au début de monter DD2 puis de faire un
#cp -a ./ ./vers point de montage DD2 (copie du rootfs sur le le DD n°2). Seulement au bout de quelques secondes, la copie plante car en lisant le fichier /sys on génère une erreur d’IO. Bon je passerai donc par un dd mais en prenant quelques précautions : en effet, le premier secteur d’un DD (c.a.d les 512 premiers octets) contient le MBR, le nombre magique et la table de partition du disque. Évidemment cette table et le MBR ne sont pas copiables d’un disque à l’autre le schéma de partionnement des deux disques étant différents.

La commande #cfdisque /dev/DD1 permet de visualiser les partitions et d’exprimer leur taille en nombre de secteurs de 512 octets. Appelons ce nombre X.

La commande a effectuer apres démontage de DD2 sera donc dd if=/dev/DD1 of=/dev/DD2 bs=512 seek=1 skip=1 count=(X-1).
L’option skip saute un bloc en entree et seek saute un bloc en sortie. Le nombre de blocs est diminué de 1 en rapport à ce premier bloc sauté.
On vérifie l’intégrité du système de fichier en montant DD2. On vérifie l’intégrité de la table de partition avec un cfdisk. Bon ensuite reste à installer le MBR dans DD2.
Pour grub, DD2=>(hd1) et DD1=>(hd0).
Le probleme c’est que une fois que DD1 sera enlevé DD2 deviendra DD1.
Le site de Grub nous apprend ceci :
“stage1 est l’image essentielle utilisée pour lancer GRUB. D’habitude, elle est intégrée dans le MBR ou dans le secteur de démarrage d’une partition….
stage1 doit uniquement charger Stage 2 ou Stage 1.5 depuis un disque local. À cause d’une restriction de taille, stage1 écrit la position de Stage 2 (ou Stage 1.5) sous la forme d’une liste de blocs, il ne connaît jamais aucune structure de système de fichiers.
stage2″
Fort de cette information on lance grub sous root.
Une fois dans le prog interactif :
grub> install (hd1,0)/boot/grub/stage1 (hd1) (hd1,0)/boot/grub/stage2 (hd0,0)/boot/grub/menu.lst
En effet, stage1 sera copié depuis hd1 (cad DD2) dans le MBR.stage 2 quand à lui sera lu par grub non pas par sa place absolue dans le système de fichier mais par rapport à sa place en blocs par rapport à stage1 et c’est tant mieux sinon ca marcherait pas. Quand à menu.lst, lors du boot son chemin sera bien (hd0,0)/grub/menu.lst car DD2 sera devenu DD1.
Je reboote apres avoir enlevé DD1 et placé DD2 en Master. Et Oooo miracle ca marche ….

Catégories :Linux Étiquettes : ,
  1. Aucun commentaire pour l’instant.
  1. No trackbacks yet.

Laisser un commentaire