Invite de sauvetage de Grub, réparation de Grub

30

J'ai récemment repartitionné mon disque dur et j'ai endommagé GRUB sur mon système. Au démarrage, je reçois l'invite de sauvetage GRUB et je dois suivre les étapes suivantes pour démarrer normalement:

set root=(hd0,msdos6)
set prefix=(hd0,msdos6)/boot/grub
insmod normal
normal

(Ces étapes ont été trouvées sur un autre post ici!).

Je suis très fatigué de répéter cela à chaque démarrage, comment puis-je réparer définitivement GRUB?

Codito ergo sum
la source
1
Deux possibilités: (1) Boot-Repair (2) Super Grub Rescue Disk Voir: http://linuxnorth.wordpress.com/2012/02/07/repairing-grub/
CentaurusA
1
Les étapes répertoriées dans la question de démarrage ont fonctionné pour moi. Il faut cependant se souvenir correctement de la partition de Linux.
TheCrazyProgrammer
1
Comme d'autres l'ont dit, faire update-grub puis grub-install / dev / sda résout le problème.
TheCrazyProgrammer
Voir la réponse de Karthik pour «fichier introuvable»: askubuntu.com/questions/443241/…
samis

Réponses:

12

Pour corriger grub rescue, procédez comme suit:

  • La première chose est que nous devons démarrer notre système d'exploitation uniquement après avoir corrigé grub.

    #to start OS-->
    error: unknown filesystem.
    Entering rescue mode...
    grub rescue>

    Lorsque vous voyez une telle erreur, nous devons d'abord vérifier que «Filesystem» est ext2 '

    grub rescue> ls        # type 'ls' and hit enter to see drive partition.
    (hd0) (hd0,msdos6) (hd0,msdos5) (hd0,msdos4) ...   # you will see such things 

ce sont nos lecteurs maintenant, nous devons vérifier lequel est ext2.

grub rescue>ls (hd0,msdos6)
error: disk 'hd,msdos6' not found.

optez pour un autre lecteur jusqu'à ce que vous obteniez «Filesystem is ext2».

grub rescue>ls (hd0,msdos5)
error: disk 'hd,msdos5' not found.
grub rescue>ls (hd0,msdos2)
(hd0,msdos2): Filesystem is ext2        # this is what we want

définissez maintenant le chemin

grub rescue>set boot=(hd0,msdos2)
grub rescue>set prefix=(hd0,msdos6)/boot/grub
grub rescue>insmod normal
grub rescue>normal
  • Maintenant, corrigez simplement grub en suivant la commande sur n'importe quel Ubuntu

    sudo grub-install /dev/sda
    sudo apt-get update
    # to update grub
    sudo apt-get upgrade

assurez-vous que vous devez mettre à jour grub après vous être connecté au système d'exploitation

Roshan Sherkure
la source
1
L'OP sait déjà comment démarrer dans son système d'exploitation. Cette réponse pourrait être plus concise.
Elder Geek
1
Cette réponse m'a été utile. Mon problème n'était pas exactement le même que la question d'origine, donc les informations supplémentaires sont devenues utiles.
retroj
1
+1 Cela a été résolu par des problèmes lors d'une installation de KDE Neon échouée.
Darren Lewis
erreur: fichier '/boot/grub/i386-pc/normal.mod' introuvable Que dois-je faire?
BhushanDhamale
7

J'essaierais de courir update-grubafin de construire grub.conf/ à grub.cfgnouveau.

Vous pouvez également essayer d'utiliser grub-install, mais je pense que celui-ci n'aidera pas.

Si vous souhaitez en savoir plus, vérifiez d'abord la version dont vous disposez (GRUB 1 ou 2) en exécutant:

dpkg -l | grep grub

Si vous avez GRUB 2, vous pouvez utiliser le tutoriel suivant: http://www.dedoimedo.com/computers/grub-2.html

Bien sûr, faites attention à GRUB car nous parlons du processus de démarrage, qui est un mécanisme sensible.

idgar
la source
2
grub-install <correct-drive, i.e. /dev/sda>et l'a update-grub2finalement fait pour moi sur Ubuntu 15.04
Greg Kramida
6

Il me semble que cela update-grubassemble le grub.cfg, mais vous devez également (re) exécuter grub-install(ou grub-setup?) Pour mettre à jour les secteurs MBR / boot avec les informations de base - sur quelle partition pour trouver le grub.cfgfichier et apparemment ces modules.

mmaruska
la source
4

Lorsque vous obtenez une invite de secours GRUB, cela signifie que le chargeur de démarrage GRUB ne peut pas localiser ses modules à partir de la partition qui les contient /boot/grub. La raison en est que le code qui tient dans l' enregistrement MBR du lecteur est minuscule, et donc son objectif principal est de localiser et de charger le reste du code du chargeur de démarrage. Une fois qu'il a chargé ses modules, il peut présenter le menu GRUB et gérer le reste du processus de démarrage. S'il ne trouve pas les modules, il présente une invite de sauvetage très limitée.

