Récupération du MBR (/boot sur un hdd ide simple, mais racine / du système sur un raid 1 logiciel !)

Le
Florent Fossard
Bonjour


En voulant cloner mon disque dur contenant la partition /boot, j'ai fais un=
e fausse manip et je l'ai formaté :/
J'ai pu restaurer les fichiers à partir de l'autre disque dur, mais pa=
s le MBR, donc évidemment ca ne démarre pas.

Tout d'abord quelques détails sur la configuration:
- debian sarge, noyau 2.6.13.4 contenant tous les pilotes qui vont bien, le=
support du raid logiciel, ca fonctionnait impec.

- La racine / du système est sur un raid 1 logiciel de deux disques du=
rs scsi, raid crée précédemment à l'installation de deb=
ian, avec mdadm. Il est vu par le système en /dev/md0

- Le dossier /boot est sur une unique partition sur un disque dur ide simpl=
e (une compact-flash sur adaptateur ide), sans raid, c'est ce disque dur qu=
i est spécifié en périphérique de boot dans le bios. Il=
est par le système comme /dev/hdc, et la partition est /dev/hdc1.

- J'ai un hdd 40Go disponible (en /dev/hda) pour les manipulations si besoi=
n.



Voici ce qui de trouve actuellement sur le disque ide:
root@0[knoppix]# ll /mnt/hdc1/
total 14964
lrwxrwxrwx 1 root root 19 Oct 17 08:07 System.map -> System.map-2.6.1=
3.4
-rw-r--r-- 1 root root 1227998 Oct 17 09:25 System.map-2.6.13.4
-rw-r--r-- 1 root root 1218002 Oct 17 07:37 System.map-2.6.13.4.old
-rw-r--r-- 1 root root 865733 May 19 2005 System.map-2.6.8-2-386
lrwxrwxrwx 1 root root 15 Oct 17 08:07 config -> config-2.6.13.4
-rw-r--r-- 1 root root 38493 Oct 17 09:25 config-2.6.13.4
-rw-r--r-- 1 root root 38355 Oct 17 07:37 config-2.6.13.4.old
-rw-r--r-- 1 root root 55809 May 19 2005 config-2.6.8-2-386
drwxr-xr-x 2 root root 1024 Dec 6 01:15 grub
-rw-r--r-- 1 root root 1290240 Oct 17 09:26 initrd-2.6.13.4.img
-rw-r--r-- 1 root root 4567040 Oct 16 18:58 initrd.img-2.6.8-2-386
drwxr-xr-x 2 root root 12288 Oct 16 18:33 lost+found
lrwxrwxrwx 1 root root 16 Oct 17 08:07 vmlinuz -> vmlinuz-2.6.13.4
-rw-r--r-- 1 root root 2433947 Oct 17 09:24 vmlinuz-2.6.13.4
-rw-r--r-- 1 root root 2397800 Oct 17 07:37 vmlinuz-2.6.13.4.old
-rw-r--r-- 1 root root 1097419 May 19 2005 vmlinuz-2.6.8-2-386


Contenu du dossier grub:
root@0[knoppix]# ll /mnt/hdc1/grub/
total 168
-rw-r--r-- 1 root root 45 Oct 16 19:00 device.map
-rw-r--r-- 1 root root 7776 Dec 6 00:32 e2fs_stage1_5
-rw-r--r-- 1 root root 7504 Dec 6 00:32 fat_stage1_5
-rw-r--r-- 1 root root 8320 Dec 6 00:32 jfs_stage1_5
-rw-r--r-- 1 root root 3827 Oct 17 09:25 menu.lst
-rw-r--r-- 1 root root 3827 Oct 17 09:25 menu.lst~
-rw-r--r-- 1 root root 7008 Dec 6 00:32 minix_stage1_5
-rw-r--r-- 1 root root 9216 Dec 6 00:32 reiserfs_stage1_5
-rw-r--r-- 1 root root 512 Dec 6 00:32 stage1
-rw-r--r-- 1 root root 108168 Dec 6 00:32 stage2
-rw-r--r-- 1 root root 9288 Dec 6 00:32 xfs_stage1_5


Le fichier menu.lst :
root@0[knoppix]# cat /mnt/hdc1/grub/menu.lst

title Debian GNU/Linux, kernel 2.6.13.4 Default
root (hd0,0)
kernel /vmlinuz root=/dev/md0 ro
savedefault
boot

title Debian GNU/Linux, kernel 2.6.13.4 Default (recovery mode)
root (hd0,0)
kernel /vmlinuz root=/dev/md0 ro single
savedefault
boot

