Grub tiene una pequeña imagen central que se carga en el momento del arranque. La imagen central carga dinámicamente módulos que proporcionan una mayor funcionalidad. i386-pc/normal.mod not found
indica que grub no puede cargar normal.mod , que es un módulo grub que proporciona el comando normal . Para cargar normal.mod necesita decirle a grub dónde está. Para hacer esto, puede usar la línea de comandos de grub (también conocida como Consola de rescate). Grub iniciará la línea de comando si hay un problema al arrancar, o puede iniciarlo manualmente manteniendo presionada la tecla Mayús mientras se inicia Grub (para forzar la visualización del menú de Grub) y luego presionando la tecla 'c'.
Usando grub puedes explorar las unidades, particiones y sistemas de archivos. Necesitas:
- localizar la instalación de grub usando ls o search.file
- establecer las variables grub $ prefix y $ root
- cargar y ejecutar el módulo normal
Ejemplo
El siguiente es solo un ejemplo. Deberá adaptarlo a su unidad local y configuración de partición.
donde es normal.mod? mirar en algunos lugares 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 obtiene "Unknown command 'search.file'"
esto significa que el comando search.file no está disponible. Esto probablemente se deba a que está en el grub rescue>
indicador y no en el grub>
indicador. En este caso, aún puede continuar y utilizar el ls
comando y su conocimiento del diseño de su partición para buscar normal.mod
.
lo encontré en (hd0, msdos1)
grub> ls (hd0,msdos1)/boot/grub/i386-pc/normal.mod
normal.mod
¿Por qué Grub no lo encontró?
check $ prefix: ubicación absoluta del directorio grub
(esto se establece cuando grub-install instala grub)
grub> echo $prefix
(hd0,msdos2)/boot/grub
compruebe $ root: el dispositivo predeterminado para las rutas que no incluyen un
grub de dispositivo establece inicialmente esto en el dispositivo desde el prefijo $
grub> echo $root
hd0,msdos2
root y prefix apuntan a la partición incorrecta (hd0, msdos2)
establezca $ root y $ prefix en la partición donde encontramos normal.mod (hd0, msdos1)
grub> set root=(hd0,msdos1)
grub> set prefix=(hd0,msdos1)/boot/grub
cargar y ejecutar el módulo normal
grub> insmod normal
grub> normal
Algunos otros comandos que pueden ser útiles
ls enumera todos los dispositivos y particiones
grub> ls
(hd0) (hd0,msdos5) (hd0,msdos1)
partición ls
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
sistema de archivos ls (nota / al final)
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/
mirar dentro / boot / grub la
presencia del directorio i386-pc significa que esta es una
presencia de instalación de BIOS del directorio x86_64-efi indicaría una instalación EFI
grub> ls (hd0,msdos1)/boot/grub
i386-pc/ locale/ fonts/ grubenv grub.cfg
use your windows partition as your primary boot device
. Ese último paso es esencial. NO USE / arranque. Puede haber otra solución: intente cambiar manualmente su dispositivo de arranque durante el inicio; Sin embargo, no creo que eso funcione. Este es un problema de larga data que ha persistido en Ubuntu hasta e incluyendo 17.10. Gracias.