Comment réinstaller grub dans le secteur de démarrage du disque dur ?


Les distributions Linux utilisent grub pour démarrer le chargeur de démarrage. Il est installé dans le secteur de démarrage du disque dur et est appelé par le micrologiciel de l’ordinateur (BIOS ou UEFI sur les ordinateurs récents) lorsqu’il est sur le point de démarrer à partir du disque dur.

Dans des cas particuliers, le secteur de démarrage peut être corrompu. Il peut y avoir plusieurs raisons à cela, comme une anomalie physique sur le disque (qui a malheureusement dû être remplacé), ou une mauvaise manipulation de l’outil de configuration du périphérique de stockage. Certains anciens virus ont également attaqué cette zone.
Dans d’autres cas, en particulier lors de l’utilisation d’un double démarrage Windows/Linux, le logiciel d’installation de Windows peut écraser le secteur de démarrage (par exemple lors d’une réinitialisation de Windows ou lors d’une mise à jour majeure du système d’exploitation de Microsoft) pour supprimer grub. Dans ce cas, vous ne pouvez plus démarrer sur les distributions Linux, mais uniquement sur Windows.

Ici, nous allons résoudre un tel problème et voir comment réinstaller grub dans le secteur de démarrage d’un disque dur.

Notez que les opérations décrites ci-dessous ne sont pas anodines et peuvent endommager un système sain si elles sont utilisées hors contexte, ou sans prêter attention à ce que vous faites. En aucun cas l’auteur ou hacks-help-computer.info ne pourra être tenu responsable des dommages au système causés par une mauvaise utilisation des opérations décrites.

Démarrez votre ordinateur à partir du support d’installation de la distribution Linux

Le support d’installation d’Ubuntu 20.04 sera utilisé ici comme exemple. A proprement parler, on ne lance pas l’installeur, mais on utilise la clé en mode « live USB ». Pour plus d’informations sur ce qu’est une clé USB en direct et comment l’utiliser, je vous recommande de lire l’article décrivant comment essayer Ubuntu sans modifier votre ordinateur.

Monter diverses ressources nécessaires et chrooter

Derrière ce titre quelque peu ésotérique se cachent quelques commandes Linux nécessaires à la préparation de l’environnement d’installation de grub. En pratique cela nécessite de comprendre l’environnement dans lequel il aura le boot load, mais aussi le matériel sur lequel il sera installé (ici, le disque dur).
C’est ce qu’on appelle chroot (change root = changer la racine du système), qui nous permet de sortir du contexte « live USB » et de nous mettre dans le contexte d’un système Linux existant pour démarrer et installer grub. Mais avant de quitter le contexte USB en direct, nous devons effectuer une opération de préparation, qui est requise par le contexte » enraciné » Accès direct au matériel de l’ordinateur.
Toutes les actions seront des commandes exécutées dans un émulateur de terminal.

A Voir  Qu'est-ce que la gestion de la relation client ?

Créez le dossier pour chrooter et montez la partition contenant le système Linux nous voulons voir comment réinstaller grub

Vous devez créer un répertoire vide dans l’arborescence des fichiers du système live, par exemple dans /media :

sudo mkdir /media/ubuntu

Nous devons maintenant déterminer quelle partition de disque dur contient le système Linux que nous voulons réparer au démarrage.Pour ce faire, nous utilisons d’abord la commande lsblk Il répertorie les périphériques de type « bloc » (c’est-à-dire les périphériques de stockage).

lsblk /dev/vda et ses partitions (vda1, vda2, vda3, vda5) sont remontés par la commande lsblk.

Nous recherchons tous les appareils de type « disque » dans les résultats. Dans notre exemple, il n’y en a qu’un, et c’est le vda : /dev/vda Plus précisément. Dans les systèmes modernes, nous trouvons aussi souvent des périphériques de type disque dur nommés /dev/sda, /dev/sdb.

Ici, nous savons que nous avons installé Ubuntu sur une partition de 20 Go, il n’y a donc pas d’ambiguïté, notre système est installé sur la partition numérotée 5, qui est /dev/vda5.
Il est important de trouver la bonne partition, sinon notre chroot ne réussira pas.

En cas de doute, nous pouvons fournir une confirmation supplémentaire de la commande disque Démarrez sur ce que nous pensons être le bon périphérique de disque :

sudo fdisk -l /dev/vda La commande fdisk montre que /dev/vda5 est une partition Linux.

Nous confirmons ici que /dev/vda5 est une partition contenant un système de fichiers de type Linux, sur le seul disque dur de notre système.Nous pourrons monter ce système de fichiers dans notre répertoire pré-créé /media/ubuntu en utilisant la commande montagne.

sudo mount /dev/vda5 /media/ubuntu

A Voir  La première mondiale : Xiaomi sans lumière LED bleue

Monter /dev, /proc et /sys

Ce sont trois répertoires dans une arborescence Linux contenant des fichiers représentant les composants matériels de l’ordinateur (par exemple, processeur, mémoire, disque dur)… Ces trois répertoires appartiennent au contexte système « live USB » car le noyau Linux est chargé par le système Boot. Cependant, nous avons besoin que ces répertoires, et les composants matériels derrière eux, soient accessibles par notre contexte « chroot ». Pour cela, nous allons les monter dans le dossier /media/ubuntu à l’aide des 3 commandes suivantes :

sudo mount –bind /dev /media/ubuntu/dev

sudo mount -t proc /proc /media/ubuntu/proc

sudo mount -t sysfs /sys /media/ubuntu/sys

chrooter

Maintenant que toutes les conditions sont remplies pour exécuter un chroot, à travers lequel l’installateur de grub a non seulement accès au contexte du système que nous voulons réparer, mais a également un accès direct au matériel, comme le secteur de démarrage du disque en cours de réparation .
Cela peut être fait simplement avec la commande suivante :

sudo chroot /media/ubuntu

grub-install : comment réinstaller grub sur un secteur de démarrage du disque dur

Maintenant, la réinstallation de grub est très rapide en invoquant la commande grub-install sur le disque dur où l’installation doit être effectuée (/dev/vda ici).

grub-install /dev/vda La commande grub-install a réinstallé grub sur notre disque dur /dev/vda et cela a bien fonctionné.

L’opération est terminée. Cependant, on peut être rassuré en demandant à grub de relire et d’appliquer la config laissée avant la gestion des pannes/erreurs etc… avec la commande suivante (optionnelle) :

update-grub La commande update-grub relit et applique la configuration de grub. Ici, nous voyons, entre autres, que plusieurs noyaux Linux ont été détectés ainsi que des systèmes Windows 10.

Enfin, il faut quitter le chroot avec la commande exit…

… puis redémarrez l’ordinateur et il devrait à nouveau afficher notre menu de démarrage grub manquant avec le dernier paramètre que nous avons utilisé.