Grub possède une petite image de base qui est chargée au moment du démarrage. L'image de base charge dynamiquement des modules qui fournissent des fonctionnalités supplémentaires. i386-pc/normal.mod not found
indique que Grub ne peut pas charger normal.mod qui est un module Grub qui fournit le module 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 (alias Rescue Console). Grub lancera la ligne de commande s'il y a un problème de démarrage, ou vous pouvez la lancer manuellement en maintenant la touche shift lorsque Grub démarre (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 :
- localiser l'installation de Grub en utilisant ls o recherche.fichier
- 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 locale de disques et de partitions.
où se trouve normal.mod ? regardez dans quelques emplacements 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'étape grub rescue>
rapide et non grub>
rapide. Dans ce cas, vous pouvez toujours continuer et utiliser l'application ls
et votre connaissance de l'agencement de votre partition pour trouver normal.mod
.
trouvé à (hd0,msdos1)
grub> ls (hd0,msdos1)/boot/grub/i386-pc/normal.mod
normal.mod
pourquoi Grub ne l'a pas trouvé ?
vérifier $prefix - 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 fixe initialement au dispositif de $prefix.
grub> echo $root
hd0,msdos2
root et prefix pointent vers la mauvaise partition (hd0,msdos2)
mettre $root et $prefix 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 le module normal
grub> insmod normal
grub> normal
D'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
ls système de fichiers (notez / à 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 dans /boot/Grub
la présence du répertoire i386-pc signifie qu'il s'agit d'une installation BIOS
la présence du répertoire x86_64-efi indique une installation EFI
grub> ls (hd0,msdos1)/boot/grub
i386-pc/ locale/ fonts/ grubenv grub.cfg