MBR: Linux ne voit pas Unix et vice-versa
kloss
-
kloss -
kloss -
Hello à tous
Sur mon DD, j'ai trois OS installés : 1) WinXP, 2) Kanotix, 3) FreeBSD. J'ai toutefois un petit problème : quand j'installe FreeBSD puis Kanotix je me retrouve avec le Boot Manager de FreeBSD, qui repère qu'il y a 3 OS installés, mais qui n'arrive pas à booter sur Linux. Quand j'installe FreeBSD puis Kanotix, je me retrouve avec GRUB, qui voit seulement deux OS installés - Kanotix et WinXP. A chaque fois je n'ai aucun problème avec Windows, mais j'ai l'impression que Unix et Linux n'arrivent pas à cohabiter sur le même disque dur...
Any clue ?
++
Sur mon DD, j'ai trois OS installés : 1) WinXP, 2) Kanotix, 3) FreeBSD. J'ai toutefois un petit problème : quand j'installe FreeBSD puis Kanotix je me retrouve avec le Boot Manager de FreeBSD, qui repère qu'il y a 3 OS installés, mais qui n'arrive pas à booter sur Linux. Quand j'installe FreeBSD puis Kanotix, je me retrouve avec GRUB, qui voit seulement deux OS installés - Kanotix et WinXP. A chaque fois je n'ai aucun problème avec Windows, mais j'ai l'impression que Unix et Linux n'arrivent pas à cohabiter sur le même disque dur...
Any clue ?
++
A voir également:
- MBR: Linux ne voit pas Unix et vice-versa
- Reconstruire mbr clé usb ✓ - Forum Windows
- Convertir gpt en mbr ✓ - Forum Debian
- Convertir mbr en gpt ✓ - Forum BIOS
- Initialiser disque dur mbr ou gpt - Forum Disque dur / SSD
- Jonglerie mbr -gpt - mbr ✓ - Forum Linux / Unix
4 réponses
si il faut faire
freeBSD puis knoppix
et ajouter une entrée manuellement pour BSD dans grub
c'est juste la detection automatique qui ne fonctionne pas c'est documenté par OpenBSD ce cas et c'est identique avec freeBSD.
quand aux unix HPUX TRU64 SOLARIS etc... c'est pareil....
freeBSD puis knoppix
et ajouter une entrée manuellement pour BSD dans grub
c'est juste la detection automatique qui ne fonctionne pas c'est documenté par OpenBSD ce cas et c'est identique avec freeBSD.
quand aux unix HPUX TRU64 SOLARIS etc... c'est pareil....
Il faut modifier le fichier grub.conf (sur redhat) ou menu.lst dans le repertoire /boot/grub/ (fais d'abord une copie de sauvegarde).
Tu prends les 3 lignes que correspondent a Windows et tu fais une copie de ces 3 lignes dans ce fichier a l'endroit ou tu veux (derrier ou avant Linux/Windows). Dans la ligne "title" mais un petit text pour BSD a ton guise. C'est seulement pour l'affichage. Apres il faut modifier la ligne avec root pour mettre la bonne partition pour BSD (hd0,0=1er disque, 1ere partition, hd0,1=1ere, 2nd partition etc.). La 3eme ligne devrait contenir quelque chose comme "Chainloader ???" et est simplement a garder.
Ca ne casse rien avec BSD mais appelle le bootloader de BSD sur sa propre partition (en supposant qu'il soit bien installe).
Apres il faut regarder la valeur de "default" qui designe le boot par default
(0=1er, 1=2n, etc.) si tu veux le garder ou changer.
Apres ca devrait marcher.
Tu prends les 3 lignes que correspondent a Windows et tu fais une copie de ces 3 lignes dans ce fichier a l'endroit ou tu veux (derrier ou avant Linux/Windows). Dans la ligne "title" mais un petit text pour BSD a ton guise. C'est seulement pour l'affichage. Apres il faut modifier la ligne avec root pour mettre la bonne partition pour BSD (hd0,0=1er disque, 1ere partition, hd0,1=1ere, 2nd partition etc.). La 3eme ligne devrait contenir quelque chose comme "Chainloader ???" et est simplement a garder.
Ca ne casse rien avec BSD mais appelle le bootloader de BSD sur sa propre partition (en supposant qu'il soit bien installe).
Apres il faut regarder la valeur de "default" qui designe le boot par default
(0=1er, 1=2n, etc.) si tu veux le garder ou changer.
Apres ca devrait marcher.
OK je vais essayer ça. Juste un renseignement comme ça : tu dis "ça ne casse rien avec BSD mais appelle le bootloader de BSD sur sa propre partition". Quand j'installe BSD j'ai trois choix : 1) mettre le bootmanager dans le MBR ; 2) mettre le bootmanager sur la partition ; ne mettre de bootmanager nulle part.
Si je comprends bien, pour que tout marche, il faut que :
- j'installe d'abord BSD avec le bootmanager sur sa partition (choix 2 au-dessus)
- j'installe ensuite kanotix
- j'édite le fichier de configuration de GRUB pour faire les changements nécessaire
C'est bien ça ?
Si je comprends bien, pour que tout marche, il faut que :
- j'installe d'abord BSD avec le bootmanager sur sa partition (choix 2 au-dessus)
- j'installe ensuite kanotix
- j'édite le fichier de configuration de GRUB pour faire les changements nécessaire
C'est bien ça ?
Excuse moi, je n'ai vu ta reponse que maintenant. C'est descendu trop vite dans le forum.
En principe c'est oui pour le choix 2 de bootloader. Dans ce cas ca devrait utiliser le "chainloader". Le choix 2 me semble le plus sur. Si tu mets le bootloader de BSD sur le MBR ca ecrase Grub ou il sera ecrase par Grub si tu installe Linux apres. Avec le choix 2 tu peux aussi installer BSD apres ou avant Linux comme tu veux.
Cependant, il semble qu'il y ait une deuxieme meilleur facon de faire car en effet Grub sait demarrer BSD directement!
Pour ca tu fais des lignes comme pour Linux mais tu mets la bonne partition de root pour BSD et tu mets le bonne fichier pour ton noyau de BSD. (Meme syntax que pour Linux mais modifier pour le fichier noyau et partition root). Si ca ne marche pas ce n'est pas grave tu utilisera l'autre methode avec le chainloader. La seule raison pour un probleme pourrait etre que Grub ne reconnaisse pas le filesystem utilise par BSD (je ne sais pas ce que BSD utilise, si c'est le "ext2/3" c'est gagne! ).
Dans le fichier grub.conf ou menu.lst tu peux prevoir les deux methodes (3 lignes pour boot direct et 3 lignes pour boot avec chainloader). Ca ne pose aucun probleme de casser quelque chose car Grub ne modifie pas les autres partitions. Il ne modifie que le MBR (a son installation) et utilise des fichier sur la partition Linux. En fait, Grub est une shell qui tourne avec son propre petit systeme d'exploitation et qui sait gerer des filesystems comme ext2, reiser, fat, et d'autres. Comme ca il est capable de charger un noyau quelconque (Linux ou BSD) simplement comme un fichier.
De plus, meme si le fichier de config ne marche pas de tout (petite fautes avec les noms de fichiers etc.) on peut intervenir de facon interactive pour rendre le boot possible. C'est completement different a Lilo qui est moins sophistique.
Je t'ai mis une page de la doc info de grub:
----------------------------
How to boot an OS directly with GRUB
------------------------------------
Multiboot (*note Multiboot Specification: (multiboot)Top.) is the
native format supported by GRUB. For the sake of convenience, there
are also support for Linux, FreeBSD, NetBSD and OpenBSD. If you want to
boot other operating systems, you will have to chain-load them (*note
Chain-loading::).
Generally, GRUB can boot any Multiboot-compliant OS in the following
steps:
1. Set GRUB's root device to the drive where the OS images are stored
by the command `root' (*note root::).
2. Load the kernel image by the command `kernel' (*note kernel::).
3. If you need modules, load them with the command `module' (*note
module::) or `modulenounzip' (*note modulenounzip::).
4. Run the command `boot' (*note boot::).
Linux, FreeBSD, NetBSD and OpenBSD can be booted in a similar
manner. You can load a kernel image by the command `kernel' and then
run the command `boot'. If the kernel requires some parameters, just
append the parameters to `kernel', after the file name of the kernel.
Also, please refer to *Note OS-specific notes::, for the information on
your OS-specific issues.
---------------------------------------------------------------
En principe c'est oui pour le choix 2 de bootloader. Dans ce cas ca devrait utiliser le "chainloader". Le choix 2 me semble le plus sur. Si tu mets le bootloader de BSD sur le MBR ca ecrase Grub ou il sera ecrase par Grub si tu installe Linux apres. Avec le choix 2 tu peux aussi installer BSD apres ou avant Linux comme tu veux.
Cependant, il semble qu'il y ait une deuxieme meilleur facon de faire car en effet Grub sait demarrer BSD directement!
Pour ca tu fais des lignes comme pour Linux mais tu mets la bonne partition de root pour BSD et tu mets le bonne fichier pour ton noyau de BSD. (Meme syntax que pour Linux mais modifier pour le fichier noyau et partition root). Si ca ne marche pas ce n'est pas grave tu utilisera l'autre methode avec le chainloader. La seule raison pour un probleme pourrait etre que Grub ne reconnaisse pas le filesystem utilise par BSD (je ne sais pas ce que BSD utilise, si c'est le "ext2/3" c'est gagne! ).
Dans le fichier grub.conf ou menu.lst tu peux prevoir les deux methodes (3 lignes pour boot direct et 3 lignes pour boot avec chainloader). Ca ne pose aucun probleme de casser quelque chose car Grub ne modifie pas les autres partitions. Il ne modifie que le MBR (a son installation) et utilise des fichier sur la partition Linux. En fait, Grub est une shell qui tourne avec son propre petit systeme d'exploitation et qui sait gerer des filesystems comme ext2, reiser, fat, et d'autres. Comme ca il est capable de charger un noyau quelconque (Linux ou BSD) simplement comme un fichier.
De plus, meme si le fichier de config ne marche pas de tout (petite fautes avec les noms de fichiers etc.) on peut intervenir de facon interactive pour rendre le boot possible. C'est completement different a Lilo qui est moins sophistique.
Je t'ai mis une page de la doc info de grub:
----------------------------
How to boot an OS directly with GRUB
------------------------------------
Multiboot (*note Multiboot Specification: (multiboot)Top.) is the
native format supported by GRUB. For the sake of convenience, there
are also support for Linux, FreeBSD, NetBSD and OpenBSD. If you want to
boot other operating systems, you will have to chain-load them (*note
Chain-loading::).
Generally, GRUB can boot any Multiboot-compliant OS in the following
steps:
1. Set GRUB's root device to the drive where the OS images are stored
by the command `root' (*note root::).
2. Load the kernel image by the command `kernel' (*note kernel::).
3. If you need modules, load them with the command `module' (*note
module::) or `modulenounzip' (*note modulenounzip::).
4. Run the command `boot' (*note boot::).
Linux, FreeBSD, NetBSD and OpenBSD can be booted in a similar
manner. You can load a kernel image by the command `kernel' and then
run the command `boot'. If the kernel requires some parameters, just
append the parameters to `kernel', after the file name of the kernel.
Also, please refer to *Note OS-specific notes::, for the information on
your OS-specific issues.
---------------------------------------------------------------
Ca marche ; c'était exactement ça !
A la fin du fichier /boot/grub/menu.lst j'avais :
J'ai simplement fait un copié-collé pour BSD en changeant 2 trucs :
=> Merci beaucoup pour ton aide kmf !
++
A la fin du fichier /boot/grub/menu.lst j'avais :
title Windows 95/98/ME rootnoverify (hd0,1) makeactive chainloader + 1 savedefault
J'ai simplement fait un copié-collé pour BSD en changeant 2 trucs :
title FreeBSD rootnoverify (hd0,0,a) makeactive chainloader + 1 savedefault
=> Merci beaucoup pour ton aide kmf !
++
Concrètement je fais comment pour ajouter une entrée manuellement pour BSD dans Grub ?
++