Ceci est une ancienne révision du document !
Installer GRUB sur le secteur d'amorçage d'une partition
Cette page décrit comment installer GRUB2 sur le secteur d'amorçage d'une partition (BS pour Boot Sector), et non pas sur le secteur principal d'amorçage (MBR pour Master Boot Record).
Ceci est intéressant si :
- Vous ne voulez pas modifier le MBR.
- Vous voulez une installation de GRUB spécifique à un système.
Cas général : GRUB2 (Ubuntu 9.10 et suivantes)
GRUB2 est la version de GRUB par défaut de Ubuntu 9.10 et suivantes.
Pour installer GRUB2 sur le secteur d'amorçage d'une partition, il suffit de :
- démarrer sur l'OS (Ubuntu 9.10 ou ultérieure) dont vous souhaitez re-installer GRUB
- connaitre le nom de la partition (par exemple /dev/sdb5) de cet OS grâce à la commande suivante qui liste les noms des partitions :
sudo fdisk -l
et cette commande qui liste les autres OS présents sur votre ordinateur (l'OS que vous utilisez n'apparait pas, vous pouvez donc trouver sa partition par déduction) :
sudo os-prober
- puis une fois que vous connaissez le nom de la partition sur laquelle vous désirez installer GRUB (par exemple /dev/sde7), il suffit de saisir la commande suivante :
sudo grub-install --force /dev/sde7
Voilà, votre menu d'amorcage GRUB2 est maintenant installé sur le secteur d'amorçage de la partition de votre OS.
Remarque : souvent, il vous sera conseillé de mettre ensuite à jour votre amorceur principal (celui qui s'affiche par défaut lors du démarrage de votre PC). S'il s'agit de GRUB, il suffit pour cela de démarrer sur l'OS principal et saisir la commande sudo update-grub
(plus de détails).
Cas particulier : GRUB Legacy (Ubuntu 8.04 LTS)
Cette méthode n'est valable que si vous souhaitez re-installer le GRUB d'un Ubuntu possédant GRUB Legacy (Ubuntu 8.04 LTS, ou Ubuntu obtenu par migration depuis Ubuntu 9.10).
l'exemple ci-dessous est trop complexe, n'y a-t-il pas un exemple plus simple ?
Exemple choisi : Vous avez deux versions d'Ubuntu installées, et les noyaux de la dernière version ne sont pas disponibles dans le premier GRUB.
Nous appellerons système principal la première installation, et système secondaire, la deuxième installation.
Résumé des opérations à faire :
- Installer le paquet grub
- Copier les fichiers de grub dans /boot/grub
- Configurer menu.lst
- Installer grub dans le secteur d'amorçage
Amorcer le système secondaire manuellement
Une fois le système secondaire installé, le système principal ne permet pas de le démarrer car celui-ci n'est pas listé dans le menu d'amorçage.
Pour l'amorcer manuellement :
- Au menu grub, choisissez e (éditer)
- entrer root (hd0,X), où X est le numéro de partition du système secondaire (en retranchant 1, suivant la convention de nommage des partitions de grub, puis valider
- entrer kernel /boot/vmlinuz-<version> root=<périphérique>, où le périphérique correspondant à la partition racine du système secondaire (de la forme /dev/sdXY).
- entrer initrd /boot/initrd.img-<version>
- entrer boot
: indiquer comment déterminer à coup sûr les noms de partitions (=/dev/sdXY). Les partitions ubuntu maintenant nommées par leur uuid1) en lieu de /dev/sdXY. On peut aussi utiliser des labels, mais il faut les avoir créer auparavant.
: indiquer dans un script grub comment retrouver le nom des versions de kernel et initrd (commande find ? )
Sur le système secondaire
Installer le paquet grub
Normalement, grub a été installé avec Ubuntu. Sinon, allez voir installez le paquet GRUB
Fichiers dans /boot/grub
Créer le dossier /boot/grub :
$ sudo mkdir /boot/grub
Copier les fichiers suivant votre_architecture (i386-pc ou x64-pc) :
$ sudo cp /usr/lib/grub/<votre_architecture>/* /boot/grub
menu.lst
Exécutez le script update-grub qui recréera un fichier par défaut. Validez par y lorsque le script vous posera la question.
$ sudo update-grub
Secteur d'amorçage
Trouvez le périphérique correspondant à la partition racine (de la forme /dev/sdXY), puis installez-y grub :
$ sudo grub-install <périphérique>
Sur le système principal
éditez le fichier /boot/grub/menu.lst/
pour y ajouter l'entrée du grub secondaire en suivant la méthode Grub comme relais (Chainloader).
Redémarrez ensuite l'ordinateur.