[Installation] Grub avec plusieurs distrib (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
Tristelune
Elfe
Messages : 516
Inscription : mer. 01 août 2007, 16:38

[Installation] Grub avec plusieurs distrib (résolu)

Message par Tristelune »

Salut,

je viens d'installer Arch et j'avais une Debian sur mon ordinateur avant. Le problème est que je ne peux plus démarrer que sous Arch :cry: .

L'installation s'est déroulée sans problèmes, mais visiblement mon autre OS n'a pas été détecté lors de l'installation comme ce fut le cas avec d'autres distributions. Voilà ma situation: j'ai partitionné mon disque pour installer arch. Arch est installé sur /dev/sda2 et /dev/sda6. Mon autre système est sur /dev/sda1 et /dev/sda5. Petite remarque: sur ma Debian, les disques étaient nommés hdaX.

Lors de l'installation, le fichier grub proposé était le suivant:

Code : Tout sélectionner

# (0) Arch Linux
title  Arch Linux
root   (hd0,5)
kernel /boot/vmlinuz26 root=/dev/sda6 ro
initrd /boot/kernel26.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd0,5)
kernel /boot/vmlinuz26 root=/dev/sda6 ro
initrd /boot/kernel26-fallback.img
Ne voyant pas ma Debian, je l'ai complété en espérant que ce serait bon:

Code : Tout sélectionner

# (0) Arch Linux
title  Arch Linux
root   (hd0,5)
kernel /boot/vmlinuz26 root=/dev/sda6 ro
initrd /boot/kernel26.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd0,5)
kernel /boot/vmlinuz26 root=/dev/sda6 ro
initrd /boot/kernel26-fallback.img

title	Debian/GNU Linux, kernel 2.6.22-1-686
root	(hd0,0)
kernel	/boot/vmlinuz-2.6.22-1-686 root=/dev/sda1 ro
initrd	    /boot/initrd.img-2.6.22-1-686
savedefault

title	Debian/GNU Linux, kernel 2.6.22-1-686 (single-user-mode) 
root	(hd0,0) 
kernel	/boot/vmlinuz-2.6.22-1-686 root=/dev/sda1 ro single
initrd	   /boot/initrd.img-2.6.22-1-686
savedefault

title	Debian/GNU Linux, kernel 2.6.21-1-686
root	(hd0,0)
kernel	/boot/vmlinuz-2.6.21-1-686 root=/dev/sda1 ro
initrd	  /boot/initrd.img-2.6.21-1-686
savedefault

title	Debian/GNU Linux, kernel 2.6.21-1-686 (single-user-mode) 
root	(hd0,0) 
kernel	/boot/vmlinuz-2.6.21-1-686 root=/dev/sda1 ro single
initrd	  /boot/initrd.img-2.6.21-1-686
savedefault

title	Debian/GNU Linux, kernel 2.6.18-4-686
root	(hd0,0)
kernel	/boot/vmlinuz-2.6.18-4-686 root=/dev/sda1 ro
initrd	   /boot/initrd.img-2.6.18-4-686
savedefault

title	Debian/GNU Linux, kernel 2.6.18-4-686 (single-user-mode) 
root	(hd0,0) 
kernel	/boot/vmlinuz-2.6.18-4-686 root=/dev/sda1 ro single
initrd	    /boot/initrd.img-2.6.18-4-686
savedefault
J'ai utilisé la nomenclature sda. Même avec hda ça n'a pas fonctionné. J'obtiens l'erreur:

Error 15: file not found

Je peux monter mes partitions sda1 et sda5: tous les fichiers sont présents. Sur sda1 dans le répertoire /boot/:

Code : Tout sélectionner

System.map-2.6.18-4-686 
System.map-2.6.21-1-686
System.map-2.6.22-1-686
initrd.img-2.6.21-1-686
initrd.img-2.6.18-4-686.bak
initrd.img-2.6.18-4-686
initrd.img-2.6.22-1-686
config-2.6.18-4-686 
config-2.6.21-1-686
config-2.6.22-1-686
vmlinuz-2.6.18-4-686
vmlinuz-2.6.21-1-686
vmlinuz-2.6.22-1-686
Tout m'a donc l'air d'être là. Est-ce dû au fait que les partitions ne sont pas montées au démarrage ? Mon /etc/fstab:

Code : Tout sélectionner

# 
# /etc/fstab: static file system information
#
# <file system>        <dir>         <type>    <options>          <dump> <pass>
none                   /dev/pts      devpts    defaults            0      0
none                   /dev/shm      tmpfs     defaults            0      0


/dev/cdrom /mnt/cdrom   iso9660   ro,user,noauto,unhide   0      0
/dev/dvd /mnt/dvd   udf   ro,user,noauto,unhide   0      0
/dev/sda2 swap swap defaults 0 0
/dev/sda6 / ext3 defaults 0 1
Faut-il se méfier de la structure du menu.lst ? Genre la séparation

Code : Tout sélectionner

kernel	/boot/vmlinuz-2.6.18-4-686 root=/dev/sda1 ro
entre kernel et /boot/..... est une tabulation et pasl un espace. Je ne sais pas si ça peut jouer un rôle.

Merci.
Dernière modification par Tristelune le jeu. 09 août 2007, 21:03, modifié 1 fois.
Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)

Message par vincentxavier »

Salut à toi !

Ton problème est assez tricky en fait. La question est de savoir si tu as accès au shell GRUB ?

Je pense que l'installation de grub a un peut foutu le bordel dans ton MBR. C'est pas très grave mais ca peut vite devenir chiant.

Ton menu.lst me semble bon à part un petit truc. L'option

Code : Tout sélectionner

root = /dev/partition
va indiquer au noyau quelle partition utiliser comme partition racine. Je doute que Debian utilise la lib_pata, donc il faut repasser en notation hda.

Ensuite il faut faire un peu de nettoyage dans le mbr. Pour commencer, je te suggère de l'effacer proprement :

Code : Tout sélectionner

dd if=/dev/zero of=/dev/{h,s}da bs=446 count=1
à effectuer en root. bs=446 te permet de ne pas effacer la table de partitions ( Plus d'infos) !

En bootant ensuite avec une disquette ou un CD sur l'un des deux systèmes, tu pourras réinstaller GRUB et bien spécifier ses options et tout et tout.

Attention, il est préférable (et recommandé) que /boot/grub/menu.lst et même /boot soit accessible depuis toutes tes distributions. La meilleure solution est donc de mettre /boot sur une partition à part. Idéalement, cette partition sera aussi la première (GRUB peut avoir des problèmes à trouver les fichiers situés trop loin sur le disque, mais je ne me souviens plus de la limite).

GRUB ne *doit* être installé qu'une fois par PC et pas pour chaque distro

Pour l'installation de GRUB, je te recommande également : http://elle.epfl.ch/Installer-grub-sur-un-disque-dur
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image
Tristelune
Elfe
Messages : 516
Inscription : mer. 01 août 2007, 16:38

Message par Tristelune »

Merci pour les réponses. Avant d'aller plus loin, il y a quelques points qui ne sont pas clairs pour moi:
Ton problème est assez tricky en fait. La question est de savoir si tu as accès au shell GRUB ?
J'ai essayé et ça a fontionné. Il ne devrait pas y avoir de problème de ce côté-là.
Je doute que Debian utilise la lib_pata, donc il faut repasser en notation hda.
Ok, mais comment ? Est-ce que je dois refaire toute l'installation ?
En bootant ensuite avec une disquette ou un CD sur l'un des deux systèmes, tu pourras réinstaller GRUB et bien spécifier ses options et tout et tout.
C'est-à-dire ? A l'aide d'un CD d'installation ? Je ne vois pas vraiment comment m'y prendre.
Attention, il est préférable (et recommandé) que /boot/grub/menu.lst et même /boot soit accessible depuis toutes tes distributions. La meilleure solution est donc de mettre /boot sur une partition à part.
Hhhmmm, je me vois mal déplacer /boot/ sur une autre partition que je vais créer. Enfin en y réfléchissant, Est-ce que ça serait jouable de créer une nouvelle partition, de tout copier ce que je veux dessus et.... prier pour que ça fonctionne ???? Ou une nouvelle partition, réinstaller Arch et monter /boot/ sur cette partition ?
Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)

Message par vincentxavier »