title Debian GNU/Linux, kernel 2.6.13.4.old
root (hd0,0)
kernel /vmlinuz-2.6.13.4.old root=/dev/md0 ro
savedefault
boot

title Debian GNU/Linux, kernel 2.6.13.4.old (recovery mode)
root (hd0,0)
kernel /vmlinuz-2.6.13.4.old root=/dev/md0 ro single
savedefault
boot

title Debian GNU/Linux, kernel 2.6.13.4
root (hd0,0)
kernel /vmlinuz-2.6.13.4 root=/dev/md0 ro
savedefault
boot

title Debian GNU/Linux, kernel 2.6.13.4 (recovery mode)
root (hd0,0)
kernel /vmlinuz-2.6.13.4 root=/dev/md0 ro single
savedefault
boot

title Debian GNU/Linux, kernel 2.6.8-2-386
root (hd0,0)
kernel /vmlinuz-2.6.8-2-386 root=/dev/md0 ro
initrd /initrd.img-2.6.8-2-386
savedefault
boot

title Debian GNU/Linux, kernel 2.6.8-2-386 (recovery mode)
root (hd0,0)
kernel /vmlinuz-2.6.8-2-386 root=/dev/md0 ro single
initrd /initrd.img-2.6.8-2-386
savedefault
boot
### END DEBIAN AUTOMAGIC KERNELS LIST




J'ai tenté la manipulation décrite ici (http://wiki.debian.org/Gr=
ubRecover?highlight=%28grub%29), à savoir démarrer en mode resc=
ue avec un cd de debian ("rescue root=/dev/md0"), mais comme la racine du=
système est sur le raid, j'ai l'erreur:
"Kernel panic: VFS: Unable to mount root fs on 09:00"


Ici ils proposent une manipulation pour créer une disquette avec un no=
yau dessus, c'est assez complexe et je ne suis pas sûr que ca rés=
olve mon problème
http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/fr/html-1page/Boot=
disk-HOWTO.html#troubleshooting

"Si vous voyez un message du genre :
Kernel panic: VFS: Unable to mount root fs on XX:YY
C'est un problème courant qui ne peut avoir que quelques causes. Tout =
d'abord, cherchez le périphérique XX:YY dans la liste de codes de=
s périphériques dans le fichier /usr/src/linux/Documentation/devi=
ces.txt ; s'agit-il du bon périphérique racine ? Si ce n'est pas =
le bon, vous n'avez sans doute pas lancé rdev -R, ou alors sur la mauv=
aise image. Si le code du périphérique est correct, vérifiez=
attentivement quels gestionnaires de périphériques ont ét=
é compilés dans le noyau. Assurez-vous que le support pour le lec=
teur de disquettes, les disques mémoires et le système de fichier=
s ext2 sont bien inclus ; "




J'ai donc gravé une knoppix (la plus récente disponible), apr=
s quelques manipulations de remontage j'ai pu faire un grub-install:

root@0[knoppix]# grub-install /dev/hdc
Due to a bug in xfs_freeze, the following command might produce a segmentat=
ion
fault when /boot/grub is not in an XFS filesystem. This error is harmless a=
nd
can be ignored.
xfs_freeze: specified file ["/boot/grub"] is not on an XFS filesystem
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.
(hd0) /dev/hdc
(hd1) /dev/sda
(hd2) /dev/sdb




Je pense que je n'ai pas fait tout ce qu'il faut, au boot j'ai bien un mbr,=
mais ca m'affiche juste "GRUB " et rien d'autre, ca bloque :(


En écrivant ce mail, je viens de penser à une solution, déma=
rrer en mode rescue sur un des disques du raid (sans raid, mais si la parti=
tion est de type raid autodetect, est-ce que ca va marcher ?), avec le raid=
en fault, et rajouter le deuxieme disque dans le raid une fois le probl=
me résolu, et syncroniser ca vous semble utilisable comme soluti=
on?


Est-ce que vous pouvez m'aider à avancer dans la résolution du pr=
oblème ? (il y'a beaucoup d'aide sur la récupération du mbr =
avec grub-install, mais avec le raid pour le système, c'est moins simp=
le)

MERCI :)

Florent
Vos réponses
Trier par : date / pertinence
Guillaume Leccese
Le #8574841
Salut,

une méthode assez simple est de monter tes partitions une a une. Apparement, tu
sais lister ce qu'il y a sur le disque, donc tu dois etre sur un autre système
Linux.

Tu montes tes partitions dans /mnt par exemple, en commencant par /, /var, /usr,
/boot, etc tout depend de tes partitions.

Donc, tu auras dans /mnt ton systeme.

Ensuite, chroot:

# chroot /mnt

