J'ai récemment installé arch (j'espère avec succès) sur ma machine. Quand je suis allé redémarrer, j'ai eu un problème. J'ai un écran noir avec un texte disant
Grub loading.
Welcome to GRUB!
error: file '/grub/i386-pc/normal.mod' not found.
Entering rescue mode...
grub rescue>
J'ai depuis googlé à la recherche d'une réponse. J'en ai presque trouvé un ici sur les forums Ubuntu, puis j'ai vu l'un des commentaires disant qu'il était faux. Il y a aussi une autre réponse mais je ne sais pas si je veux installer à partir du CD live par peur de gâcher les choses.
Vous comprendrez ma crainte si vous aussi avez passé 7 heures à configurer cela après avoir constamment rencontré des problèmes de partitionnement, de commande, de didacticiel et de système. Quelle joie.
Quelqu'un connaît une solution simple pour faire fonctionner grub?
grub-install
. Vous n'avez pas à répéter l'une des étapes, utilisez-les simplement comme guide pour vous faire chrooter à partir d'un liveCD.Réponses:
Une chose vraiment ennuyeuse ...
Comme apparemment le répertoire / boot / grub / i386-pc n'était tout simplement pas en place, j'ai finalement résolu le problème en copiant l'ensemble / usr / lib / grub / i386-pc vers / boot / grub. C'est tout.
la source
Je suis au milieu d'un problème similaire (d'ailleurs d'ailleurs sur arch)
Grub ne parvient pas à trouver ce fichier et à s'exécuter car il utilise un «préfixe» incorrect
Voici ce que vous faites. Vous démarrez en mode de sauvetage grub, puis vous découvrez simplement comment le faire démarrer.
D'abord, vous exécutez set cela listera les variables, par exemple la mienne est
Maintenant, le préfixe est la variable où grub recherche le fichier normal.mod. Dans mon cas hd1, msdos3 est identique à / dev / sdb3 (de même, hd0, msdos1 serait / dev / sda1) ce que vous voudrez peut-être faire pour voir une liste de partitions valides est de taper ls
Maintenant, dans mon cas, encore une fois, grub a été installé sur / dev / sdb1 qui a été monté en tant que / boot dans ma partition d' archive , donc le préfixe correct serait (hd1, msdos1) / grub
Donc, pour que je démarre, je dois faire ceci:
Dans votre cas, vous devrez vous souvenir ou deviner sur quelle partition vous avez installé grub. Vous pouvez deviner mal, cela ne fera aucun mal, la commande insmod échouera simplement et vous pouvez réessayer avec une autre partition.
Après cela, grub se charge normalement, et je peux choisir dans la liste ce que je veux démarrer. Normalement, quand un gâchis comme celui-ci se produit, la réinstallation de grub sur votre mbr (à l'aide de grub-install ) devrait le réparer définitivement afin que vous n'ayez pas à le faire à chaque démarrage. J'ai cependant beaucoup de difficulté à savoir quoi faire si le réparer n'est pas aussi simple (ou je partagerais ce que vous devriez faire).
Ce n'est qu'en cas d'échec (par exemple, si le préfixe est correct mais que vous ne pouvez toujours pas démarrer) que vous devez recourir à des CD en direct ou à des secours pour contourner le problème (il est préférable d'éviter cela)
la source
ls
, puis je les ai essayés un par un jusqu'à ce que je frappe la bonne combinaison :-)Je viens d'avoir ce problème aujourd'hui après une nouvelle installation de Mint 15.
Le programme d'installation a créé des
/boot/grub/x86_64-efi
modules mais pas les/boot/grub/i386-pc
modules standard .Une réinstallation de Grub à partir du Live CD a résolu le problème.
Remplacez / dev / sda et / dev / sda1 par votre périphérique de démarrage et votre partition de démarrage et exécutez les commandes suivantes à partir du Live CD:
la source
Merci pour votre message. J'ai résolu un message d'erreur presque identique - "fichier '/grub2/i386-pc/normal.mod' introuvable" après une nouvelle installation de Linux CentOS 5.11 sur un vieil ordinateur Dell Optiplex avec Windows Vista, afin de créer un double -boot système.
Ce qui a compliqué ma situation, c'est que j'avais déjà essayé et échoué à installer la nouvelle distribution Fedora 20, qui utilise GRUB2 au lieu de GRUB (LEGACY), sur les partitions par défaut de FEDORA. Ensuite, j'ai essayé d'installer CentOS directement sur cela, en gardant la partition Windows et en écrasant les partitions FEDORA.
Pendant l'installation de CentOS, j'ai laissé ma première partition (Windows) seule (hd0,0) et créé le répertoire / boot sur une deuxième partition (boot) (hd0,1). J'ai alors choisi de ne pas modifier le MBR à l'époque et j'ai plutôt choisi l'autre option (bootloader sur une autre partition).
Après ce qui semblait être une installation réussie, il a redémarré avec l'erreur ci-dessus.
Je soupçonne que les informations de démarrage sur la première partition pointaient toujours vers l'emplacement GRUB2. Le processeur n'a pas pu trouver normal.mod, peut-être parce que les partitions FEDORA00 précédemment créées ont été supprimées.
Voici mes étapes:
Démarrez à partir de mon CD d'installation de Centos 5 en mode de secours ("sauvetage Linux").
Montez le lecteur local: chroot / mnt / sysimage
Passer en mode mono-utilisateur: su
Mettre à jour l'installation de CentOS: mise à jour yum
Utilisez l'éditeur emacs pour ajouter "Microsoft Windows Vista" au fichier grub.conf: emacs /boot/grub/grub.conf, et faites de Vista le système d'exploitation par défaut.
( REMARQUE: voir www.cyberciti.biz/faq/grubconf-for-windows-vista-or-xp-dual-boot/ et https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html /Installation_Guide/sn-medialess-editing-grub-conf.html .)
Tentative de mise à jour du MBR: grub-install / dev / hda
Redémarrez sur une erreur GRUB non identifiée, dans laquelle le CPU s'est bloqué après l'affichage de "GRUB".
Redémarrez à partir du disque d'installation de Windows Vista d'origine (ou d'un autre disque de récupération Windows) et sélectionnez l'option pour réparer le disque. Recevez un message indiquant que le MBR a été réparé.
Redémarrez correctement dans Windows Vista.
Je suis sûr qu'il existe des solutions plus élégantes, mais cela a fonctionné pour moi. J'ai également tenté de télécharger le package de migration GRUB vers GRUB2, comme décrit sur http://help.ubuntu.com/community/Grub2/Upgrading , en essayant:
Mais il n'a pas pu trouver le paquet. J'aurais peut-être dû essayer
yum install grub
.la source
Ajout à flittermice ...
si vous démarrez à partir d'une clé USB et que vous avez le dossier i386, vous pouvez ouvrir le dossier i386 sur la partition cassée en tant que root, puis copier le dossier i386 de travail à partir de l'USB.
la source
J'ai intégré mon système CentOS 6.7 en deux étapes. Tout d'abord, j'ai suivi les conseils de flittermice ci-dessus, démarré à partir du CD live, monté mon / dev / sda2 en tant que / mnt et juste copié le dossier i386-pc depuis / mnt / usr / ... (vous pouvez trouver où se trouve le vôtre par
find /|grep i386
) à / boot / grub et redémarré.Cela m'a donné grub> au lieu de grub rescue> ;-).
Ensuite, j'ai suivi un guide ici [ https://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux/] pour trouver et démarrer dans ma partition. C'était (hd0,2), car (hd0,1) a été pris par le swap.
Plus tard, j'ai compris que rendre ce démarrage "automatique" n'était pas possible, probablement parce que mon / boot était sur ext4 avec une taille d'inode de 256 et que l'ancien grub1 nécessite 128. J'essaierai de suivre quelques commandes de [ http: // kb.kristianreese.com/index.php?View=entry&EntryID=113] pour préparer la partition avant l'installation.
la source
Réinstallez Ubuntu. Allez à "faire autre chose". Sélectionnez votre partition d'installation Windows comme emplacement où elle doit installer le chargeur de démarrage.
Si vous avez une installation Windows existante, vous devez installer grub sur la même partition; sinon, vous aurez le problème vu dans la question.
Ceci est valable pour 14, 15, 16, 17 Ubuntu toutes les versions et probablement les versions antérieures. Lorsqu'on vous demande où installer le chargeur de démarrage, ne créez pas et ne sélectionnez pas de partition / boot; utilisez plutôt la partition Windows.
Je vous remercie.
la source
Essayez le cd live grub: http://ccm.net/faq/2677-super-grub-disk-live-cd Puis le terminal: cp -r / usr / lib / grub / i386-pc / boot / grub était le seule chose Cette méthode a fonctionné pour moi.
la source