Tristelune a écrit :Merci pour les réponses. Avant d'aller plus loin, il y a quelques points qui ne sont pas clairs pour moi:
Ton problème est assez tricky en fait. La question est de savoir si tu as accès au shell GRUB ?
J'ai essayé et ça a fontionné. Il ne devrait pas y avoir de problème de ce côté-là.
Ok cool, donc tu pourras bien vériier tes entrées RUB ou modifier les existantes via le shell si ton menu.lst est moisi !
Tristelune a écrit :
Je doute que Debian utilise la lib_pata, donc il faut repasser en notation hda.
Ok, mais comment ? Est-ce que je dois refaire toute l'installation ?
Non, surtout pas tout réinstaller, à moins que tu aies que ca à faire !
Tristelune a écrit :
En bootant ensuite avec une disquette ou un CD sur l'un des deux systèmes, tu pourras réinstaller GRUB et bien spécifier ses options et tout et tout.
C'est-à-dire ? A l'aide d'un CD d'installation ? Je ne vois pas vraiment comment m'y prendre.
Le CD d'installation de Arch te permet de booter dans ton système existant, et c'est assez pratique. Il suffit de taper

Code : Tout sélectionner

 arch root=/dev/sda2
à l'invite boot: du CD d'installation.
Tristelune a écrit :
Attention, il est préférable (et recommandé) que /boot/grub/menu.lst et même /boot soit accessible depuis toutes tes distributions. La meilleure solution est donc de mettre /boot sur une partition à part.
Hhhmmm, je me vois mal déplacer /boot/ sur une autre partition que je vais créer. Enfin en y réfléchissant, Est-ce que ça serait jouable de créer une nouvelle partition, de tout copier ce que je veux dessus et.... prier pour que ça fonctionne ???? Ou une nouvelle partition, réinstaller Arch et monter /boot/ sur cette partition ?
La solution est assez simple si tu utilises un outil comme un de ceux-là
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image
Tristelune
Elfe
Messages : 516
Inscription : mer. 01 août 2007, 16:38

Message par Tristelune »

hhhmmmmm....
Non, surtout pas tout réinstaller, à moins que tu aies que ca à faire !
Effectivement: j'ai moyennement envie de tout réinstaller. Comment dois-je faire pour passer en hda ? Puis-je faire ça "à la main" ou dois-je refaire certaines étapes de l'installation. Au pif, je dirais que je dois refaire la préparation du disque dur (si c'est faisable sans formater) et ensuite modifier les fichiers de configurations, surtout menu.lst de grub. Pourrais-tu me donner plus de précisions ?
Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)

Message par vincentxavier »

Tristelune a écrit :hhhmmmmm....
Non, surtout pas tout réinstaller, à moins que tu aies que ca à faire !
Effectivement: j'ai moyennement envie de tout réinstaller. Comment dois-je faire pour passer en hda ? Puis-je faire ça "à la main" ou dois-je refaire certaines étapes de l'installation. Au pif, je dirais que je dois refaire la préparation du disque dur (si c'est faisable sans formater) et ensuite modifier les fichiers de configurations, surtout menu.lst de grub. Pourrais-tu me donner plus de précisions ?
En fait, pour cette partie là, il s'agit juste d'éditer le menu.lst. J'ai pas été très clair dans mon explication :$ !
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Message par mélodie »

Bonjour,
Pour éviter les mauvaises surprises de ce type, je saute l'étape installation d'un bootloader quand j'installe une distribution supplémentaire. J'ajoute l'entrée nécessaire dans le menu.lst avant ou après l'installation, au choix.
Avatar de l’utilisateur
Tebo
Chu Ko Nu
Messages : 368
Inscription : sam. 17 mars 2007, 23:24

Message par Tebo »

En faite tu as juste à modifier menu.lst, pour indiquer sda ou hda; c'est cette ligne:
root=/dev/hda1

Après tu peut éditer les entrées de grub à la volée quand tu est dessus:
e -> édite une ligne
d-> la supprime
etc.

Pour finir tu peut même avoir un clavier azerty avec grub.
Il faut rajouter ses lignes au début du menu.lst:
setkey less backquote
setkey greater tilde
setkey ampersand 1
setkey 1 exclam
setkey tilde 2
setkey 2 at
setkey doublequote 3
setkey 3 numbersign
setkey quote 4
setkey 4 dollar
setkey parenleft 5
setkey 5 percent
setkey minus 6
setkey 6 caret
setkey backquote 7
setkey 7 ampersand
setkey underscore 8
setkey 8 asterisk
setkey backslash 9
setkey 9 parenleft
setkey at 0
setkey 0 parenright 2
setkey parenright minus
setkey numbersign underscore
setkey a q
setkey A Q
setkey z w
setkey Z W
setkey caret bracketleft
setkey dollar bracketright
setkey q a
setkey Q A
setkey m semicolon
setkey M colon
setkey bracketleft quote
setkey percent doublequote
setkey asterisk backslash
setkey bracketright bar
setkey w z
setkey W Z
setkey comma m
setkey question M
setkey semicolon comma
setkey period less
setkey colon period
setkey slash greater
setkey exclam slash
setkey bar question

Attention si tu efface arch. Il faudrat réinstaller le bootloader à partir de Debian.
Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)

