erreur: fichier '/grub/i386-pc/normal.mod' introuvable

47
error: file '/grub/i386-pc/normal.mod' not found.
grub rescue>

Que puis-je faire? Je viens de m'asseoir et de regarder.

J'ai trouvé mon ancien netbook (Dell Inspiron 1010) que je n'ai pas utilisé depuis environ quatre ans. J'ai remplacé Windows XP avec Ubuntu 12.10. J'ai utilisé ma clé USB bootable. J'ai installé et redémarré. J'ai reçu le message qui normal.modn'est pas trouvé.

Que devrais-je faire? Type exit, rebootou quit? Devrais-je ré-installer?

Don Metlay
la source
1
LA RÉPONSE CI-DESSOUS NE FONCTIONNE JAMAIS. CECI FONCTIONNE: réinstallez votre système d’exploitation, allez à "faire autre chose", créez vos tables de partition, puis use your windows partition as your primary boot device. Cette dernière étape est essentielle. NE PAS UTILISER / démarrer. Il pourrait y avoir une autre solution: essayez de changer manuellement votre périphérique d’amorçage au démarrage; Cependant, je ne pense pas que cela fonctionnera. C’est un problème de longue date qui a persisté dans Ubuntu jusqu’à 17.10 inclus. Je vous remercie.
Wolfpack'08
Aucune de ces instructions n'a fonctionné pour moi. En fait, l’utilisation des divers outils de récupération a aggravé le problème. J'ai réussi à réinstaller Grub, mais parce que j'utilise Lvm2, le noyau n'a pas pu démarrer. Si vous utilisez lvm2 pour quoi que ce soit, vous devrez alors réinstaller le système d'exploitation lorsque ce problème se produit. Autant que je sache, il n'y a pas de récupération à partir d'une combinaison mise à jour du noyau + grub + lvm2 ayant échoué. LVM2 voit très peu de soutien officiel en dépit d'être poussé pour Ubuntu Server LTS à un moment donné. Je sauvegarde mes données et réinstalle le système d’exploitation. Je ne toucherai plus lvm2. Appris ma leçon.
CubicleSoft
1
Je suis déjà passé de LVM2 et je n'ai eu aucun problème depuis. Aucune de mes infrastructures ne l'utilise plus. Les solutions de secours système par défaut (graphiques et CLI) ignorent ou ne connaissent que très peu LVM, ce qui constitue une raison suffisante pour ne pas utiliser LVM. Même si je suivais vos instructions pour restaurer le système et si elles fonctionnaient, le problème se reproduirait probablement à l'avenir. Réinstaller le système d'exploitation et abandonner LVM était pour moi l'option la plus rapide et la meilleure.
CubicleSoft le
1
@Wolfpack dans mon cas, le problème est que sans normal.mod, il est impossible de réinstaller éventuellement Ubuntu, lgoin ne fonctionne pas. Que puis-je faire?
HoCo_
1
@ Wolfpack'08 Merci de republier votre solution comme réponse. Afficher des solutions sous forme de commentaires contourne les principes du site. Vous devez également mentionner quelle «réponse ci-dessous ne fonctionne jamais» car il y en a plus.
Melebius le

Réponses:

40

Grub a une petite image de base chargée au démarrage. L'image principale charge de manière dynamique des modules offrant des fonctionnalités supplémentaires. i386-pc/normal.mod not foundindique que grub ne peut pas charger normal.mod , qui est un module grub fournissant la commande normale . Pour charger normal.mod, vous devez dire à grub où il se trouve. Pour ce faire, vous pouvez utiliser la ligne de commande grub (aussi appelée Rescue Console). Grub lancera la ligne de commande en cas de problème, ou vous pouvez le démarrer manuellement en maintenant la touche Maj enfoncée au démarrage (pour afficher le menu grub), puis en appuyant sur la touche 'c'.

En utilisant grub, vous pouvez explorer les lecteurs, les partitions et les systèmes de fichiers. Tu dois:

  • localisez l’installation de grub en utilisant ls ou search.file
  • définir les variables grub $ prefix et $ root
  • charger et exécuter le module normal

Exemple

Ce qui suit est juste un exemple. Vous devrez l’adapter à la configuration de votre lecteur local et de votre partition.

où est normal.mod? regarder dans certains endroits probables

grub> search.file /i386-pc/normal.mod
error: no such device: /i386-pc/normal.mod

grub> search.file /grub/i386-pc/normal.mod
error: no such device: /grub/i386-pc/normal.mod

grub> search.file /boot/grub/i386-pc/normal.mod
hd0,msdos1

