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 31/08/2007, à 11:14

nico_h

[probablement résolu] grub et dual boot entre deux ubuntu

salut tlm !


j'ai deux ubuntu sur mon PC et y'a un petit problème c'est que c'est le dernier installé qui a installé "son" grub et donc qui peut influencer le menu que propose grub au démarrage du PC.

l'ennui, c'est que quand il y a une mise à jour de faite du noyau linux, ben le choix ne rajoute pas dans le menu pour le ubuntu qui n'a pas la main sur grub. j'imagine que je pourrais réinstaller grub ou qqch de ce genre mais alors le grub va seulement "changer de main" et l'autre ubuntu sera aussi embêté que le premier.


comment résoudre le problème ???

(NB j'ai pas trouvé de sujet sur le forum, concernant ce problème, s'il y en a, je veux bien les liens)

Dernière modification par nico_h (Le 29/10/2007, à 07:57)


Config. actuelle : linux mint 22.04 | FreeBSD 12
Des exercices d'entraînement en maths : http://mr.hainaux.net/

Hors ligne

#2 Le 31/08/2007, à 11:36

EZRAROXA

Re : [probablement résolu] grub et dual boot entre deux ubuntu

il faut faire les mises à jour pour les deux


Client satisfait de NOVATUX

Hors ligne

#3 Le 31/08/2007, à 14:01

nico_h

Re : [probablement résolu] grub et dual boot entre deux ubuntu

euh oui, certes... ma question doit être mal posée, peut-être ?

c'est-à-dire que concrètement, sur mon PC il y a

ubuntu dapper et ubuntu studio

c'est le studio que j'ai installé en 2e et donc il a "la main" sur grub. càd que c'est dans son système de fichiers, sur sa partition, qu'il y a le fameux menu.lst. quand un nouveau noyau arrive côté studio, il est rajouté dans le menu grub.

par contre, quand un nouveau noyau arrive chez dapper, ben il est pas rajouté dans le menu grub. il doit être dans le menu.lst côté dapper, mais c'est pas celui qu'utilise grub. il faudrait peut-être que je le fasse à la main en passant par ubuntu studio ? en me plantant pas...

Dernière modification par nico_h (Le 31/08/2007, à 14:01)


Config. actuelle : linux mint 22.04 | FreeBSD 12
Des exercices d'entraînement en maths : http://mr.hainaux.net/

Hors ligne

#4 Le 31/08/2007, à 14:16

damunix

Re : [probablement résolu] grub et dual boot entre deux ubuntu

y a bien la méthode bidouillle qui consisterai a soit recopier le menu.lst sur les deux partitions (pk pas...), ou lorsqu'il fait une mise-à-jour, de monté la  partition principale (celle que tu veux que grub utilise) et remettre grub...

Mais dis moi, ca ne le fera que lorsque grub sera mise a jour normalement ? dans ces cas la pourquoi tu virerai tout simple pas le grub de la partition dont tu ne veux plus de boot ?

Hors ligne

#5 Le 31/08/2007, à 14:25

traaf

Re : [probablement résolu] grub et dual boot entre deux ubuntu

la solution est un chainloader

http://forum.ubuntu-fr.org/viewtopic.php?id=55813


Vault106, musique libre, enjoy it /!\

Hors ligne

#6 Le 31/08/2007, à 14:35

belga

Re : [probablement résolu] grub et dual boot entre deux ubuntu

poste le retour de

sudo fdisk -l
sudo grub
find /boot/grub/stage1
quit

Multi-bomb : Multi-doze : Mandoze, Ubundoze, Pardoze.

900s entre deux postes: mododoze

Hors ligne

#7 Le 29/10/2007, à 07:57

nico_h

Re : [probablement résolu] grub et dual boot entre deux ubuntu

merci pour vos réponses ! suite à un pb de messagerie je n'avais pas vu qu'elles étaient là...

donc pour belga :

nico@tezcatlipoca:~$ sudo fdisk -l
Password:

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

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/hda1               1        4844    38909398+  83  Linux
/dev/hda2            4845        5099     2048287+  82  Linux swap / Solaris
/dev/hda3            5100        7296    17647402+  83  Linux
nico@tezcatlipoca:~$
grub> find /boot/grub/stage1
 (hd0,0)
 (hd0,2)

grub>

