AS201281 Wiki

Your check engine light is on!

User Tools

Site Tools


gnu_linux_config:grub_reinstall

Réinstallation de GRUB

Lorsque l'on utilise un dual-boot avec Windows et GNU/Linux, réinstaller Windows peut sembler fatal pour la distribution GNU/Linux utilisée. En effet, une fois la réinstallation de l'OS de Microsoft terminée, il n'y a plus aucun menu de sélection de l'OS à démarrer. Ceci est dû au remplacement du contenu du MBR par Windows. En effet, le MBR (Master Boot Record) contient une petite séquence de démarrage qui permet à la machine de savoir où se trouve les fichiers pour démarrer le système et comment les amorcer. Contrairement à GRUB, Windows ne cherche pas à savoir si plusieurs systèmes cohabitent sur une même machine, il se considère comme seul et donc modifie le MBR en conséquence. Le problème c'est que du coup il n'est plus possible de démarrer le système GNU/Linux installé. Voici donc la méthode permettant de résoudre ce problème sans tout réinstaller.

GRUB possède au démarrage du système 2 temps. D'abord, le BIOS s'occupe de charger une toute petite partie de GRUB qui est contenue dans le MBR. Ce petit programme va alors chercher le reste des fichiers de GRUB sur la partition dans laquelle il est installé. Cette partition correspond au /boot du système GNU/Linux. Lorsque Windows s'installe il n'efface donc qu'une infime partie de GRUB (environ 440 octets). Il suffit donc de restaurer cette partie pour retrouver le menu de boot habituel.

Il faut tout d'abord se munir d'un LiveCD de Debian (ou Ubuntu, ou autres distributions) ou éventuellement d'une clé USB bootable afin de démarrer avec. Une fois le système live démarré, il faut ouvrir un terminal et commencé par situer la partition contenant le /boot du système. Si lors de l'installation, la demande de séparer /boot de la racine n'a pas été faite alors ce répertoire doit se trouver sur la même partition que la racine. Pour cette exemple la partition sera /dev/sda5. On passe ensuite en root et on entre la commande suivante.

mount /dev/sda5 /mnt

Cela a pour effet de monter le système de fichiers contenu dans la partition 5 du disque dans le répertoire /mnt. On peut donc alors lancer la commande d'installation de GRUB.

grub-install --root-directory=/mnt /dev/sda

On voit bien le deuxième argument de la commande détermine le disque entier sur lequel il faire remettre GRUB. Ici on ne donne pas de numéro de partition ! Enfin on démonte le système de fichiers précédemment monté.

umount /mnt

Et on peut redémarrer et voir que le menu de GRUB est revenu.

gnu_linux_config/grub_reinstall.txt · Last modified: 2021/01/04 20:41 by 127.0.0.1