Si vous obtenez "Unknown command 'search.file'"cela, cela signifie que la commande search.file n'est pas disponible. C'est probablement parce que vous êtes à l' grub rescue>invite et non l' grub>invite. Dans ce cas, vous pouvez toujours continuer et utiliser la lscommande et trouver votre connaissance de la structure de votre partition normal.mod.

trouvé à (hd0, msdos1)

grub> ls (hd0,msdos1)/boot/grub/i386-pc/normal.mod
normal.mod

pourquoi grub ne l'a pas trouvé?
check $ prefix - emplacement absolu du répertoire grub
(défini lors de l'installation de grub par grub-install)

grub> echo $prefix
(hd0,msdos2)/boot/grub

check $ root - périphérique par défaut pour les chemins n'incluant pas de périphérique
grub le définit initialement sur le périphérique à partir de $ préfixe

grub> echo $root
hd0,msdos2

root et prefix pointent sur la mauvaise partition (hd0, msdos2),
définissez $ root et $ prefix sur la partition sur laquelle nous avons trouvé normal.mod (hd0, msdos1)

grub> set root=(hd0,msdos1)
grub> set prefix=(hd0,msdos1)/boot/grub

charger et exécuter le module normal

grub> insmod normal
grub> normal

Quelques autres commandes qui peuvent être utiles

ls liste tous les périphériques et partitions

grub> ls
(hd0) (hd0,msdos5) (hd0,msdos1)

ls partition

grub> ls (hd0,msdos1)
        Partition hd0,msdos1: Filesystem type ext* - Last modification time
2014-05-08 15:56:38 Thursday, UUID c864cbdd-a2ba-43a4-83a3-66e305adb1b6 -
Partition start at 1024KiB - Total size 6290432Kib

système de fichiers ls (note / à la fin)

grub> ls (hd0,msdos1)/
lost+found/ etc/ media/ bin/ boot/ dev/ home/ lib/ lib64/ mnt/ opt/ proc/
root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ vmlinuz initrd.img cdrom/

regarder à l'intérieur
du répertoire i386-pc du répertoire / boot / grub signifie qu'il s'agit d'une
présence d' installation du BIOS dans le répertoire x86_64-efi indiquerait une installation EFI

grub> ls (hd0,msdos1)/boot/grub
i386-pc/ locale/ fonts/ grubenv grub.cfg

bain
la source
+1 Après avoir suivi ces étapes pour démarrer dans mon installation d'ubuntu, j'ai exécuté l' sudo grub-install /dev/sdXinstallation de grub. Je pense que l’installation de LVM a quelque peu embrouillé mon régime.
DavidG
Je suppose que si vous obtenez le "fichier de recherche" de commande inconnue comme je viens de le faire, il est temps d'abandonner. Mon conseil aux gens est de ne jamais installer Ubuntu sans DVD de récupération Windows. Comme je viens de le savoir, avoir une partition de pas assez une fois que Grub est foutu en l'air et ne jamais installer Ubuntu sur l'ordinateur de quelqu'un d'autre sous Windows, parce que si ça foutait en l'air, ils seraient vraiment énervés.
Scooter
@Scooter Voir cette réponse pour des instructions sur la réinstallation de Grub en démarrant un live CD / USB.
bain
@bain Merci pour la réponse. Dans mon cas, une réinstallation à partir du disque iso Ubuntu. Ubuntu a découvert que grub était foiré ou qu'il écrivait automatiquement dessus, mais il l'a redéfini à l'endroit où j'étais de nouveau capable de redémarrer Windows.
Scooter
Le shell de sauvetage Grub ne semble prendre en charge aucune de ces commandes. "Commande inconnue 'fichier.recherche'"
Cerin
30

Résolu ceci sur une machine cet après-midi. Il semble que l’une des causes de ce problème soit due au fait que l’installateur pense que vous avez le démarrage sécurisé d’EFI, alors que vous ne chargez pas les fichiers GRUB incorrects.

Ce que vous devez faire, c'est installer GRUB 2. Pour ce faire, vous devez démarrer sur l'instance active, monter votre partition racine et installer.

À partir d'une instance en direct, recherchez la partition sur laquelle votre partition racine est chargée. GParted vous le dira, ou vous pourriez utiliser

sudo fdisk -l

Choisissez la partition dans laquelle Ubuntu est installé.

Une fois que vous avez votre partition, vous devez la monter. En supposant que la partition racine soit sur / dev / sda5, ce serait:

sudo mount /dev/sda5 /mnt

Puis installez GRUB 2

sudo grub-install /dev/sda --root-directory=/mnt [utilisez copier et coller pour celui-ci car il y a des espaces dont vous avez besoin pour bien faire les choses.]

En supposant que ce soit votre problème, vous devriez alors pouvoir redémarrer et tout fonctionnera correctement.

La solution originale pour cela se trouvait ici: http://ubuntujournal.blogspot.com/2012/11/fix-new-install-of-ubuntu-1210-wont-boot.html

MorrisseyJ
la source
1
Ca n'a pas marché pour moi. J'ai le même problème et je cherche toujours une solution.
ExpatEgghead
3
--root-directory est maintenant --boot-directory in grub2
bain
1
Une autre solution facile qui a fonctionné pour moi est de copier la sauvegarde de groupe située dans /etc/grub.d/backup dans / boot / grub. Recherchez dans le fichier lisez-moi les dossiers et les chemins appropriés.
jhexp
Dans mon cas, le problème était que j'avais 2 disques durs et que la séquence du bios cherchait d'abord le mauvais disque. Ce lecteur avait une ancienne installation grub corrompue.
eusoubrasileiro
Si vous ne savez pas quel est le bon choix de fdisk, ce responsable de la sécurité peut m'aider (il m'a aidé à trouver quel périphérique / média / ubuntu / quelque nom était allumé
Michael
2

Je n'ai pas trouvé cette information sur les forums, alors je souhaite partager certaines informations malgré le fait que cette question a été posée il y a longtemps:

Si vous avez une grande partition (1 To, par exemple) sur laquelle Ubuntu est installé et que vous n'avez pas alloué de partition supplémentaire pour / boot /, cela peut être la cause de telles erreurs. Lorsque GRUB démarre, il utilise le pilote biosdisk pour lire les pilotes normaux à partir du répertoire / boot / grub /. Parfois, ce répertoire peut être physiquement situé sur le disque dur quelque part après le maximum pris en charge par le secteur biosdisk. Le problème peut apparaître, par exemple, après la mise à niveau du système. De plus, je suis toujours confronté à ce problème après une nouvelle installation d’Ubuntu 13.10, mais cela peut différer, car cela dépend de la carte mère / du BIOS.

Vous pouvez vérifier que, à l'aide de la récupération de fichier grub - après avoir défini les paramètres PREFIX et ROOT corrects, essayez de ls / boot - si vous ne voyez rien, mais que vous pouvez voir les fichiers lors du démarrage à partir du lecteur cd / flash en direct - par rapport au problème décrit ci-dessus. .

Vous pouvez faire différentes choses pour rendre le système amorçable, mais le seul moyen d'éviter ce problème à l'avenir (lors des mises à niveau dist) est de placer le répertoire / boot sur une petite partition séparée.

Douleur
la source
1

D'autres solutions risquent de ne pas fonctionner si vous êtes à l' grub-rescueinvite et / ou si votre configuration utilise LVM, celle-ci devrait l'être.

Démarrez sur un disque de secours (conseil: je conserve une petite distribution sur une partition dédiée de mon disque USB de sauvegarde).

Si vous utilisez LVM, recherchez le nom de votre groupe de volumes avec lvdisplayou une autre commande liée à LVM. Activez-le (sinon, vous obtiendrez une mount: special drive /dev/volumegroupname/partition does not existerreur en essayant de monter):

vgchange -a y volumegroupname

Maintenant montez votre /partition habituelle , par exemple sur /mnt :

mount /dev/volumegroupname/partition /mnt

Montez également quelques périphériques spéciaux (ainsi que /bootsur une partition séparée):

mount -t proc none /mnt/proc
mount -o bind /dev /mnt/dev
mount -t sysfs /sys /mnt/sys

Puis chrootdans votre distribution habituelle:

chroot /mnt

Enfin, réinstallez GRUB2 - les commandes peuvent varier en fonction de votre distribution, cela fonctionne sur Slackware (si votre lecteur est /dev/sda):

grub-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg

Redémarrez et vous devriez avoir terminé.

Skippy le Grand Gourou
la source
0

! LA REPONSE CHOISIE NE FONCTIONNE JAMAIS.

CELA FONCTIONNE:

  1. Réinstallez votre système d'exploitation , allez à " faire autre chose ", créez vos tables de partition,
  2. Utilisez votre partition Windows comme périphérique de démarrage principal .

La deuxième étape est essentielle .

NE PAS UTILISER/boot .

Il pourrait y avoir une autre solution: essayez de changer manuellement votre périphérique d’amorçage au démarrage; Cependant, je ne pense pas que cela fonctionnera et je n'ai pas encore testé.

C’est un problème de longue date qui a persisté dans Ubuntu jusqu’à 17.10 inclus.

Wolfpack'08
la source