et puis dès que j'ai le temps de me réattaquer au problème, je tente le chainloader qui semble en effet correspondre à ce que je cherche.


Config. actuelle : linux mint 22.04 | FreeBSD 12
Des exercices d'entraînement en maths : http://mr.hainaux.net/

Hors ligne

#8 Le 29/10/2007, à 10:01

belga

Re : [probablement résolu] grub et dual boot entre deux ubuntu

sudo grub
setup (hd0,0) (hd0,0)
setup (hd0,2) (hd0,2)
quit

puis dans le menu.lst du dernier installé,
j'imagine celui qui est sur /dev/hda3
rajoute ceci à la fin (après ##END DEBIAN...)

title           Ubuntu /dev/hda1  #tu mets le nom que tu veux
root            (hd0,0)
chainloader     +1
boot

tu peux même rajouter à la fin du menu.lst du premier ubuntu

title           Ubuntu /dev/hda3  #tu mets le nom que tu veux
root            (hd0,2)
chainloader     +1
boot

tu redémarres et testes l'entrée Ubuntu /dev/hda1 qui devrait donner
le menu.lst du premier.
Si c'est ok retire les anciennes entrées du premier ubuntu dans le menu.lst
du dernier et vice-versa.


Multi-bomb : Multi-doze : Mandoze, Ubundoze, Pardoze.

900s entre deux postes: mododoze

Hors ligne

#9 Le 29/10/2007, à 10:37

herrib

Re : [probablement résolu] grub et dual boot entre deux ubuntu

Quelques explications et deux remarques:

La syntaxe de setup est: setup [--force-lba] [--stage2=os_stage2_file] [--prefix=dir] install_device [image_device]

install_device: localisation où stage1 sera implanté (il peut s'agir du MBR ou d'une partition; s'il s'agit du MBR, on amorce Grub directement).

image_device (non obligatoire): contient les images Grub (qui sont généralement dans /boot/grub/ soit les fichiers permettant le support, par Grub, de différents types de fichiers)

setup (hd0,0) (hd0,0) signifie que l'on va installer Grub sur la première partition du premier disque et que l'on va utiliser les fichiers contenus dans la première partition du premier disque, ici /boot/grub de la première installation Ubuntu.

setup (hd0,2) (hd0,2) se comprend de la même façon.

On aura donc deux stage1 (permettant l'amorce de Grub) respectivement sur (hd0,0) soit /dev/hda1 et (hd0,2) soit /dev/hda3 .

Je rappelle la séquence de chargement de Grub: stage1 -> chargement stage1_5 (pour support minimal du système de fichiers) -> chargement stage2 (pour chargement de l'environnement de Grub, permettant l'amorce de noyaux ou systèmes différents).

Le MBR d'origine n'aura pas changé. Quand le système s'amorcera, la séquence suivante sera réalisée:

MBR (stage1) -> lecture de la partition support de /boot pour la dernière distribution Ubuntu installée (on suppose (hd0,2)). Grub lit alors /boot/grub/menu.lst et identifie les entrées.

Ce fichier comprendra l'entrée complémentaire suivante:

title           première distrib Ubuntu (par exemple)
root            (hd0,0)
chainloader     +1
boot

Si l'entrée est choisie, l'environnement minimal de Grub lira la partition désignée par root (hd0,0) et chargera bit à bit les premières instructions (c'est le sens de chainloader) et les exécutera.

Il va donc charger le stage1 installé qui va lui lire le menu.lst porté par la partition /boot/grub, résidant sur (hd0,0). Le tour est joué.

Les remarques maintenant:

setup (hd0,2) (hd0,2) n'est pas nécessaire. Dans le doute (et si le dernier système installé l'était sur (hd0,0)?) la démarche a été dupliquée...

la désignation de image_device n'était pas nécessaire car setup se borne à utiliser les images Grub (stageXY) sans toucher les menu.lst, device.map soient les fichiers de configuration spécifiques créés.

Dernière modification par herrib (Le 29/10/2007, à 10:37)

Hors ligne

#10 Le 29/10/2007, à 11:03

cep

Re : [probablement résolu] grub et dual boot entre deux ubuntu

herrib a écrit :

setup (hd0,0) (hd0,0) signifie que l'on va installer Grub sur la première partition du premier disque et que l'on va utiliser les fichiers contenus dans la première partition du premier disque, ici /boot/grub de la première installation Ubuntu.

setup (hd0,2) (hd0,2) se comprend de la même façon.

Oui.

. . .

title           première distrib Ubuntu (par exemple)
root            (hd0,0)
chainloader     +1
boot

. . .
Les remarques maintenant:

setup (hd0,2) (hd0,2) n'est pas nécessaire. Dans le doute (et si le dernier système installé l'était sur (hd0,0)?) la démarche a été dupliquée...
.

À moins que je n'ai pas compris ce que tu voulais dire, ce setup sera toujours nécessaire si l'on veut faire un chainload de l'un à l'autre et vice versa. Il est surtout indispensable si le grub (hd0,0) est lu en premier, ce qui sera le cas, et si l'on veut l'utiliser pour chainloader vers (hd0,2).

La commande de chainload donnée plus haut est sensée être mise dans le menu.lst de (hd0,2)


Ou alors voir l'utilisation de configfile.

Hors ligne

#11 Le 29/10/2007, à 11:06

herrib

Re : [probablement résolu] grub et dual boot entre deux ubuntu

cep a écrit :

À moins que je n'ai pas compris ce que tu voulais dire, ce setup sera toujours nécessaire si l'on veut faire un chainload de l'un à l'autre et vice versa. Il est surtout indispensable si le grub (hd0,0) est lu en premier, ce qui sera le cas, et si l'on veut l'utiliser pour chainloader vers (hd0,2).

Effectivement, si l'on veut renvoyer d'un système à l'autre, les deux commandes setup sont pertinentes.  Mais on peut considérer un menu.lst maître ...

Hors ligne

#12 Le 29/10/2007, à 11:07

cep

Re : [probablement résolu] grub et dual boot entre deux ubuntu

herrib a écrit :

Effectivement, si l'on veut renvoyer d'un système à l'autre, les deux commandes setup sont pertinentes.  Mais on peut considérer un menu.lst maître ...

Il y a toujours un menu.lst "maître".

Hors ligne

#13 Le 29/10/2007, à 11:24

herrib

Re : [probablement résolu] grub et dual boot entre deux ubuntu

Oui par le lancement au boot.

C'est ce menu.lst qui renvoit sur l'autre. La réciproque est possible si l'on introduit la modification dans l'autre menu.lst (c'est à dire, revenir vers le premier menu.lst). Cette réciproque est-elle cependant pertinente (en cas d'erreur dans le choix de l'item menu?).

La directive configfile est aussi possible:

title renvoi
root		(hd0,0)
configfile  /boot/grub/menu.lst

Hors ligne

#14 Le 29/10/2007, à 11:43

cep

Re : [probablement résolu] grub et dual boot entre deux ubuntu

Bref, contrairement à ce qui est dit dans le poste 9, setup (hd0,2) (hd0,2) sera toujours indispensable si l'on veut faire un chainload vers (hd0,2).

Bonne continuation.
cep

Hors ligne

#15 Le 29/10/2007, à 17:18

belga

Re : [probablement résolu] grub et dual boot entre deux ubuntu

Salut,

hehe cep qui vient jeter un coup d'oeil,
n'hésite pas en cas de conneries de ma part.

A+ cep


Multi-bomb : Multi-doze : Mandoze, Ubundoze, Pardoze.

900s entre deux postes: mododoze

Hors ligne

#16 Le 29/10/2007, à 17:59

herrib

Re : [probablement résolu] grub et dual boot entre deux ubuntu

cep a écrit :

Bref, contrairement à ce qui est dit dans le poste 9, setup (hd0,2) (hd0,2) sera toujours indispensable si l'on veut faire un chainload vers (hd0,2). Bonne continuation. cep

Le schéma:

a- MBR (stage1 installé à l'initialisation de la dernière version Ubuntu) va lire  (hd0,2)/boot/grub et y récupérer les images Grub (les stage1_5 et le stage2) ansi que les paramètres d'initialisation du mode menu (menu.lst et device.map) ;

b- lecture du menu.lst; ce menu.lst comprend une entrée renvoyant sur (hd0,0)

title           première distrib Ubuntu (par exemple)
root            (hd0,0)
chainloader     +1
boot

c- chainloader active le stage1 installé en (hd0,0)

d- ce stage1  va lire  (hd0,0)/boot/grub et y récupérer les images Grub (les stage1_5 et le stage2) ansi que les paramètres d'initialisation du mode menu (menu.lst correspondant à la première installation Ubuntu et device.map) .


Les éléments du schéma:

a- le MBR a été installé à l'initialisation de la dernière version d'Ubuntu. Le menu.lst a été initialisé à l'installation de cette dernière version et modifié comme indiqué.

b- modification intervenue (voir posts plus haut).

c- le stage1 a été installé en (hd0,0) par la commande setup (hd0,0) (hd0,0)

d- le menu.lst a été initialisé lors de l'installation de la première version d'Ubuntu.

Je persiste donc à penser que setup (hd0,2) (hd0,2) n'est pas nécessaire sauf si l'on souhaite, depuis le menu.lst de la séquence d, revenir vers le menu.lst de la séquence a.

Voilà, voilà. L'intérêt de cette précision réside uniquement dans la "pédagogie" du schéma et rien d'autre, afin que chacun comprenne le jeu des différentes composantes de Grub.

Le tutorial Grub du site Ubuntu est excellent: http://doc.ubuntu-fr.org/grub . Le site fedora-fr propose un autre tutorial, complémentaire: http://doc.fedora-fr.org/wiki/GRUB_:_Les_bases_pour_Fedora

La communauté est riche!

Hors ligne

#17 Le 29/10/2007, à 19:20

cep

Re : [probablement résolu] grub et dual boot entre deux ubuntu

Tu as beau tourner le problème dans tous les sens et le compliquer à outrance, si tu veux utiliser un chainloader pour un autre système linux (ou similaires) il faut que grub (ou autre bootloader) soit installé dans la "zone d'amorçage" des deux partitions, ou du mbr et de l'autre partition. C'est tout simple.

Maintenant, si tu veux prouver qu'il n'est pas nécessaire de faire un chainload pour démarrer un autre système linux sur un même pc, bien sûr que ce n'est pas nécessaire, il suffit de configurer menu.lst vers lequel pointe stage1 (pour simplifier) et l'autre système sera lancé. Mais personne n'a prétendu le contraire.

Terminé en ce qui me concerne afin de ne pas tourner en rond inutilement smile

cep

p.s. Salut belga cool

Hors ligne

#18 Le 29/10/2007, à 19:56

herrib

Re : [probablement résolu] grub et dual boot entre deux ubuntu

cep a écrit :

Tu as beau tourner le problème dans tous les sens et le compliquer à outrance

Ce n'est pas le but; l'objectif est d'expliquer les mécanismes et notamment le jeu des images de Grub (stageX).

cep a écrit :

.. Maintenant, si tu veux prouver qu'il n'est pas nécessaire de faire un chainload pour démarrer un autre système linux sur un même pc, bien sûr que ce n'est pas nécessaire, il suffit de configurer menu.lst vers lequel pointe stage1 (pour simplifier) et l'autre système sera lancé. Mais personne n'a prétendu le contraire.

Ce n'est pas du tout le propos. Je cherche à décrire l'astuce utilisée en précisant les mécanismes. Les étapes c et d montrent que dans la solution, on n'active pas un noyau Linux mais Grub lui même (stage1). C'est là toute l'astuce!

Chainloader est un mécanisme qui consiste à lire des blocs et à les exécuter (le +1 signifie que chainloader va lire des blocs, à partir de 0). On peut ainsi amorcer Ntldr (Windows), Solaris ou tout autre système.

Pour Linux, le support d'amorçage est en natif dans Grub et ne requiert pas le mécanisme "générique" du chainloader (voir les instructions comprises dans le menu.lst).

On faut donc cohabiter des techniques différentes et c'est tout l'intérêt de la description. Maintenant, si tu penses que c'est tourner en rond inutilement ... ce doit nécessairement être ainsi roll

Hors ligne

#19 Le 30/12/2007, à 06:12

bob auxonne

Re : [probablement résolu] grub et dual boot entre deux ubuntu

Je suis pas sur d'avoir tout saisi, alors desole si je pose des questions idiotes, mais je prefere ca que de faire une connerie :
Comment je sais que le grub de mon 2e OS est dans le BS et pas dans le MBR?

Voici la fin du menu.list de mon OS principal :

## ## End Default Options ##

title        Ubuntu, kernel 2.6.20-16-generic
root        (hd0,1)
kernel        /boot/vmlinuz-2.6.20-16-generic root=UUID=923875c8-1940-4d20-910c-311f640332f1 ro quiet splash locale=fr_FR
initrd        /boot/initrd.img-2.6.20-16-generic
quiet
savedefault

title        Ubuntu, kernel 2.6.20-16-generic (recovery mode)
root        (hd0,1)
kernel        /boot/vmlinuz-2.6.20-16-generic root=UUID=923875c8-1940-4d20-910c-311f640332f1 ro single
initrd        /boot/initrd.img-2.6.20-16-generic

title        Ubuntu, kernel 2.6.20-15-generic
root        (hd0,1)
kernel        /boot/vmlinuz-2.6.20-15-generic root=UUID=923875c8-1940-4d20-910c-311f640332f1 ro quiet splash locale=fr_FR
initrd        /boot/initrd.img-2.6.20-15-generic
quiet
savedefault

title        Ubuntu, kernel 2.6.20-15-generic (recovery mode)
root        (hd0,1)
kernel        /boot/vmlinuz-2.6.20-15-generic root=UUID=923875c8-1940-4d20-910c-311f640332f1 ro single
initrd        /boot/initrd.img-2.6.20-15-generic

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

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title        Other operating systems:
root


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda5.
title        64 Studio, kernel 2.6.21-1-multimedia-amd64 (on /dev/sda5)
root        (hd0,4)
kernel        /boot/vmlinuz-2.6.21-1-multimedia-amd64 root=/dev/sda5 ro vga=791 splash=silent
initrd        /boot/initrd.img-2.6.21-1-multimedia-amd64
savedefault
boot


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sda5.
title        64 Studio, kernel 2.6.21-1-multimedia-amd64 (single-user mode) (on /dev/sda5)
root        (hd0,4)
kernel        /boot/vmlinuz-2.6.21-1-multimedia-amd64 root=/dev/sda5 ro vga=791 splash=silent single
initrd        /boot/initrd.img-2.6.21-1-multimedia-amd64
savedefault
boot

Donc si je comprends bien, j'efface la partie qui est en dessous de :

### END DEBIAN AUTOMAGIC KERNELS LIST

et je la remplace par :

### END DEBIAN AUTOMAGIC KERNELS LIST

#    64studio chain
title      64studio
root     (hd0,4)
chainloader +1
boot

C'est ca ou j'ai rien pige?

Hors ligne

#20 Le 30/12/2007, à 07:35

Compte anonymisé

Re : [probablement résolu] grub et dual boot entre deux ubuntu

C'est farpait wink

A condition bien sûr que tu ais installé le Grubloader de ta distri 64studio sur /dev/sda5

@+

Dernière modification par Compte anonymisé (Le 30/12/2007, à 07:39)

#21 Le 30/12/2007, à 14:05

cep

Re : [probablement résolu] grub et dual boot entre deux ubuntu

bob auxonne a écrit :

Je suis pas sur d'avoir tout saisi

Pas étonnant vu la façon dont le problème a été inutilement tordu sans intérêt.

Si tu veux lancer un autre système linux par chainload, tu trouveras ici :

http://forum.ubuntu-fr.org/viewtopic.php?id=55813

la procédure qui est très simple.

Hors ligne

#22 Le 30/12/2007, à 14:45

bob auxonne

Re : [probablement résolu] grub et dual boot entre deux ubuntu

Ben merci de votre reponse rapide. Mais bon le grubloader de 64studio ne doit pas etre sur /dev/sda5 parce que ca demarre pas. Erreur 13 ou kekchose comme ca. Du coup j'ai remis comme c'etait avant.
Donc comment je peux faire pour le deplacer au bon endroit?
Je vais jeter un oeil a ton lien cep.

(edit) c'est bon j'ai trouve smile
Le lien donne par cep + http://forum.ubuntu-fr.org/viewtopic.php?id=54628

Dernière modification par bob auxonne (Le 01/01/2008, à 16:31)

Hors ligne

#23 Le 30/12/2007, à 23:57

bob auxonne

Re : [probablement résolu] grub et dual boot entre deux ubuntu

Bon ben ca marche tres bien. Encore merci.

Hors ligne