Muchas gracias a Earthwings, penetrode, loyaltonone, pilla, airhead, nephros, yamakawa y a todos aquellos que hicieron sugerencias para el documento original hilo.
Aviso: Renuncia de responsabilidad
Los ejemplos proporcionados son sólo ejemplos. Hay que asegurarse de cambiar los números de partición de acuerdo con los del sistema. De seguir los ejemplos proporcionados en este documento, lo hace bajo su propia responsabilidad.
2. Grub cargando, espere por favor... (Grub loading, please wait...)
Listado de Código 2.1: Mensaje grub |
GRUB cargando la etapa 1.5 GRUB cargando, espere por favor... ( GRUB loading stage 1.5 GRUB loading, please wait... ) |
Después de este mensaje, el sistema se detiene. Si se intenta iniciar el sistema desde un disquete con grub, ésto no ocurre.
De acuerdo con The_Bell puede cambiarse el orden de inicio en la BIOS.
Ha de indicarse en la BIOS que no inicie desde el disquete primero.
penetrode comentó que puede deberse a unas CFLAGS inadecuadas. Aunque el ebuild de grub filtra -fstack-protector no es mala idea recompilar grub con unas CFLAGS sencillas, si todo lo demás falla.
Listado de Código 2.2: Usando CFLAGS sencillas con GRUB |
# CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe" emerge grub
|
Listado de Código 3.1: Mensaje grub |
12 : Solicitado un dispositivo no válido ( 12 : Invalid device requested. ) |
Este error se muestra aunque la definición del dispositivo sea correcta, siempre que ocurre un error no definido con cualquier otro número.
Cuando se instaló grub en el sector de inicio, ¿se ejecutaron los siguientes comandos de instalación interactivos?
Listado de Código 3.2: Comandos de instalación interactivos |
grub> root (hd0,0) grub> setup (hd0) |
(hd0,0) debe reemplazarse con la partición de inicio (/boot) y (hd0) con el disco duro (o rígido) elegido. Recuérdese que (hd0) instalará grub en el sector de inicio principal (MBR) del primer disco duro: el primario maestro.
Este error puede ocurrir en dos etapas diferentes de la configuración de GRUB, tanto durante la configuración inicial (instalando GRUB en el sector de inicio principal), como después de iniciar el sistema e intentando lanzar Linux (o cualquier otro sistema).
Listado de Código 4.1: Mensaje Grub - Configuración inicial |
grub> root (hd0,0) Sistema de ficheros xfs, tipo de partición 0x83 ( Filesystem type is xfs, partition type 0x83 ) grub> setup (hd0) Comprobando si "/boot/grub/stage1" existe... no Comprobando si "/grub/stage1" existe... no Error 15: Archivo no encontrado ( Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... no Error 15: File not found ) |
Listado de Código 4.2: Mensaje Grub - Iniciando el sistema |
Iniciando 'gentoo Linux' root (hd0,0) Sistema de ficheros ext2fs, tipo de partición 0x83 kernel (hd0,0)/boot/kernel-2.4.20 root=/dev/hda3 vga=792 Error 15: Archivo no encontrado Presione cualquier tecla para continuar... ( Booting 'gentoo Linux' root (hd0,0) Filesystem type is ext2fs, partition type 0x83 kernel (hd0,0)/boot/kernel-2.4.20 root=/dev/hda3 vga=792 Error 15: File not found Press any key to continue... ) |
Solución - Configuración inicial
Este error se produce si el nombre del archivo no puede encontrarse, pero todo lo demás (como la información del disco/partición) es correcto.
Normalmente, el error indica que no encuentra la imagen del núcleo (kernel). Hay que asegurarse de que dicha imagen existe en la partición de inicio (/boot).
Para encontrar el nombre exacto del núcleo, se reinicia desde el CD de instalación y se monta la partición de inicio (de tenerla) o la partición raíz. Después se listan las imágenes del núcleo para ver las disponibles:
Listado de Código 4.3: Verificando las imágenes del núcleo disponibles |
# cd /boot # ls |
Esto muestra todos los núcleos disponibles en la partición/directorio de inicio. De no encontrarse ninguno, hay que asegurarse de que se ha compilado un núcleo (usando genkernel o manualmente):
Listado de Código 4.4: Recompilar el núcleo |
# cd /usr/src/linux/ # make menuconfig # make |
y que se ha copiado a la partición de inicio (/boot):
Listado de Código 4.5: Copiando el núcleo |
# cp /usr/src/linux/arch/x86/boot/bzImage /boot
|
Ha de verificarse que el nombre del núcleo es exactamente el mismo que el indicado en el archivo grub.conf. También hay que asegurarse de que la línea kernel en grub.conf indica esta partición (tanto explícita como implícitamente).
Se ha informado de otro error, que consiste en tener configurada la BIOS para que ignore el disco donde residen el núcleo (kernel) o las etapas (stages) de grub. También, la partición en la cual grub guarda sus etapas no debería usar una configuración de RAID-5 por software (u otra tecnología de striping).
Solución - Iniciando el sistema
Primero, hay que asegurarse de que los comandos root y setup empleados eran correctos.
De estar seguro de que eran correctos, entonces se podría estar usando una versión defectuosa de GRUB (0.93.20031222). Para arreglarlo, se actualiza el árbol Portage o se enmascara dicha versión de grub:
Listado de Código 4.6: Enmascarando Grub |
(Ha de ejecutarse desde un entorno "chrooted") # echo "=sys-boot/grub-0.93.20031222" >> /etc/portage/package.mask # emerge grub -p |
Se puede intentar usar también la macro grub-install, como recomiendan los autores de GRUB:
Listado de Código 4.7: Usando grub-install |
[El parámetro --root-directory es necesario de tener una partición de inicio (boot) dedicada; en caso contrario, no debe usarse] # grub-install --root-directory=/boot /dev/hda |
Si todo esto falla, la partición de inicio puede haberse dañado. Ha de comprobarse la partición:
Listado de Código 4.8: Comprobando los errores de una partición |
(Hay que asegurarse de que la partición de inicio, /dev/hda1 en este caso, no está montada) # fsck -y /dev/hda1 |
Listado de Código 5.1: Mensaje Grub |
root (hd0,0) Sistema de ficheros desconocido Tipo de partición 0x7 Error 17 : No se puede montar la partición seleccionada ( root (hd0,0) filesystem type unknown partition type 0x7 Error 17 : Cannot mount selected partition ) |
Este error se presenta si la partición existe, pero GRUB no reconoce el sistema de ficheros.
Tiene que comprobarse la configuración root(x,y) de grub.conf
También, si se está tratando de iniciar Windows, hay que asegurarse de que el archivo grub.conf contiene root (hdX,Y) (o rootnoverify (hdX,Y)) y chainloader (hdX,Y)+1 en su entrada.
Listado de Código 6.1: Mensaje Grub |
kernel (hd1,4)/bzImage root=/dev/hdb7 Error 18: El cilindro seleccionado excede los máximos soportados por la BIOS ( kernel (hd1,4)/bzImage root=/dev/hdb7 Error 18: Selected cylinder exceeds max supported by BIOS ) |
Este error se produce si se intenta leer una dirección lineal de bloque más allá del área traducida por la BIOS. Esto ocurre normalmente si el disco es de mayor tamaño de lo que la BIOS puede manejar (512MB para discos (E)IDE en máquinas más antiguas ó después de 8GB en genera).
Se ha de intentar actualizar la BIOS y/o mover la partición de inicio al comienzo del disco (o, por lo menos, dentro del rango indicado).
7. GRUB GRUB GRUB GRUB GRUB ...
Listado de Código 7.1: Mensaje Grub |
GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB ... |
De acuerdo con airhead esto puede deberse a que se tiene la BIOS configurada para que detecte los discos automáticamente. Puede configurarse la BIOS para que use uno en concreto (User Type HDD).
Otra posibilidad es que se tuviera Grub instalado en el MBR y se haya tratado de reinstalarlo (debido a cambios de discos duros, por ejemplo) pero se hayan usado comandos setup y root equivocados.
8. Probando los dispositivos para saber las unidades en la BIOS. Esto puede llevar un buen rato.
Mientras se intenta instalar grub, se bloquea después de mostrar esto:
Listado de Código 8.1: Mensaje Grub |
# grub
Probando los dispositivos para saber las unidades de disco que hay en
la BIOS. Esto puede llevar un buen rato.
( Probing devices to guess BIOS drives. This may take a long time. )
|
Se indicó como causa una configuración de discos algo extraña: tener discos con y sin ultra DMA en el mismo cable.
9. Cuando se instala Grub, sólo se bloquea
Cuando se instala Grub, se bloquea:
Listado de Código 9.1: Mensaje Grub |
# grub (En este momento, la instalación se detiene) |
Si no se tiene unidad de disquetes, ¿se ha usado el parámetro --no-floppy?
Listado de Código 9.2: Instalando grub con el parámetro --no-floppy |
# grub --no-floppy
|
10. Descomprimiendo Linux... Ok, iniciando el núcleo.
El sistema se bloquea después de mostrar el mensaje:
Listado de Código 10.1: Mensaje Linux |
Descomprimiendo Linux... Ok, iniciando el núcleo. ( Uncompressing Linux... Ok, booting the kernel. ) |
A decir verdad, este no es un error grub. Una posible causa es que ACPI no esté funcionando correctamente pero esté habilitado en el núcleo. Se puede intentar deshabilitar o bien en la BIOS o bien en el núcleo.
11. Grub sólo muestra una entrada de comandos
Cuando se inicia el sistema sólo se muestra una entrada de comandos, en lugar del menú definido en el archivo grub.conf.
Se monta la partición de inicio (/boot) y se verifica que el archivo grub/grub.conf existe.
Listado de Código 11.1: Montando y verificando |
# mount /dev/hda1 /mnt/gentoo/boot # cat /mnt/gentoo/boot/grub/grub.conf |
También hay que asegurarse de que el enlace simbólico menu.lst existe:
Listado de Código 11.2: Verificando el enlace simbólico |
# ls -l /mnt/gentoo/boot/grub/menu.lst
lrwxrwxrwx 1 root root 9 Mar 7 14:00 /mnt/gentoo/boot/grub/menu.lst -> grub.conf
|
Si no, hay que volver a crear el enlace simbólico:
Listado de Código 11.3: Creando el enlace simbólico menu.lst de nuevo |
# cd /mnt/gentoo/boot/grub # ln -snf grub.conf menu.lst |
De ser este el caso, hay que reinstalar grub:
Listado de Código 11.4: Reinstalando Grub |
(Ejecutar desde el entorno "chrooted") # grub-install --root-directory=/boot /dev/hda |
12. No se pudo encontrar un dispositivo para /boot/boot: No se encontró o no es un dispositivo de bloques
Cuando se ejecuta grub-install durante la instalación de GRUB, se muestra el siguiente mensaje:
Listado de Código 12.1: Mensaje Grub |
# grub-install --root-directory=/boot /dev/hda
No se pudo encontrar un dispositivo para /boot/boot: No se encontró o no
es un dispositivo de bloques
( Could not find device for /boot/boot: not found or not a block device )
|
Comprobar que no se pasó por alto:
Listado de Código 12.2: Actualizar el archivo mtab |
# grep -v rootfs /proc/mounts > /etc/mtab
|
13. El sistema se reinicia después de pulsar Intro en el menú
Después de pulsar Intro en el menú Grub para iniciar el sistema, el sistema se reinicia.
Se intenta deshabilitar el soporte del marco de memoria intermedia de imagen (framebuffer) en el núcleo. Si esto no ayuda, se deshabilita el soporte APM y APCI.
14. Después de pulsar Intro en el menú Grub, pantallazo negro
Después de pulsar Intro en el menú Grub al iniciar el sistema, se muestra una pantalla negra, pero el sistema sigue activo (por ejemplo, el led de Bloqueo Numérico se puede activar/desactivar).
Se deshabilita el soporte del marco de memoria intermedia de imagen (framebuffer) (normalmente quitando vga=XYZ de grub.conf) y se comprueba la arquitectura del procesador en la configuración del núcleo.
Cuando se inicia el sistema, no aparece la imagen de fondo de Gentoo.
Antes de nada, ha de comprobarse que la imagen de fondo indicada en grub.conf realmente existe. De no ser así, ha de comprobarse el "ebuild" de grub. Es probable que el parche para la imagen de fondo esté como comentario en la versión que se está usando.
16. Fallo al iniciar Windows desde el segundo disco duro
Después de seleccionar la entrada de menú Windows, el sistema no se inicia ni da una razón que aclare lo que está ocurriendo.
cyrillic informó que se pueden "mapear" los discos cambiando su orden, si se añade a la entrada de menú Windows en grub.conf lo siguiente:
Listado de Código 16.1: Mapeando los discos |
title Windows XP map (hd0) (hd1) map (hd1) (hd0) chainloader (hd1,0)+1 |
17. Grub ocasiona una violación de segmento al instalarlo
La situación que se describe a continuación es sólo relevante para grub-0.95.x en el momento de instalar grub en el sector de inicio.
Listado de Código 17.1: Instalando Grub |
grub> root (hd0,0) grub> setup (hd0) Violación de segmento ( Segmentation fault ) |
Hay un fallo conocido relacionado con este problema y se ha resuelto en grub 0.96. También se sabe que grub 0.94 r1 y grub 0.94 r2 deben funcionar correctamente. Si esto falla también, puede intentarse emerger grub-static que es, por el momento, estable en amd64 e inestable en x86 (~x86). Comprobar el bug #79378 para más información.
El contenido de este documento está registrado bajo los términos de la licencia Creative Commons - Reconocimiento / Compartir Igual