[HELP] - install Debian 4.0 : psychotage grave de GRUB

Bonjour.

C’est mon premier postage sur ce forum Debian, car je viens juste de passer (enfin) à la Debian 4.0 Etch, aprés plusieurs mois sur la nouvelle Kubuntu 7.04.
Et la, ça ne s’est pas spécialement bien passé…
Aprés une install sans problèmes, impossible de la démarrer…
GRUB me sort une vache d’erreur : “Error 15”.
Il s’agit bien sur de “File not found”…
Ca le fait moyen pour une install toute fraiche…
Du coup, je me suis frappé plus de 6 installs (perdu le compte…) dans la journée d’hier, avec des configs de partitionnement différentes, et à la fin, à chaque fois, GRUB me sort cette error 15.
Niveau matos, j’ai un hd.200 Go en maitre, + un hd.160 en esclave, + un hd.20 go en maitre en RAID.
Mon “fdisk -l” est le suivant :

[code]Disque /dev/hda: 20.4 Go, 20490559488 octets
16 têtes, 63 secteurs/piste, 39703 cylindres
Unités = cylindres de 1008 * 512 = 516096 octets

Périphérique Amorce Début Fin Blocs Id Système
/dev/hda1 1 39703 20010280+ 83 Linux

Disque /dev/hde: 203.9 Go, 203928109056 octets
255 têtes, 63 secteurs/piste, 24792 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique Amorce Début Fin Blocs Id Système
/dev/hde1 * 1 1216 9767488+ 83 Linux
/dev/hde2 1217 24792 189374220 5 Extended
/dev/hde5 1217 1338 979933+ 82 Linux swap / Solaris
/dev/hde6 1339 24792 188394223+ 83 Linux

Disque /dev/hdf: 163.9 Go, 163928604672 octets
255 têtes, 63 secteurs/piste, 19929 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique Amorce Début Fin Blocs Id Système
/dev/hdf1 1 19929 160079661 83 Linux[/code]

Et mon /boot/grub/menu.lst :

[code]## ## End Default Options ##

title Debian GNU/Linux, kernel 2.6.18-4-k7
root (hd1,0)
kernel /boot/vmlinuz-2.6.18-4-k7 root=/dev/hde1 ro
initrd /boot/initrd.img-2.6.18-4-k7
savedefault

title Debian GNU/Linux, kernel 2.6.18-4-k7 (single-user mode)
root (hd1,0)
kernel /boot/vmlinuz-2.6.18-4-k7 root=/dev/hde1 ro single
initrd /boot/initrd.img-2.6.18-4-k7
savedefault

END DEBIAN AUTOMAGIC KERNELS LIST[/code]

Aussi, mon /boot/grub/device.map :

code /dev/hda
(hd1) /dev/hde
(hd2) /dev/hdf[/code]

Bref historique :
Quand j’ai installé le Kubuntu 7.04 au début du printemps, j’en ai été trés content, au début…
Le fonctionnement du système est impeccable, sauf le démarrage : sans raison apparente, un beau jour d’un coup comme ça, j’ai eu la fameuse “Error 15 file not found” au moment du boot…
Et bien sur, impossible de récupérer GRUB, que ce soit avec le Super GRUB Disk, un live-cd de la Knoppix, ou même un rescue-system-cd…
En faisant un “fsck -t ext3 /dev/hde1”, ça ma sorti plein d’erreurs d’inodes, qu’il a fallut réparer, et ensuite obligé de réinstaller…
Ca me l’a fait trois fois, le coup de l’error 15, depuis la première install, et à la longue, ça lasse un brin…
C’est un peu ce qui m’a motivé pour migrer (plus tôt que prévu…) vers la Debian…
Migration quelque peu viandée, puisque j’arrive même pas à démarrer…
Quelqu’un peut-il donc me dire, svp, ou est-ce que ça cloche ?!..
J’ai pourtant rien fait d’esotérique à l’install…

Merci.

JMPX.

Bonjour,

J’ai eu un pb comme ça il y a peu. Grub s’était planté dans l’appellation de mes disques.

Je te suggère la manip suivante:

Au menu grub, tu tapes “c” pour avoir le shell grub (attention: ton clavier sera qwerty).

Tu tapes à l’invite:

grub> geometry (hd0)

Il te donnera les caractéristiques du disque qu’il reconnait comme (hd0). Tu fais la même chose avec (hd1), etc… Grâce aux caractéristiques, et en particulier aux partitions, tu verras à quel disque ça correspond.

