Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/06/2006, à 21:48

Michel26

GRUB encore !

Bonjour,

j'ouvre un nouveau sujet sur GRUB, il y en a déjà plein, mais tant pis pour lui ;-)

Alors le tour du matos d'abord :
hda1 : windows, avec amorce
hda2 : ubuntu dapper, distro de travail
hda3 : swap
et un second crash test disk avec :
hdb1 : 256 Mo, de reste d'une partition /boot
hdb2 : / d'une vieille hoary
hdb3 : une dapper de test, qui m'a bien sauvé

Dans l'ordre, j'ai installé XP sur hda1, et puis hoary sur hda2. Tout allait bien, même avec ce GRUB que je ne comprends pas bien.

Mais, j'ai un second disque dur, et hop je medis, l'occase de tester dapper avant de plonge rpour l'upgrade. J'envoie le live DVD AMD 64, et lance l'install (desktop en mode graphique) sur hda3 (et hda4 pour le swap)
Las, au redémarrage, y m'a tout pété mon joli menu de démarrage et la config par défaut est celle de la nouvelle install, avec comme other system l'ubuntu hda2 en plus de l'habituel windows.
De plus, le root de GRUB est devenu hd1,2 et le menu.lst qui sert est donc celui de hdb3...

Ca me gêne un peu d'un point de vue esthétique, et puis aussi de sécu : j'aimerais bien pouvoir sortir le disque hdb sans tout péter, ce qui n'est pas el cas dans cette config.

Alors j'ai tenté de lui changer le root,le setup, sans effet. Puis la manip de démarrer sur le live DVD + chrooter pour modifier le root de grub et le réinstaller sur le hd0 au passage.
Baoum mad => Le système est devenu inbootable hmm
Et le seul truc que j'ai réussi à faire pour retrouver un grub fonctionnel c'est de réinstaller dapper sur hda3. Pour la cosmétique, j'ai un peu allégé le menu.lst, mais bon.

