Comment utiliser GRUB Rescue pour réparer Linux

Jordan Gloor / How-To Geek

Si vos shells GRUB affichent une invite « grub> », vous pouvez utiliser le ls, set, linuxet initrd commandes pour réparer votre système Linux. Si à la place vous voyez une invite « grub rescue> », utilisez set, insmod, linuxet initrd commandes pour démarrer votre PC.

Si votre ordinateur Linux ne peut pas démarrer dans son système d’exploitation, vous risquez de vous retrouver à regarder une invite dans le shell GRUB. Suivez ces étapes pour réparer vos processus de démarrage cassés.

Lorsque votre chargeur de démarrage ne démarre pas

Il y a très peu de problèmes informatiques qui font sombrer votre cœur aussi profondément et rapidement qu’un échec de démarrage. Sans un système d’exploitation fonctionnel, votre ordinateur n’est pas vraiment un ordinateur.

Il peut s’agir d’un problème très opaque, sans moyen facile d’explorer la cause profonde. Sans accès à Linux, vous ne pouvez utiliser aucun des outils et processus de diagnostic habituels que vous utiliseriez pour enquêter sur le problème. Et sans déterminer quel est le problème, comment pouvez-vous le résoudre ?

Sous Linux, GRUB est le logiciel qui contrôle le processus de démarrage. Si plusieurs systèmes d’exploitation sont installés, vous pouvez choisir celui sur lequel vous souhaitez démarrer.

GRUB est contrôlé par sa configuration. Il s’appuie également sur d’autres fichiers de support pour remplir ses fonctions. Si l’un d’entre eux manque ou est corrompu, GRUB ne fonctionnera pas. Les modifications apportées aux disques durs et aux partitions de votre ordinateur doivent être reflétées dans la configuration de GRUB. Si ce n’est pas le cas, les instructions de GRUB n’auront aucun sens et votre processus de démarrage ne fonctionnera pas.

En passant, ce que nous appelons tous GRUB est en fait GRUB 2. Il s’agit d’une version avancée de GRUB qui a été publiée en 2012. Entre autres changements, il a changé la façon dont le fichier « grub.cfg » a été créé, et vous permet démarrer à partir d’un support amovible.

Si GRUB ne peut pas charger un système d’exploitation, vous vous retrouverez devant une invite dans le shell GRUB. Il s’agit d’un environnement minimaliste qui vous permettra d’effectuer une poignée d’actions. Fait correctement, cependant, ces étapes peuvent ressusciter votre ordinateur.

Il existe deux shells GRUB différents. Selon la cause première du problème, vous pourriez vous retrouver devant une invite du shell GRUB :

grub>

ou dans un GRUB sauvetage invite du shell :

grub rescue>

Le shell de secours GRUB est encore plus restreint que le shell GRUB, mais il contient toujours suffisamment de punch pour que votre ordinateur démarre. Une fois que votre ordinateur a démarré, vous êtes dans une bien meilleure position pour remédier à la cause première.

Utilisation du shell GRUB

Le shell GRUB est une interface de ligne de commande qui vous permet d’utiliser un petit sous-ensemble de commandes Linux. Si vous vous retrouvez ici au lieu de votre écran de connexion habituel, cela signifie que votre processus de démarrage est foiré.

L'invite du shell GRUB

Les commandes auxquelles vous avez accès ne sont pas les mêmes que les versions Linux habituelles. Par exemple, le shell GRUB ls la commande n’est pas le Bash ls commande. Il a très peu de choses en commun avec lui. Nous pouvons le voir en utilisant le --help option.

ls --help

Utilisation de l'option --help avec la version du shell GRUB de ls

Il répertorie cinq options seulement. C’est bien loin des dizaines d’options prises en charge par ls à Basch. Néanmoins, même avec notre palette de commandes quelque peu en sourdine, nous pouvons toujours rectifier la situation.

À l’invite, tapez ls et appuyez sur « Entrée ».

ls

La sortie de la version du shell GRUB de ls, montrant les lecteurs et les partitions

Sur cet ordinateur, il répertorie trois éléments.

  • (hd0) est le premier disque dur.
  • (hd0,gpt1) est la première partition du premier disque dur.
  • (hd0, gpt2) est la deuxième partition sur le premier disque dur.

L’étiquette « gpt » signifie table de partition GUID. Nous devons inclure les parenthèses « ()” lorsque nous référençons une partition, mais nous pouvons omettre l’étiquette.

Pour regarder les partitions à tour de rôle, nous utiliserons ls.

ls (hd0,1)
ls (hd0,2)

Utilisation de la version du shell GRUB de ls pour identifier la partition Linux

Nous avons découvert que la deuxième partition contient un système de fichiers Linux. Nous allons étudier un peu plus loin en examinant le répertoire racine de cette partition.

ls (hd0,2)/

Utilisation de la version shell GRUB de ls pour examiner une partition particulière

Il s’agit clairement de la partition Linux, avec le répertoire de démarrage dessus. C’est là que les fichiers GRUB, les images de démarrage Linux et d’autres fichiers de démarrage sont stockés.