Tu auras probablement la surprise de voir que ton disque système linux s’appelle autrement qu’(hd1) chez grub.

Dans mon cas, j’avais mis un disque sata comme 1er dans l’ordre de boot au bios, et grub a refusé d’en tenir compte, même avec correction du device.map. J’ai fini par entériner son choix, et depuis ça marche…

Tyrtamos
.

Heu… merci pour le truc, Tyrtamos, mais hélas, ça n’est pas forcèment probant…

[code]grub> geometry (hd0)
drive 0x80: C/H/S = 39703/16/63, The number of sectors = 40020624, /dev/hda
Partition num: 0, Filesystem type is ext2fs, partition type 0x83

grub> geometry (hd1)
drive 0x81: C/H/S = 24792/255/63, The number of sectors = 398297088, /dev/hde
Partition num: 0, Filesystem type is ext2fs, partition type 0x83
Partition num: 4, Filesystem type unknown, partition type 0x82
Partition num: 5, Filesystem type is ext2fs, partition type 0x83

grub> geometry (hd2)
drive 0x82: C/H/S = 19929/255/63, The number of sectors = 320173056, /dev/hdf
Partition num: 0, Filesystem type is ext2fs, partition type 0x83
[/code]

Donc, GRUB reconnait bien (hd1) comme étant /dev/hde, et la partition num: 0 comme la première, celle du système.
Donc, mon menu.lst y colle bien :

root (hd1,0) kernel /boot/vmlinuz-2.6.18-4-k7 root=/dev/hde1 ro

Bon, à savoir quand même, j’ai fais la manip sous un live-cd de Kaella (Knoppix de chez nous…), en chroot sur /dev/hde monté en rw…
Est ce bien orthodoxe ?!..
:confused:
En tout cas, tout couche ensemble, et pourtant ça bouge pas…
C’est la brasse pour moi, la…
Aller, dodo…

JNTX.

Bon.
J’ai donc pris le taureau par les cornes, et me suis retapé une énième ré-install de la Débian 4.0, mais avec cette config la, du hd maitre système, mon HD.200 Go :
- Une partition primaire /boot : 100 Mo.
- Une partition primaire / : 10 Go
- Une partition étendue, qui contient :
– Une partition swap de 2 Go.
– Une partition /home de 188 Go.
Aprés intall et reboot, j’ai enfin eu le menu de boot de GRUB :

-> Debian GNU/Linux, kernel 2.6.18-4-k7 -> Debian GNU/Linux, kernel 2.6.18-4-k7 (single-user mode)
Mais aprés validation de n’importe laquelle des 2 lignes, comme d’hab’ :

GRUB stage 1.5 Error 15 : file not found Please press any key...
Retour sur le menu de boot de GRUB, et touche ‘c’ pour lancer la ligne de commande de GRUB :

Et aprés 3 jours de potassage de tuto en tout genre sur GRUB :

Résultat :

[code]Possible partitions are :
Partition num: 0, Filesystem type is ext2fs, partition type 0x83
Partition num: 1, Filesystem type is ext2fs, partition type 0x83
Partition num: 2, Filesystem type is ext2fs, partition type 0x83
Partition num: 5, Filesystem type is ext2fs, partition type 0x83
Partition num: 6, Filesystem type is ext2fs, partition type 0x83