Comment faire pour replacer GRUB sur le disque hd0, et lui faire lire le menu.lst de (hd0,1)/boot/grub à la place de l'autre ?
La seule parade à l'install automatique et sauvage de GRUB est-elle d'utiliser une Alternate ? (il me semble que oui, mais chuis plsu sûr de rien là ; ceci dit le manifesto de l'alternate y  me bottait bien ;-).

Merci à ceux qui auront lu jusqu'au bout !

Michel

#2 Le 13/06/2006, à 12:17

Bubble's Talks

Re : GRUB encore !

Tu veux dire que la methode habituelle :
à partir de hd0,1 ou d'un live cd en enlevant le hdb
grub --batch
root (hd0)
setup (hd0)
quit
[pour l'intitulé exact et les détails voir le wiki]
ne fonctionne pas ?

Hors ligne

#3 Le 13/06/2006, à 17:39

Michel26

Re : GRUB encore !

Tu veux dire que la methode habituelle :
à partir de hd0,1 ou d'un live cd en enlevant le hdb
grub --batch
root (hd0) --> (hd0,1) en fait, il faut indiquer la partition contenant /boot
setup (hd0)
quit
[pour l'intitulé exact et les détails voir le wiki]
ne fonctionne pas ?

Ben... dans mes tentatives de réactiver GRUB sur mon disque hd0 c'est ce que j'ai tenté de faire à plusieurs reprises, sans succès. Jusqu'à ce qu'une fois il y ait au moins root ou setup qui fonctionne, mais sans doute pas les deux, et vlan : pas de reboot possible.
Compte tenu de la longueur de la manip (réinstall d'ubuntu sur hdb3) pour récupérer un grub fonctionnel, j'hésite à vérifier : je me documente d'abord.

Pour l'instant, dans grub voilà ce que je sais en tirer :
grub> find /boot/grub/stage1
(hd0,1)
(hd1,2)
même réponse pour find /boot/grub/menu.lst

Par contre, les deux menu.lst sont un peu différents, et je sais lequel est lu : celui de hda3 (hd1,2), ma dernière install, forcément.

Dans un post, comme dans le petit message de présentation du démarrage de grub, j'ai lu que l'on pouvait tenter d'appuyer sur tabulation comme dans un shell pour se servir de l'autocomplétion, et découvrir en tapant par exemple 'root (hd[TABULATION]' quel était le root actuel de grub. Or chez moi l'autocomplétion ne fonctionne absolument pas, et je ne trouve pas dans les commandes de grub celle qui me permettrait de lire ses paramètres : disque d'installation, root...
Ma seule piste est que dans le menu.lst du disque hd1,2 (hdb3) le root indiqué est bien (hd1,2)... donc comme c'est celui qui a sans doute servi à l'install de grub, c'est probablement sur ce disque qu'il est installé.

Or ça pose un problème quand même à ma petite tête car le disque qui est amorcé par mon bios c'est l'autre, le hd0... Et plus drôle encore, si je force le bios à amorcer l'autre disque, le hd1, je me retrouve avec... le vieux menu d'une ancienne install, qui me fait booter sur (hd1,0)/hdb1 !

Alors je ne sais plus bien là... Et quoi qu'en dise la documentation dithyrambique de grub, je trouve moi qu'il lui manque un peu de clarté dans l'interface pour savoir où il est installé, et ce qu'il va faire...

Michel

#4 Le 13/06/2006, à 22:52

Bubble's Talks

Re : GRUB encore !

Vérification inutile : Tu es bien superutilisateur en lancant grub ?
sinon bin
user@machine$ sudo -s
root@machine# grub (sans --batch)
Pour savoir si la commande root a bien fonctionné, tu tapes d'abord
root (hd0,1)
Il répond qu'il a trouvé un systeme de fichier
et pour bien vérifier où il en est (ce qui t'interresses) tu tapes
root
et il ressort la même ligne du syteme de fichier précedée de la partition à partir de laquelle il va installer l'image de grub.
Ensuite la commande setup passée sans autre parametre que le disque destination va se servir du résultat de la commande root (hd0,1)
Il y a moyen de forcer le setup à chercher les images à un endroit précis en lui passant ces parametres.
C'est expliqué ici : http://www.linux-france.org/article/sys/chargeurs/ix86/grub/grub-manual-fr.html#setup
Et là je ne sais pas du tout quelle gueule peut avoir "dir" (hd0,1)/boot/grub ??
Quelqu'un sait ?

D'autres possibilités sont offertes par les parametres à passer à Grub en le lancant.
voir root@machine#grub --help pour le détail.
Par exemple, le menu.lst à utiliser est dans les options.

Grub est très apprecié certainement car on peut l'appeller au démarrage de la machine et passer des parametres et faire encore plein d'autres choses, enfin ceux qui font ce plein d'autres choses apprécient beaucoup Grub.

Dernière modification par Bubble's Talks (Le 13/06/2006, à 23:16)

Hors ligne

#5 Le 14/06/2006, à 19:33

Michel26

Re : GRUB encore !

Bubble's Talks a écrit :

Vérification inutile : Tu es bien superutilisateur en lancant grub ?

Oui, ça va sans dire, mais tu as raison : vaut mieux vérifier tongue

user@machine$ sudo -s
root@machine# grub (sans --batch)
Pour savoir si la commande root a bien fonctionné, tu tapes d'abord
root (hd0,1)
Il répond qu'il a trouvé un systeme de fichier
et pour bien vérifier où il en est (ce qui t'interresses) tu tapes
root
et il ressort la même ligne du syteme de fichier précedée de la partition à partir de laquelle il va installer l'image de grub.

Jusque là tout va bien. Sauf que root au démarrage de GRUB me donne fd0. Ensuite, unefois que je lui ai appris hd0, il le conserve bien.

Ensuite la commande setup passée sans autre parametre que le disque destination va se servir du résultat de la commande root (hd0,1)

Oui et d'après la doc, il va aller chercher dans /boot/grub/menu.lst ses paramètres. Mais je ne suis pas encore sur duquel...

http://www.linux-france.org/article/sys/chargeurs/ix86/grub/grub-manual-fr.html#setup

Super ce manuel, je ne l'avais pas encore vu je crois. En tous cas, j'y ai trouvé plein d'infos intéressantes, dont le comment faire la disquette de boot grub sans peine.

Et là je ne sais pas du tout quelle gueule peut avoir "dir" (hd0,1)/boot/grub ??

Ben, si c'est le contenu du dossier que tu veux connaître, ls est ton ami wink
Le dossier contient les 'Stage' de 1 à 2, en passant par les 1_5 puisque on boote sur du disque dur, la table des périphériques (qui dit hd0=hda, etc.), et le menu.lst. Il y a moyen d'y rajouter une image, dans un format exotique, qui servira de fond à l'affichage de grub.

Grub est très apprecié certainement car on peut l'appeller au démarrage de la machine et passer des parametres et faire encore plein d'autres choses, enfin ceux qui font ce plein d'autres choses apprécient beaucoup Grub.

J'adore roll

Bon, et mon petit retour d'expérience maintenant : j'ai réessayé, ça a refait pareil sad
Voici le message exact que j'obtiens au démarrage : "Reboot and select proper boot device or insert boot media in selected boot device and press a key".
Là il ne me reste plus qu'à insérer la disquette de boot que j'ai faite au préalable pour démarrer, c'est plus rapide que l'install, mais ça gonfle un peu, surtout qu'il faut encore que je l'explique à ma femme mad

Un truc que je n'ai pas dit : j'ai donc deux disques et les deux ont un secteur d'amorçage. Ca peut jouer ?

Hors ligne

#6 Le 14/06/2006, à 20:54

Bubble's Talks

Re : GRUB encore !

Pour les deux disques avec amorce ça n'a aucune importance.
Mais le message "Reboot and select proper boot device or insert boot media in selected boot device and press a key" c'est un message de Grub ? ou du Bios ?
Ecran chaud, ce message apparait après ou avant "loading stage1" ?
Car là on s'enfonce doucement.

Hors ligne

#7 Le 14/06/2006, à 21:02

Bubble's Talks

Re : GRUB encore !

C'est un message du Bios.
Ton disque n°1 ne serait-il pas en train de rendre l'âme ?
Au démarrage y a t'il des especes de "tac" "tac" ?

Je plaisante, mais il n'y a plus d'amorce valable sur le périphérique lu en premier.

Dernière modification par Bubble's Talks (Le 14/06/2006, à 21:53)

Hors ligne

#8 Le 15/06/2006, à 00:48

Michel26

Re : GRUB encore !

Bonsoir,
ne sois pas désagréable comme ça :

Ton disque n°1 ne serait-il pas en train de rendre l'âme ?
Au démarrage y a t'il des especes de "tac" "tac" ?

yikes

Le disque est neuf (c'est pas suffisant, je sais) et ne fait pas de vilain bruit, chuis pas allé mettre la tête dedans non plus.

Je plaisante, mais il n'y a plus d'amorce valable sur le périphérique lu en premier.

Du coup je me suis souvenu avoir déplacé l'amorce sur hda2 parmi mes manips. Je l'ai replacée sur la première partition, celle de Windows, mais cela ne change rien.

Il faudrait donc que je commence par restaurer un MBR correct sur ce disque...
C'est pourtant bien ce que fait Grub, le réécrire, non ?

J'avoue ne pas bien comprendre ce qui se passe là. Je vais peut-être essayer de restaurer le MBR par fdisk dos, et puis tenter l'installation de Grub sur le premier bloc de hda2, en plaçant l'amorce du disque dessus (Cf tuto multiboot : http://doc.ubuntu-fr.org/installation/multiboot_tatoo).

Merci pour ton intérêt en tous cas wink

Michel

Hors ligne

#9 Le 15/06/2006, à 01:55

Bubble's Talks

Re : GRUB encore !

Ce que je ne m'explique pas c'est que tu sois capable de monter grub sur une disquette de démarrage et pas sur un (ou des) disque dur ?

Nous pourrions simplement recommencer depuis le début par le résultat sur le forum d'un :
$ sudo fdisk -l
et l'affichage de tes menu.lst

l'article du Wiki que tu cites est un poil compliqué et n'est sans doute pas la meilleure solution à ton probleme.

Hors ligne

#10 Le 15/06/2006, à 10:11

cymru

Re : GRUB encore !

Bonjour,
Pourquoi se compliquer l'existence avec toutes ces versions et ces restes de versions ?
Perso j'ai deux micros, l'un avec deux disques durs l'autre avec trois disques durs. Sur chaque pc, le disque 1 est pour windows, le disque 2, partitionné, est pour linux (pour l'instant dapper). J'avais auparavant breezy que j'ai supprimé, reformaté la partition, et installé dapper à la place. Les données communes windows-linux sont sur une partition fat32 accessibles par windows XP et dapper, moyennant une petite modification du fichier fstab. C'est clair, net, fonctionne sans problème. Le seul ennui, mais pas vraiment, c'est réinstaller les polices de caractères, fonds d'écran et tous les gadgets habituels, mais ils sont sur une clé usb, y compris les fichiers sources.list et fstab que je replace (en ayant changé avec l'éditeur de texte gedit le mot "breezy" par "dapper") et certaines commandes que j'ai la flemme d'écrire du genre "sudo apt-get install numlockx" ... smile

cymru
(le gallois)

Hors ligne

#11 Le 16/06/2006, à 19:38

Michel26

Re : GRUB encore !

Alors voilà :

root@pcka:~# fdisk -l

Disque /dev/hda: 164.6 Go, 164696555520 octets
255 têtes, 63 secteurs/piste, 20023 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/hda1   *           1        5099    40957686    7  HPFS/NTFS
/dev/hda2            5100       19838   118391017+  83  Linux
/dev/hda3           19839       20023     1486012+   5  Extended
/dev/hda5           19839       20023     1485981   82  Linux swap / Solaris

Disque /dev/hdb: 40.0 Go, 40020664320 octets
255 têtes, 63 secteurs/piste, 4865 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/hdb1               1          33      265041   83  Linux
/dev/hdb2              34        3459    27519345   83  Linux
/dev/hdb3   *        3460        4803    10795680   83  Linux
/dev/hdb4            4804        4865      498015    5  Extended
/dev/hdb5            4804        4865      497983+  82  Linux swap / Solaris

Le dernier menu.lst utilisé :

# kopt=root=/dev/hda2 ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,1)
(...)
title           Ubuntu, kernel 2.6.15-23-amd64-generic Default
root            (hd0,1)
kernel          /boot/vmlinuz root=/dev/hda2 ro quiet splash
initrd          /boot/initrd.img
savedefault
boot

title           Ubuntu, kernel 2.6.15-23-amd64-generic Default (recovery mode)
root            (hd0,1)
kernel          /boot/vmlinuz root=/dev/hda2 ro single
initrd          /boot/initrd.img
boot

title           Ubuntu, memtest86+
root            (hd0,1)
kernel          /boot/memtest86+.bin
boot

### END DEBIAN AUTOMAGIC KERNELS LIST

title           Autres systèmes
root

title           Xubuntu, kernel 2.6.15-23-amd64-generic
root            (hd1,2)
kernel          /boot/vmlinuz-2.6.15-23-amd64-generic root=/dev/hdb3 ro quiet splash
initrd          /boot/initrd.img-2.6.15-23-amd64-generic
boot

title           Xubuntu, kernel 2.6.15-23-amd64-generic (recovery mode)
root            (hd1,2)
kernel          /boot/vmlinuz-2.6.15-23-amd64-generic root=/dev/hdb3 ro single
initrd          /boot/initrd.img-2.6.15-23-amd64-generic
boot

title           Windows XP
root            (hd0,0)
makeactive
chainloader     +1

Mais hormis pour Windows XP qui ne boote plus, même de la disquette (et là j'en ai besoin car wine sur AMD 64 c'est pâs gagné...:/), le problème vient avant.

J'ai une énième fois tenté de refaire les choses proprement, après avoir utilisé une vieille disquette win 98 pour restaurer le MBR. Ca pour l'avoir restauré, ça l'avait restauré : il ne se passait rien au démarrage smile

Ensuite :
# grub
grub> root (hd0,1)
grub> setup (hd0)
Je me prends le message habituel au redémarrage...

Alors j'ai essayé de l'installer sur l'autre disque pour voir (je rappelle qu'avant lorsque je bootais sur ce disque, j'obtenais le vieux grub de l'ancienne install, du temps où il était tout seul ce disque), et là au redémarrage, je fais attention de choisir ce disque de démarrage et boum : pareil !
(procédure d'install : root (hd0.1) ; setup (hd1)

Je me demande si ce n'est pas les fichiers de mon répertoire grub qui sont foireux...
Je vais essayer root(hd1.2) ; setupo (hd0) pour voir...

Merci,

Michel

Edit : ça marche !
Je suppose donc que ce sont mes fichiers stage de grub qui sont vérolés dans mon install. Je vais virer le paquet grub et le réinstaller proprement dans ce cas.

Dernière modification par Michel26 (Le 16/06/2006, à 20:04)

Hors ligne

#12 Le 17/06/2006, à 18:05

Michel26

Re : GRUB encore !

Allez, encore une question amusante avec GRUB :

Voici deux extrais de mon menu.lst. Sauriez-vous dire pourquoi le premier choix donne 15: File not found ? (généré par update-grub)
Et le second fonctionne ? (généré par moi à la mimine)

title           Ubuntu, kernel 2.6.15-25-amd64-generic Default
root            (hd0,1)
kernel          /boot/vmlinuz root=/dev/hda2 ro quiet
initrd          /boot/initrd.img
savedefault
boot
title           Ubuntu
root            (hd0,1)
kernel          /boot/vmlinuz root=/dev/hda2 ro quiet
initrd          /boot/initrd.img
boot

Moi la différence entre les deux bouts de code ne me saute pas aux yeux... sauf à l'exécution bien sûr tongue

Michel

Edit : ben tiens justement si il y a un truc qui saute aux yeux, pourtant j'atais certain de l'avoir enlevé au démarrage, c'est le savedefault qui cause l'erreur !

Dernière modification par Michel26 (Le 17/06/2006, à 18:12)

Hors ligne

#13 Le 17/06/2006, à 23:45

Bubble's Talks

Re : GRUB encore !

Ces deux "strophes" sont elles issues du même menu.lst ?
Elles sont effectivement identiques - au savedefault près.
Ton noyau vmlinuz est sans version, est-ce bien normal ?
C'est celui situé dans la racine et non /boot c'est ça ? Et c'est un lien symbolique en fait ?

"savedefault" enregistre 'quelque part' (mais où ?) le systeme choisi au démarrage mais ceci n'a normalement d'effet que si "default  = saved" en tête de menu.lst. Update-grub (un script) va te le recoller à chaque mise-à-jour (sauf modification, genre reperer le bloc :
write_kernel_entry()
{
    kernel_version=$1
    recovery_desc=$2
    lock_alternative=$3
    grub_root_device=$4
    kernel=$5
    kernel_options=$6
    recovery_suffix=$7
    initrd=$8
    savedefault=$9
}
et à chacun de ses appels passer le 9 ieme parametre sur "false" ceci n'est pas conseillé du tout.

Dernière modification par Bubble's Talks (Le 18/06/2006, à 00:01)

Hors ligne