Message par vincentxavier »

Tebo a écrit :En faite tu as juste à modifier menu.lst, pour indiquer sda ou hda; c'est cette ligne:
root=/dev/hda1

Après tu peut éditer les entrées de grub à la volée quand tu est dessus:
e -> édite une ligne
d-> la supprime
etc.
[…]
Attention si tu efface arch. Il faudrat réinstaller le bootloader à partir de Debian.
Oui, sauf que GRUB error 15, c'est un fichier pas trouvé !
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image
Tristelune
Elfe
Messages : 516
Inscription : mer. 01 août 2007, 16:38

Message par Tristelune »

Malheureusement tout ce que j'ai essayé à échoué :cry: .

Comme j'ai toutefois réussi à utiliser le système, je me suis décidé à faire le grand ménage comme le but était de tester Archlinux. J'ai donc tout réinstallé et tout viré ce que j'avais. Cette fois j'ai quand même fait attention à faire le bon partitionnement.... bon pas dur puisque c'est fait automatiquement avec l'installateur!

Pour l'instant ça ne va pas trop mal, donc je me réjouis d'utiliser Arch,


:D

Merci à tous pour votre aide.
Avatar de l’utilisateur
Smurf
Hankyu
Messages : 12
Inscription : jeu. 27 sept. 2007, 21:54
Localisation : Paris/Troyes

Message par Smurf »

Bonjour,
j'ai également un problème avec mon grub.
En effet, j'avais Ubuntu installée sur mon ordinateur et j'ai suivi la procédure d'installation archlinux et j'ai tout mis dans une partition (/dev/sda1)
Je n'ai donc pas installé grub sur cette partition et j'ai ajouté une entrée dans le menu de grub comme ceci :

Code : Tout sélectionner

title           ArchLinux
root            (hd0,0)
kernel          /boot/vmlinuz26 root=/dev/sda1 ro
initrd          /boot/kernel26.img
Et quand je tente de booter sur cette distribution, Grub m'affiche un erreur 17 qui signifie qu'il ne reconnait pas le type de la partition qui est pourant ext3 (vérifié à l'aide de parted).
Qu'en pensez-vous ?
Merci.
Ceux qui pensent qu'installer Linux est difficile n'ont jamais dû essayer de comprendre une femme.
Geekscottes
Avatar de l’utilisateur
Tebo
Chu Ko Nu
Messages : 368
Inscription : sam. 17 mars 2007, 23:24

Message par Tebo »

C'est compliquer hein d'utiliser un moteur de recherche :
scroogle avec grub error 17:
http://www.gentoo.org/doc/fr/grub-error ... #doc_chap5

:twisted:
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Message par mélodie »

Essaye hda1 au lieu de sda1. Ubuntu peut voir du sda alors que Archlinux voit du hda... il suffit d'éditer la ligne du menu.lst au moment du boot (e pour edit, sur la ligne du titre, puis à nouveau e sur la ligne du kernel).
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

il ne boot pas, je ne pense donc pas que c'est en rapport avec /dev/sda1

depuis grub, tu peux passer en mode commande et taper

Code : Tout sélectionner

find /boot/vmlinuz26
s'il te sort autre chose que (hd0,0), il suffira de remplacer l'entrée dans le menu.lst

grub peut "se perdre" dans les numéros de disques/partitions s'il y a par exemple un hd externe ou clé usb connécté au démarrage.
Répondre