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

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

Que puis-je faire? Je suis juste assis et regarde fixement.

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

Que dois-je faire? Tapez exit , reboot ou quit ? Devrais-je réinstaller?

    
posée Don Metlay 11.03.2013 - 05:43
la source

3 réponses

32

Grub a une petite image centrale qui est chargée au démarrage. L'image principale charge dynamiquement les modules qui fournissent d'autres fonctionnalités. i386-pc/normal.mod not found indique que grub ne peut pas charger normal.mod , qui est un module grub fournissant Commande normale . Pour charger normal.mod , vous devez indiquer grub où il se trouve. Pour ce faire, vous pouvez utiliser la ligne de commande grub (aka Rescue Console). Grub démarrera la ligne de commande s'il y a un problème au démarrage, ou vous pouvez le démarrer manuellement en maintenant la touche Maj enfoncée au démarrage de grub (pour forcer l'affichage du 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. Vous devez:

  • 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 n’est qu’un exemple. Vous devrez l'adapter à votre configuration de disque et de partition locale.

où est normal.mod? regardez 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 signifie que la commande search.file n'est pas disponible. C'est probablement parce que vous êtes à l'invite grub rescue> et non à l'invite grub> . Dans ce cas, vous pouvez toujours continuer et utiliser la commande ls et votre connaissance de la structure de votre partition pour trouver normal.mod .

l'a trouvé à (hd0, msdos1)

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

pourquoi grub ne l'a-t-il pas trouvé?
vérifier le préfixe $ - emplacement absolu du répertoire grub
(ceci est défini lorsque grub est installé par grub-install)

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

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

grub> echo $root
hd0,msdos2

root et le préfixe pointent vers la mauvaise partition (hd0, msdos2)
définissent le préfixe $ root et $ sur la partition où nous avons trouvé normal.mod (hd0, msdos1)

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

charger et exécuter un module normal

grub> insmod normal
grub> normal

Quelques autres commandes 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 de / boot / grub
présence du répertoire i386-pc signifie qu'il s'agit d'une installation du BIOS. La présence du répertoire x86_64-efi indiquerait une installation EFI

grub> ls (hd0,msdos1)/boot/grub
i386-pc/ locale/ fonts/ grubenv grub.cfg
réponse donnée bain 08.05.2014 - 19:58
la source
26

Résolu ceci sur une machine cet après-midi. Il semble que l’une des causes de ce problème soit que le programme d’installation pense que vous avez le démarrage sécurisé d’EFI, lorsque vous ne le faites pas et que vous chargez donc les fichiers GRUB incorrects.

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

À partir d'une instance active, 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 est 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 qu'il vous faut pour y parvenir.]

En supposant qu’il s’agit de votre problème, vous devriez simplement être en mesure de redémarrer et tout fonctionnera correctement.

La solution originale était d’ici: lien

    
réponse donnée MorrisseyJ 26.04.2013 - 17:58
la source
2

Je n'ai pas trouvé cette information sur les forums, alors je veux partager certaines informations en dépit du fait que cette question a été posée il y a longtemps:

Si vous avez une grande partition (par exemple 1 To) sur laquelle Ubuntu est installé et que vous n’en avez pas affecté une autre pour / boot /, cela pourrait être la raison de ces 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 situé physiquement 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. En outre, je suis toujours confronté à ce problème après la nouvelle installation Ubuntu 13.10, mais il pourrait différer, car cela dépend de la carte mère / bios.

Vous pouvez vérifier que si vous utilisez la récupération grub - après avoir configuré PREFIX et ROOT corrects, essayez de lancer ls / boot - si vous ne voyez rien, mais que vous pouvez voir les fichiers lors du démarrage 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 (pendant les mises à niveau) est de placer / boot sur une petite partition distincte.

    
réponse donnée Grief 14.11.2013 - 20:08
la source

Lire d'autres questions sur les étiquettes