Hop, la si t'a tout bien monté, tu vas te retrouver comme si tu etais sur ton
ancien système. Maintenant, quand tu lances une commande, c'est par rapport a ce
systeme.

Donc tu peux relancer les manips avec Grub (qui semble etre ton boot loader).
C'est assez simple avec Grub (encore avec lilo: lilo -v). Mais je ne sais plus
exactement comment faire, mais c'est 3 petites lignes ... un tit coup de google
est c'est ok !

Bon courrage.

Florent Fossard wrote:
Bonjour


En voulant cloner mon disque dur contenant la partition /boot, j'ai fais une fausse manip et je l'ai formaté :/
J'ai pu restaurer les fichiers à partir de l'autre disque dur, mais pas le MBR, donc évidemment ca ne démarre pas.

Tout d'abord quelques détails sur la configuration:
- debian sarge, noyau 2.6.13.4 contenant tous les pilotes qui vont bien, le support du raid logiciel, ca fonctionnait impec.

- La racine / du système est sur un raid 1 logiciel de deux disques durs scsi, raid crée précédemment à l'installation de debian, avec mdadm. Il est vu par le système en /dev/md0

- Le dossier /boot est sur une unique partition sur un disque dur ide simple (une compact-flash sur adaptateur ide), sans raid, c'est ce disque dur qui est spécifié en périphérique de boot dans le bios. Il est par le système comme /dev/hdc, et la partition est /dev/hdc1.

- J'ai un hdd 40Go disponible (en /dev/hda) pour les manipulations si besoin.



Voici ce qui de trouve actuellement sur le disque ide:
[knoppix]# ll /mnt/hdc1/
total 14964
lrwxrwxrwx 1 root root 19 Oct 17 08:07 System.map -> System.map-2.6.13.4
-rw-r--r-- 1 root root 1227998 Oct 17 09:25 System.map-2.6.13.4
-rw-r--r-- 1 root root 1218002 Oct 17 07:37 System.map-2.6.13.4.old
-rw-r--r-- 1 root root 865733 May 19 2005 System.map-2.6.8-2-386
lrwxrwxrwx 1 root root 15 Oct 17 08:07 config -> config-2.6.13.4
-rw-r--r-- 1 root root 38493 Oct 17 09:25 config-2.6.13.4
-rw-r--r-- 1 root root 38355 Oct 17 07:37 config-2.6.13.4.old
-rw-r--r-- 1 root root 55809 May 19 2005 config-2.6.8-2-386
drwxr-xr-x 2 root root 1024 Dec 6 01:15 grub
-rw-r--r-- 1 root root 1290240 Oct 17 09:26 initrd-2.6.13.4.img
-rw-r--r-- 1 root root 4567040 Oct 16 18:58 initrd.img-2.6.8-2-386
drwxr-xr-x 2 root root 12288 Oct 16 18:33 lost+found
lrwxrwxrwx 1 root root 16 Oct 17 08:07 vmlinuz -> vmlinuz-2.6.13.4
-rw-r--r-- 1 root root 2433947 Oct 17 09:24 vmlinuz-2.6.13.4
-rw-r--r-- 1 root root 2397800 Oct 17 07:37 vmlinuz-2.6.13.4.old
-rw-r--r-- 1 root root 1097419 May 19 2005 vmlinuz-2.6.8-2-386


Contenu du dossier grub:
[knoppix]# ll /mnt/hdc1/grub/
total 168
-rw-r--r-- 1 root root 45 Oct 16 19:00 device.map
-rw-r--r-- 1 root root 7776 Dec 6 00:32 e2fs_stage1_5
-rw-r--r-- 1 root root 7504 Dec 6 00:32 fat_stage1_5
-rw-r--r-- 1 root root 8320 Dec 6 00:32 jfs_stage1_5
-rw-r--r-- 1 root root 3827 Oct 17 09:25 menu.lst
-rw-r--r-- 1 root root 3827 Oct 17 09:25 menu.lst~
-rw-r--r-- 1 root root 7008 Dec 6 00:32 minix_stage1_5
-rw-r--r-- 1 root root 9216 Dec 6 00:32 reiserfs_stage1_5
-rw-r--r-- 1 root root 512 Dec 6 00:32 stage1
-rw-r--r-- 1 root root 108168 Dec 6 00:32 stage2
-rw-r--r-- 1 root root 9288 Dec 6 00:32 xfs_stage1_5


Le fichier menu.lst :
[knoppix]# cat /mnt/hdc1/grub/menu.lst

title Debian GNU/Linux, kernel 2.6.13.4 Default
root (hd0,0)
kernel /vmlinuz root=/dev/md0 ro
savedefault
boot