Sur cet ordinateur, nous devrons référencer la partition (hd0,2) lorsque nous émettons nos commandes. Sur votre ordinateur, vous utiliserez la partition sur laquelle vous trouvez votre installation Linux.

Nous pouvons utiliser le cat pour rechercher des fichiers texte en ajoutant le chemin du répertoire et le nom du fichier au nom de la partition, comme ceci :

cat (hd0,2)/etc/issue

Regarder la version de Linux en utilisant la commande cat dans le shell GRUB

Sur les installations multi-boot, c’est un moyen utile de vérifier que vous êtes sur la bonne partition. C’est aussi idéal pour regarder à l’intérieur des fichiers de configuration.

Ici, nous utilisons le ls commande avec le -l (long et -h (tailles lisibles par l’homme) pour répertorier les fichiers dans le répertoire « / boot ».

ls -lh (hd0,2)/boot

Lister les fichiers dans le répertoire /boot en utilisant la version GURB de ls

Pour que cet ordinateur démarre, nous devons indiquer à GRUB que notre partition Linux nouvellement découverte contient les fichiers de démarrage.

set root=(hd0,2)

Nous devons spécifier à partir de quel noyau Linux démarrer. Nous faisons cela avec le linux commande. Notez que nous devons également fournir le répertoire racine en utilisant le schéma de nommage habituel des disques durs et des partitions Linux.

linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2

Sur notre exemple d’ordinateur, nous utilisons (hd0) qui est le premier disque dur. C’est appelé sda dans la nomenclature habituelle de Linux. Nous avons trouvé que la deuxième partition est la partition Linux, nous devons donc spécifier sda2.

Votre machine peut être différente. Par exemple, si votre partition Linux est signalée comme (hd2,1) cela signifie partition un sur le troisième disque dur, ou sdc1.

Nous devons également spécifier l’image du système de fichiers basée sur la RAM à utiliser au démarrage de l’ordinateur. Cela doit utiliser le même composant numérique que le noyau Linux que nous utilisons.

initrd /boot/initrd.img-6.2.0-20-generic

Définition des paramètres de démarrage dans le shell GRUB

Maintenant, pour démarrer notre système, tapez « boot » et appuyez sur « Entrée ».

Cela devrait démarrer votre ordinateur sous Linux. Cela nous a remis en marche, mais nous devons encore réparer GRUB afin que nous n’ayons pas besoin de le faire à chaque fois que nous démarrons notre ordinateur.

Nous courrons update-grub. Cela analysera notre système, identifiera les systèmes d’exploitation et créera une nouvelle configuration GRUB. Nous devons l’exécuter en tant qu’utilisateur root.

sudo update-grub

Exécution de update-grub pour reconstruire le fichier grub.cfg

Rarement, vous devrez peut-être également réinstaller le chargeur de démarrage GRUB, en utilisant grub-install.

sudo grub-install /dev/sda

Notez que vous n’avez pas besoin de spécifier sur quelle partition installer, juste sur quel lecteur. Dans les installations normales, c’est le même lecteur que votre Linux.

La preuve du pudding vient avec le prochain redémarrage. Votre ordinateur devrait redémarrer normalement.

EN RAPPORT: Comment configurer les paramètres du chargeur de démarrage GRUB2

Utilisation du shell de sauvetage GRUB

Selon la nature du problème de démarrage, il est possible que vous ne tombiez pas dans le shell GRUB. Vous pourriez être laissé dans le GRUB sauvetage mode. Si tel est le cas, votre invite ressemblera à ceci :

grub rescue>

Les commandes que nous devons émettre dans ce shell sont différentes. Nous devons utiliser ls pour trouver la partition Linux, comme si vous utilisiez le shell GRUB. Après avoir identifié la partition Linux, vous pouvez continuer et entrer ces commandes.

N’oubliez pas d’utiliser les identifiants de lecteur et les numéros de version du noyau qui sont corrects pour votre ordinateur. Le insmod La commande charge les modules du noyau.

set prefix=(hd0,2)/boot/grub
set root=(hd0,2)
insmod normal
insmod linux
linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2
initrd /boot/initrd.img-6.2.0-20-generic

Définition des paramètres de démarrage dans le shell de secours GRUB

Vous pouvez ensuite taper « boot » et appuyer sur « Entrée » pour redémarrer votre ordinateur. Une fois qu’il a redémarré et que vous vous êtes connecté, mettez à jour GRUB avec le update-grub commande.

Autres remèdes possibles

Si le problème s’avère être des fichiers de démarrage manquants, tels que les fichiers « vmlinuz » et « initrd.img », vous pouvez démarrer votre ordinateur à partir d’un DVD Live ou d’une clé USB Linux amorçable, et copier les fichiers manquants en place.

Notez que les fichiers « vmlinuz » et « initrd.img » devoir contiennent les mêmes numéros de version, car ils fonctionnent comme une paire appariée.

EN RAPPORT: Comment créer une clé USB Linux Live amorçable sur votre Mac

Source-135