Donc, ce que vous voyez est totalement normal si vous repartitionnez, cassant ainsi la référence que le chargeur de démarrage avait à la partition contenant les modules de démarrage.

Étant donné que vous pouvez démarrer manuellement, la solution la plus simple consiste à démarrer et à réinstaller manuellement le chargeur de démarrage dans le MBR afin qu'il ait la référence correcte à votre partition. La façon de le faire est:

sudo grub-install /dev/sda

Cela suppose que vous démarrez à partir de /dev/sda(la plupart des cas, mais sinon, remplacez-le par le bon lecteur).

Cette solution est beaucoup plus simple que d'utiliser le boot-repair, mais si vous n'êtes pas sûr, cela peut être plus approprié.

bcbc
la source
1
+1 pour expliquer ce qui se passe en termes faciles à comprendre.
Monotasker
2

La manière la plus simple serait:

sudo apt-get purge grub-pc grub-pc-bin

Ensuite:

sudo apt-get install grub-pc grub-pc-bin
hyao
la source
2
Il s'agit d'une approche de marteau qui fonctionnera probablement, mais il est plus simple de réinstaller le chargeur de démarrage pour mettre à jour la référence à la partition (qui a été rompue par la répartition).
bcbc
1

Résoudre le cas ultime d'échec de sauvetage de grub: problèmes: 1. i386-pc non trouvé **** mode normal ne fonctionne pas cp ne fonctionne pas search.file ne fonctionne pas . Tout peut être résolu par les commandes suivantes, fonctionne également avec Ubuntu 18.04. Étape 1: recherchez le dossier racine contenant le répertoire.

ls

Par exemple, si le dossier racine se trouve dans (hd0, gpt4), tapez

voici à quoi ça ressemble

ls (hd0, 4)/

Vous verrez quelques fichiers ou dossiers:

mon fichier racine est dans (hd0, gpt4)

Maintenant, si vous avez de la chance, procédez comme suit:

set root=(hd0, 4)
set prefix=(hd0, 4)/boot/grub/
insmode normal
normal

Si vous avez de la chance, cela résoudra votre problème. Parfois, les gens ont des problèmes comme le dossier 1386-pc. Dans ce cas, vous devez regarder où se trouve votre dossier grub. Si vous avez un problème comme:

boot / grub / i386-pc / normal.mod non trouvé

Dans ce cas, vous devez trouver le dossier grub2. Si vous avez grub2 et à l'intérieur de ce dossier, vous pourriez avoir votre dossier i386-pc. Ensuite, vous devez taper

prefix=(hd0, 4)/grub2/

ça va marcher. Si vous n'avez pas grub2 et que vous ne parvenez pas à localiser le dossier i386-pc, procédez comme suit:

grub rescue>set root=(hd0, 4)
grub rescue>set prefix=(hd0, 4)/usr/lib/grub
grub rescue>insmode normal
grub rescue>normal

après avoir exécuté cette commande, votre mode de sauvetage grub ira au menu grub . Vous pouvez maintenant exécuter la commande linux.

commande linux

grub>set root =(hd0, 4)
grub>set prefix= (hd0, 4)/boot
grub>insmaod linux
grub>linux vmlinuz.....-generic
grub>intrd (hd0, 4)/boot/...-generic
grub>boot

Il vous amènera au mode de récupération. De là, vous pouvez choisir parmi les différentes options de récupération disponibles. Si cela n'aide pas, vous devez télécharger un système d'exploitation Ubuntu, par exemple Ubuntu 18.04. Vous pouvez télécharger à partir du lien suivant: lien ubuntu

Créez un lecteur de démarrage et ouvrez votre ordinateur avec ce disque en direct. Cela ne nuira à aucun de vos documents. Voir une vidéo sur la façon de procéder. Vous devez maintenant trouver votre dossier i386-pc. Ce sera dans

rootContainingDirectory-usr-lib-grub

Copiez maintenant l'i386-pc dans le dossier boot / grub /. vous pouvez avoir un problème d'autorisation pour surmonter ce type de la commande suivante:

sudo nautilus

Maintenant, faites un clic droit sur ce répertoire et changez de propriétaire en utilisateur de session live ubuntu

suivez la vidéo: changement de permission

Maintenant, après l'avoir collé dans le dossier de démarrage / grub, redémarrez et supprimez le lecteur USB. Cette fois, utilisez le 1er jeu de commandes, cela fonctionnera. Si la commande cp fonctionne, vous pouvez également le faire à partir du menu grub.

Sanat
la source