title Debian GNU/Linux, kernel 2.6.13.4 Default (recovery mode)
root (hd0,0)
kernel /vmlinuz root=/dev/md0 ro single
savedefault
boot

title Debian GNU/Linux, kernel 2.6.13.4.old
root (hd0,0)
kernel /vmlinuz-2.6.13.4.old root=/dev/md0 ro
savedefault
boot

title Debian GNU/Linux, kernel 2.6.13.4.old (recovery mode)
root (hd0,0)
kernel /vmlinuz-2.6.13.4.old root=/dev/md0 ro single
savedefault
boot

title Debian GNU/Linux, kernel 2.6.13.4
root (hd0,0)
kernel /vmlinuz-2.6.13.4 root=/dev/md0 ro
savedefault
boot

title Debian GNU/Linux, kernel 2.6.13.4 (recovery mode)
root (hd0,0)
kernel /vmlinuz-2.6.13.4 root=/dev/md0 ro single
savedefault
boot

title Debian GNU/Linux, kernel 2.6.8-2-386
root (hd0,0)
kernel /vmlinuz-2.6.8-2-386 root=/dev/md0 ro
initrd /initrd.img-2.6.8-2-386
savedefault
boot

title Debian GNU/Linux, kernel 2.6.8-2-386 (recovery mode)
root (hd0,0)
kernel /vmlinuz-2.6.8-2-386 root=/dev/md0 ro single
initrd /initrd.img-2.6.8-2-386
savedefault
boot
### END DEBIAN AUTOMAGIC KERNELS LIST




J'ai tenté la manipulation décrite ici (http://wiki.debian.org/GrubRecover?highlight=%28grub%29), à savoir démarrer en mode rescue avec un cd de debian ("rescue root=/dev/md0"), mais comme la racine du système est sur le raid, j'ai l'erreur:
"Kernel panic: VFS: Unable to mount root fs on 09:00"


Ici ils proposent une manipulation pour créer une disquette avec un noyau dessus, c'est assez complexe et je ne suis pas sûr que ca résolve mon problème...
http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/fr/html-1page/Bootdisk-HOWTO.html#troubleshooting

"Si vous voyez un message du genre :
Kernel panic: VFS: Unable to mount root fs on XX:YY
C'est un problème courant qui ne peut avoir que quelques causes. Tout d'abord, cherchez le périphérique XX:YY dans la liste de codes des périphériques dans le fichier /usr/src/linux/Documentation/devices.txt ; s'agit-il du bon périphérique racine ? Si ce n'est pas le bon, vous n'avez sans doute pas lancé rdev -R, ou alors sur la mauvaise image. Si le code du périphérique est correct, vérifiez attentivement quels gestionnaires de périphériques ont été compilés dans le noyau. Assurez-vous que le support pour le lecteur de disquettes, les disques mémoires et le système de fichiers ext2 sont bien inclus ; "




J'ai donc gravé une knoppix (la plus récente disponible), après quelques manipulations de remontage j'ai pu faire un grub-install:

[knoppix]# grub-install /dev/hdc
Due to a bug in xfs_freeze, the following command might produce a segmentation
fault when /boot/grub is not in an XFS filesystem. This error is harmless and
can be ignored.
xfs_freeze: specified file ["/boot/grub"] is not on an XFS filesystem
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.
(hd0) /dev/hdc
(hd1) /dev/sda
(hd2) /dev/sdb




Je pense que je n'ai pas fait tout ce qu'il faut, au boot j'ai bien un mbr, mais ca m'affiche juste "GRUB " et rien d'autre, ca bloque :(


En écrivant ce mail, je viens de penser à une solution, démarrer en mode rescue sur un des disques du raid (sans raid, mais si la partition est de type raid autodetect, est-ce que ca va marcher ?), avec le raid en fault, et rajouter le deuxieme disque dans le raid une fois le problème résolu, et syncroniser... ca vous semble utilisable comme solution?


Est-ce que vous pouvez m'aider à avancer dans la résolution du problème ? (il y'a beaucoup d'aide sur la récupération du mbr avec grub-install, mais avec le raid pour le système, c'est moins simple)

MERCI :)

Florent





--
Pensez
Chaurin Olivier
Le #8574741
Le 07.12.2005 18:00, Guillaume Leccese a écrit :

Donc tu peux relancer les manips avec Grub (qui semble etre ton boot
loader). C'est assez simple avec Grub (encore avec lilo: lilo -v). Mais
je ne sais plus exactement comment faire, mais c'est 3 petites lignes
... un tit coup de google est c'est ok !



grub-install /dev/hda (où hda doit être adapté à ton système) ?

--
Chaurin Olivier



--
Pensez
Publicité
Poster une réponse
Anonyme