grub> root (hd1,
Partition num: 0, Filesystem type is ext2fs, partition type 0x83

grub> root (hd2,
Partition num: 0, Filesystem type is ext2fs, partition type 0x83[/code]

Donc, j’en déduis que GRUB a identifié les partitions hd maitre système (hd0) comme suit :
- (hd0,0) : partition primaire /boot [ hde1 ].
- (hd0,1) : partition primaire / [ hde2 ].
- (hd0,2) : partition étendue [ hde3 ].
- (hd0,5) : partition logique swap [ hde5 ].
- (hd0,6) : partition logique /home [ hde6 ].

Je m’en vais donc ensuite vérifier le fichier /grub/menu.lst sur hde1, avec le petit live-cd de la Kaella…
J y trouve alors :

[code]title Debian GNU/Linux, kernel 2.6.18-4-k7
root (hd1,0)
kernel /boot/vmlinuz-2.6.18-4-k7 root=/dev/hde2 ro
initrd /boot/initrd.img-2.6.18-4-k7
savedefault

title Debian GNU/Linux, kernel 2.6.18-4-k7 (single-user mode)
root (hd1,0)
kernel /boot/vmlinuz-2.6.18-4-k7 root=/dev/hde2 ro single
initrd /boot/initrd.img-2.6.18-4-k7
savedefault[/code]

Constat : les 3 premières lignes des 2 paragraphes sont fausses.
-> root (hd1,0) devrait être root (hd0,0), car j’ai vu que la partition primaire /boot [ hde1 ] est (hd0,0).
-> kernel /boot/vmlinuz-2.6.18-4-k7 devrait être kernel /vmlinuz-2.6.18-4-k7, car /boot étant une partition primaire à part entière, le répertoire /boot est en fait la racine de cette partition, donc tout ce qui est normalement dans /boot est ici dans /.
-> /boot/initrd.img-2.6.18-4-k7 devrait être /vmlinuz-2.6.18-4-k7, car /boot étant une partition primaire à part entière, le répertoire /boot est en fait la racine de cette partition, donc tout ce qui est normalement dans /boot est ici dans /.

Donc, je modifie le fichier en conséquence, et obtiens un /grub/menu.lst modifié ainsi :

[code]title Debian GNU/Linux, kernel 2.6.18-4-k7
root (hd0,0)
kernel /vmlinuz-2.6.18-4-k7 root=/dev/hde2 ro
initrd /initrd.img-2.6.18-4-k7
savedefault

title Debian GNU/Linux, kernel 2.6.18-4-k7 (single-user mode)
root (hd0,0)
kernel /vmlinuz-2.6.18-4-k7 root=/dev/hde2 ro single
initrd /initrd.img-2.6.18-4-k7
savedefault[/code]

Et aprés reboot, ça maâarche !!..
C’est boôo la Debian sous Gnome…
:smiley: :smiley:
Bon, ceci dit, je me demande maintenant si cet espèce de bug à l’install de GRUB ne serait pas par hasard un peu voulu par l’engineering de Debian, pour faire un espèce de test à passer lors de l’install, de manière à élaguer les neuneux qui se la joueraient d’entrée avec Linux, non ?!..
:stuck_out_tongue:

Il y a quand m^qq chose de bizarre là dedans :bulb:
Que grub ait attribué le ‘e’ pour le premier disque trouvé, passe encore mais si tu dis que ton /boot est en première partition, ça ne peut qu’être un hde1
root (hd0,0) et kernel hde2, ça ne va pas ensemble
:question:

Effectivement, la manière dont les systèmes Linux attribuent les appellations des hd est un brin obscure…
Mon ‘hde’ est mon disque maitre en première position sur ma nappe IDE, suivi du ‘hdf’ qui est le disque esclave en seconde position sur la nappe IDE, et vient enfin le troisième disque, maitre, mais monté en RAID, et qui s’appelle ‘hda’ !!..
Et ces appellations en sont pas modifiables, à ce que je sais…

Quand à GRUB, ses appellations sont encore plus énigmatiques :

  • hde=(hd0,…)
  • hda=(hd1,…)
  • hdf=(hd2,…)
    Tout ça découvert pas tests dans le shell GRUB…
    Même mon /grub/device.map original était en vrac…

Rapport à ‘root=/dev/hde2’, ben c’est un peu normal, vu que ‘hde2’ est ma partition racine, seconde partition aprés la partition /boot (hde1)…
Une fois booté sur la partition /boot, et le kernel chargé, faut bien savoir ou aller monter le système non ?!..
J’ai testé avec ‘root=/dev/hde2’, et paf error 15…

:smiley:

je n’ai pas l’habitude des /boot sur partition séparée et donc, chez moi :
(hd0,0) = hda1
Tu a ptet raison mais le
kernel /vmlinuz-2.6.18-4-k7 est bien ds le /boot, non ?
donc chez toi hde1
enfin si ça fonctionne avec hde2, je dois avoir tort.

Chez moi aussi (hd0,0)=hde1 (sauf que la c’est ‘e’ au lieu de ‘a’…), à savoir la première partition de hde, c’est à dire celle du boot : le kernel /vmlinuz-2.6.18-4-k7 est bien dans cette partition de boot, à savoir effectivement hde1, mais la partition ne s’appelle pas /boot.
Tout le contenu normal de /boot se retrouve ici directement sur la racine / de cette partition boot.
Cette partition est ensuite montée dans /boot, sur la seconde partition de hde (hde2), ou se trouve le système racine /.
C’est pour ça que j’ai ‘root=/dev/hde2’…
J’ai fais une partition boot dédiée, juste pour pouvoir lancer proprement plusieurs OS Linux sur cette machine.
:smiley:

JNTX.

OK, compris. :blush: