[Top] [Contents] [Index] [ ? ]

Manual de GRUB

Esta es la documentación del gestor de arranque GNU GRUB (Grand Unified Bootloader), un programa flexible y potente para arrancar PCs.

Este documento fue modificado del original para uso de Linux-Cuba.

1. Introducción a GRUB  Cáptura el espíritu de GRUB
2. Nomenclatura  Nombre de las unidades de disco en GRUB
3. Instalación  Instalar GRUB en tu sistema
4. Arranque  Como arrancar diferentes sistemas operativos
5. Configuración  Escribe tu propio archivo de configuración
6. Descargar las imágenes del SO de la red  
7. Usar GRUB a través de la línea de serie  
8. Embedding a configuration file into GRUB  Insertar un fichero de configuración en GRUB
9. Protege tu ordenador de accesos no autorizados  Mejorando la seguridad
10. Archivos de imagen de GRUB  
11. Sintaxis y semántica del sistema de ficheros  
12. Interfaz de usuario de GRUB  El menú y la línea de órdenes
12.5 Lista de las órdenes disponibles  Lista de órdenes internas disponibles
13. Mensajes de error que produce GRUB  
14. Invocar el intérprete grub  Como usar el intérprete grub
15. Invocar grub-install  Como usar el instalador de GRUB
16. Invocar grub-md5-crypt  Como generar una contraseña encriptada
17. Invocar mbchk  Como usar el comprobador de Multiarranque
A. Frequently asked questions  Preguntas frecuentes
B. Como obtener y compilar GRUB  
C. Informar de fallos  Donde debes enviar un informe de fallos
D. Direcciones que tomará GRUB  Algunos planes de futuro para GRUB
Indice  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1. Introducción a GRUB

1.1 Que es GRUB exactamente y como se usa  
1.2 Historia de GRUB  De gusano a mosca común
1.3 Características de GRUB  
1.4 El papel de un gestor de arranque  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.1 Que es GRUB exactamente y como se usa

Dicho brevemente, el gestor de arranque es el primer programa que se ejecuta al arrancar un ordenador. El tiene la tarea de cargar y de transferir el control al núcleo del sistema operativo (como por ejemplo el núcleo de Linux o de GNU Hurd). El núcleo a su vez inicia el resto del sistema operativo (por ejemplo, el sistema GNU).

GNU GRUB is un gestor de arranque muy potente, capaz de arrancar un amplio abanico de sistemas operativos libres, así como sistemas operativos "en propiedad" a través del arranque en cadena(1). GRUB está diseñado para hacer frente a la complejidad de arrancar un ordenador personal; tanto el programa como este manual están restringidos a esa plataforma de ordenadores, aunque la adaptación a otras plataformas puede ser considerada en el futuro.

Una de las facetas importantes de GRUB es su flexibilidad; GRUB entiende sistemas de ficheros y formatos ejecutables del núcleo, así que te permite arrancar un sistema operativo cualquiera, de la manera que quieras, sin necesidad de saber la posición física del núcleo en el disco.

Así, por ejemplo, puedes arrancar el núcleo simplemente especificando el nombre del archivo y el disco (y la partición) donde se encuentra. Para que GRUB conozca estos datos, los puedes teclear a mano usando la interfaz de la línea de órdenes (mirar sección 12.1 La flexible interfaz de línea de órdenes), o usando la interfaz del menú (mirar sección 12.2 La sencilla interfaz de menú) a través de la cual puedes seleccionar fácilmente que SO arrancar. GRUB obtiene el menú de un fichero de configuración (mirar sección 5. Configuración) que tú puedes crear para personalizar el menú. Hacemos notar que no sólo puedes entrar a la línea de órdenes cuando quieras, sino que también puedes editar entradas específicas del menú antes de usarlas.

En los capítulos siguientes, aprenderás paso a paso como comunicar a GRUB un disco o una partición, y un nombre de archivo (mirar sección 2. Nomenclatura), cómo instalar GRUB en el disco (mirar sección 3. Instalación), y cómo arrancar tus sistemas operativos.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.2 Historia de GRUB

GRUB empezó en 1995, cuando Erich Boleyn intentaba arrancar GNU Hurd con el micronúcleo Mach 4 (ahora llamado GNU Mach) de la universidad de Utah. Eric y Brian Ford diseñaron la Especificación Multiarranque (mirar sección `Motivation' in The Multiboot Specification), con el propósito de no incrementar el gran número de métodos de arranque de PC incompatibles entre sí ya existentes.

Más adelante, Erich comenzó a modificar el gestor de arranque de FreeBSD para que pudiera entender el Multiarranque. Pronto se dio cuenta de que resultaría bastante más sencillo escribir su propio gestor desde cero que continuar trabajando sobre el gestor de arranque de FreeBSD. Así nació Grub.

Erich añadió muchas características a GRUB, pero otras prioridades evitaban que pudiera satisfacer las peticiones de la creciente base de usuarios de GRUB. En 1999, Gordon Matzigkeit y Yoshinori K. Okuji adoptaron GRUB como proyecto GNU oficial, abriendo el desarrollo mediante la creación de un CVS anónimo con el código fuente más reciente. mirar sección B. Como obtener y compilar GRUB, para más información.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.3 Características de GRUB

La condición más importante que cumple GRUB es que obedece la Especificación Multiarranque, tal y como se describe en section `Motivation' in The Multiboot Specification.

El resto de los objetivos, en orden aproximado de importancia, son:

Todos los núcleos se arrancan en más o menos el mismo estado que describe la Especificación Multiarranque, a excepción de los modos específicos de compatibilidad (como arranque en cadena o el formato piggyback de Linux). En la actualidas, sólo están soportados los núcleos que se cargan a la altura o por encima de 1 megabyte. Cualquier intento de carga por debajo de ese límite simplemente fallará de inmediato con un mensaje de error notificando el problema.

Además de los requerimientos ya mencionados, GRUB posee las siguientes características (Nótese que la Especificación de Multiarranque no exige todas las características soportadas por GRUB):

Reconoce varios formatos ejecutables
Soporte para muchas de las variantes de a.out además de ELF. También carga las tablas de símbolos.

Soporte para núcleos que no son Multiarranque
Soporte para varios de los núcleos libres de 32-bit que no se ajustan a la especificación Multiarranque (principalmente FeeBSD, NetBSD, OpenBSD y Linux). Admite asimismo el arranque en cadena de otros gestores.

Carga de múltiples módulos
Admite totalmente la carga de múltiples módulos, una carácterística del Multiarranque.

Carga de un archivo de configuración
Admite la configuración mediante un archivo simple de texto con órdenes predeterminados. También es posible cargar otro archivo de configuración de forma dinámica e insertar un archivo de configuración predeterminado en un archivo de imagen de GRUB. La lista de órdenes (mirar sección 12.5 Lista de las órdenes disponibles) es un conjunto que incluye a las admitidas desde la línea de órdenes. Comentamos un ejemplo de archivo de configuración en 5. Configuración.

Presenta una interfaz de menú
Dispone de una interfaz de menú que presenta las opciones de arranque preseleccionadas, con un tiempo de espera programable. No existe un límite establecido para el número de entradas en el menú, y la actual implementación tiene espacio para varios cientos.

Tiene una interfaz de línea de órdenes flexible
Dispone de una línea de órdenes bastante flexible, a la que se puede acceder desde el menú, y que permite editar cualquiera de las órdenes preseleccionadas o escribir instrucciones de arranque desde cero. Si no existe un fichero de configuración, GRUB presenta la línea de órdenes.

La lista de órdenes (mirar sección 12.5 Lista de las órdenes disponibles) es un subconjunto de los admitidos en los archivos de configuración. La edición de órdenes guarda similitud con la línea de órdenes de Bash (mirar sección `Command Line Editing' in Bash Features), con terminación automática -mediante el tabulador TAB- de órdenes, dispositivos, particiones o archivos en un directorio, dependiendo del contexto.

Soporte para varios sistemas de ficheros
Admite de manera transparente varios sistemas de ficheros, además de una útil notación explícita de lista de bloques. Actualmente están soportados los sistemas de ficheros BSD FFS,DOS FAT16 and FAT32, Minix fs, Linux ext2fs, ReiserFS, JFS, XFS, and VSTafs. mirar sección 11. Sintaxis y semántica del sistema de ficheros, para más información.

Soporte para descompresión automática
Puede descomprimir archivos comprimidos con gzip. Esta función es a la vez automática y transparente de cara al usuario (es decir, todas las funciones operan sobre el contenido descomprimido de los archivos especificados). Esto reduce considerablemente el tamaño de los archivos y el tiempo de carga, una ventaja notable especialmente en disquetes.(2).

Es posible imaginar la necesidad de cargar módulos del núcleo en estado comprimido, por lo que existe una orden diferente de carga de módulos para evitar que sean descomprimidos.

Acceso a los datos en cualquiera de los dispositivos instalados
Admite la lectura de datos de cualquier disco duro o disquete detectado por la BIOS, independientemente de cual sea el dispositivo raiz.

Independencia de las traducciones de geometría del disco
Al contrario que otros gestores de arranque, GRUB hace irrelevante la traducción particular del disco. Se puede convertir un disco que esté instalado y funcionando con una traducción a otra sin efectos contraproducentes o cambios en la configuración de GRUB.

Detecta toda la RAM instalada
GRUB puede por lo general encontrar toda la RAM instalada en un ordenador compatible PC, usando una técnica avanzada de consulta a la BIOS para encontrar todas las regiones de memoria. Como se describe en la Especificación Multiarranque (mirar sección `Motivation' in The Multiboot Specification), no todos los núcleos hacen uso de esta información, pero GRUB la provee para aquellos que sí lo hacen.

Admite el modo LBA (Dirección de Bloque Lógico)
En las llamadas al disco tradicionales (modo CHS) existe un problema de traducción de geometría, esto es, la BIOS no puede leer por encima de 1024 cilindros, lo que supone que el espacio accesible está limitado a 508 Mb en el peor de los casos, o a 8 Gb en el mejor. GRUB no puede resolver este problema de forma universal, ya que no existe una interfaz genérica que sea usada en todas las máquinas. Sin embargo, numerosos equipos recientes usan la nueva interfaz de Acceso de Bloque Lógico, modo (LBA). GRUB detecta automáticamente si el modo LBA está disponible, y hace uso de él en caso de que lo esté. En modo LBA, GRUB puede acceder a todo el disco.

Soporte para arranque a través de la red
GRUB es básicamente un gestor de arranque basado en el disco, pero soporta también el arranque a través de red. Se pueden cargar imágenes de sistemas operativos a través de la red usando el protocolo TFTP.

Soporte para terminales remotas
GRUB puede ser usado en ordenadores que no posean consola ya que admite terminales remotas, con lo que puede ser controlado desde otro equipo. Por el momento solo está implementado el soporte para terminales a través del puerto de serie.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.4 El papel de un gestor de arranque

La siguiente es una cita de Gordon Matzigkeit, un fanático de GRUB:

Algunas personas gustan de dar crédito tanto al núcleo como al sistema operativo cuando hablan sobre sus ordenadores, por lo que quizás digan que usan "GNU/Linux" o "GNU/Hurd". Otros parecen pensar que el núcleo es la parte más importante del sistema, y llaman a sus sistemas operativos GNU sistemas "Linux".

Yo, personalmente, creo que esto es una grave injusticia, porque el gestor de arranque es el programa más importante. Yo me solía referir a los sistemas citados como sistemas "LILO"(3) o sistemas "GRUB".

Desgraciadamente, nadie entendió jamas a qué me refería; ahora uso simplemente la palabra "GNU" como sinónimo de GRUB.

Así que, si alguna vez oyes hablar a alguien de su sistema supuestamente "GNU", recuerda que en realidad están rindiendo homenaje al mejor gestor de arranque que existe... GRUB!

Nosotros, los mantenedores de GRUB, no animamos (por lo general) niveles de fanatismo como el de Gordon, pero sirve para recordar que los gestores de arranque merecen reconocimiento. Esperamos que disfrutes usando GRUB tanto como nosotros disfrutamos escribiéndolo.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. Nomenclatura

La sintáxis de dispositivos usada en GRUB es algo diferente de la que probablemente hayas visto antes en tu(s) SO(s), y debes conocerla para poder especificar discos o particiones.

Observa los ejemplos y las explicaciones que siguen:

 
(fd0)

Para empezar, GRUB requiere que se encierre el nombre del dispositivo entre paréntesis `(' y `)'. Lo que `fd' significa es que se trata de un disquete (floppy disk). El numero `0' es el número de la unidad, empezando a contar desde cero. La expresión significa que GRUB usará todo el disquete.

 
(hd0,1)

Aquí, `hd' indica un disco duro (hard disk). El primer entero, `0' indica el número de la unidad, es decir, que se trata del primer disco duro, mientras que el segundo entero, `1', indica el número de la partición (o el número de rodaja (slice) en la terminología de BSD). De nuevo, observa que los números de partición se cuentan desde cero y no desde uno. La expresión representa la segunda partición de la primera unidad de disco duro. En este caso, GRUB usa una partición del disco y no el disco entero.

 
(hd0,4)

Esto indica la primera partición lógica de la primera unidad de disco. Observa que el número de partición para las particiones lógicas se empieza a contar desde `4', sin que importe el número de particiones primarias en el disco duro.

 
(hd1,a)

Esto indica la partición `a' de BSD en el segundo disco duro. Si necesitas especificar el número de rodaja (slice) que se debería usar, puedes hacerlo como: `(hd1,0,a)'. Si se omite el número de "rodaja", GRUB busca la primera "rodaja" del pc que contiene una partición `a' de BSD.

Por supuesto, para poder acceder a discos o particiones con GRUB, necesitas especificar el dispositivo mediante una instrucción, como `root (fd0)' o `unhide (hd0,2)'. Para ayudarte a averiguar qué número es una partición que quieres, las opciones de la línea de órdenes (mirar sección 12.1 La flexible interfaz de línea de órdenes) auto-completan los argumentos. Esto quiere decir que, por ejemplo, sólo necesitas escribir `root (' y pulsar el tabulador para que GRUB liste las unidades, particiones o nombres de archivo, por lo que debería resultar sencillo poder determinar el nombre de la partición que buscas incluso con un conocimiento mínimo de la sintaxis.

Advierte que GRUB no distingue entre IDE y SCSI - simplemente cuenta las unidades desde cero sin que importe su tipo. Por lo general, el número de una unidad IDE es menor que el de una SCSI, aunque esto no se cumpliría si cambias la secuencia de arranque intercambiando las unidades IDE y SCSI en la BIOS.

La pregunta ahora es: Cómo se especifica un archivo ? De nuevo, observa un ejemplo:

 
(hd0,0)/vmlinuz

Esto especifica un archivo llamado `vmlinuz' en la primera partición del primer disco duro. Nóta que también se pueden auto completar los nombres de archivo.

Reconoce que hasta aquí ha sido fácil. Lee el capítulo siguiente para aprender a instalar GRUB en el disco.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. Instalación

Para empezar, necesitas tener bien instalado GRUB en tu sistema, (mirar sección B. Como obtener y compilar GRUB) bien mediante un tar con las fuentes o mediente un paquete para tu SO.

Para poder usar GRUB debes instalarlo en tu disco. Existen dos formas de conseguirlo - usando la aplicación grub-install (mirar sección 15. Invocar grub-install) en un SO tipo UNIX, o mediante una Etapa 2 nativa. Ambas son bastante similares, sin embargo, es posible que la aplicación escoja una unidad equivocada de la BIOS así que conviene ser precavido.

Asimismo, si instalas GRUB en un SO tipo UNIX, asegúrate de tener un disco de arranque de emergencia a mano, para poder rescatar el ordenador en caso de que, por algún motivo, el disco duro quedara inservible (no pudiera arrancarse).

GRUB viene con imágenes de arranque, que se instalan normalmente en el directorio `/src/share/grub/i386-pc'. Necesitas copiar los archivos `stage1', `stage2' y `*stage1_5' al directorio `/boot/grub'. Llamamos aquí directorio de imágenes y directorio de arranque respectivamente al directorio donde se instalan las imágenes de GRUB y al directorio que GRUB usa para encontrarlas.

3.1 Crear un disquete de arranque de GRUB  
3.2 Instalar GRUB nativamente  
3.3 Instalar GRUB usando grub-install  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 Crear un disquete de arranque de GRUB

Para crear un disco de arranque de GRUB, necesitas tomar los archivos `stage1' y `stage2' del directorio de imágenes, y escribirlos respectivamente en el primer y segundo bloque de un disquete.

Precaución: Este método destruye cualquier dato que esté guardado en el disquete.

En sistemas operativos tipo UNIX, esto se puede hacer con las órdenes siguientes:

 
#  cd /usr/share/grub/i386-pc
# dd if=stage1 of=/dev/fd0 bs=512 count=1
1+0 records in
1+0 records out
# dd if=stage2 of=/dev/fd0 bs=512 seek=1
153+1 records in
153+1 records out
#

El nombre del dispositivo puede ser diferente. Consulta el manual de tu SO.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 Instalar GRUB nativamente

Precaución: Instalar la Etapa 1 de GRUB de esta manera borrará el sector de arranque normal de un SO.

Actualmente, GRUB puede arrancar directamente GNU Mach, Linux, FreeBSD, NetBSD y OpenBSD, por lo que usarlo en un sector de arranque no debería dar problemas. Sin embargo, es buena idea en general, hacer una copia de seguridad del primer sector de la partición en la que vayas a instalar la etapa 1 de GRUB. Si instalas GRUB en el primer sector del disco duro no es tan importante tomar precauciones, ya que es fácil restaurarlo (por ejemplo, usando `FDISK /MBR' desde DOS).

Instalar GRUB de manera nativa en el sistema es sin duda recomendable. Si decides hacerlo así, necesitarás hacer un disquete de arranque de GRUB y arrancar el ordenador con él. Para ver otro método lee la sección 3.3 Instalar GRUB usando grub-install.

Una vez empezado, GRUB presentará la interfaz de la línea de órdenes (mirar sección 12.1 La flexible interfaz de línea de órdenes). Lo primero es fijar el directorio de arranque como dispositivo raiz de GRUB (4)

 
grub> root (hd0,0)

Si no estás seguro de cual es la partición que contiene los archivos, puedes usar la orden find de la manera siguiente:

 
grub> find /boot/grub/stage1

Esto busca el archivo `/boot/grub/stage1' y lista los dispositivos que lo contienen.

Una vez que has fijado correctamente el directorio raiz, utiliza la orden setup (mirar sección 12.8.34 setup):

 
grub> setup (hd0)

Esta orden instala GRUB en el MBR de la primera unidad. Si lo que quieres es instalar GRUB en el sector de arranque de una partición en vez de en el MBR, especifica la partición en la que quieres instalar GRUB:

 
grub> setup (hd0,0)

Si instalas GRUB en una partición o en una unidad que no sea la primera, tendrás que arrancar en cadena a GRUB desde otro gestor de arranque. Mira en el manual del gestor de arranque en particular la manera de arrancar GRUB en cadena.

Ahora ya puedes arrancar GRUB sin usar un disquete. Lee el capítulo 4. Arranque para aprender a arrancar tus sistemas operativos desde GRUB.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 Instalar GRUB usando grub-install

Precaución: No se aconseja utilizar este procedimiento ya que hay posibilidades de que deje el ordenador sin poder arrancar. Por ejemplo, la mayoría de los sistemas operativos no comunican a GRUB la manera de corresponder correctamente unidades de la BIOS a dispositivos del SO, GRUB simplemente adivina la correspondencia. Esto funciona en la mayoría de los casos, pero no siempre, por lo que GRUB pone a tu disposición un fichero de correspondencias definido por el usuario device map que debes reparar si fuera incorrecto. mirar sección 14.3 La correspondencia entre unidades de la BIOS y dispositivos del SO, para más información.

A pesar de esto, si quieres instalar GRUB bajo un SO tipo UNIX (como GNU), ejecuta el programa grub-install (mirar sección 15. Invocar grub-install) como superusuario (root).

Su uso es muy sencillo. Solo necesitas pasarle un argumento al programa: donde quieres instalar GRUB. El argumento puede ser un fichero de dispositivo o una unidad/partición de GRUB. Por ejemplo, para instalar GRUB en el MBR del primer disco IDE desde Linux puedes usar:

 
# grub-install /dev/hda

Bajo GNU/Hurd, la siguiente orden tiene el mismo efeto:

 
# grub-install /dev/hd0

Si se trata de la primera unidad en la BIOS, ésta orden es equivalente:

 
# grub-install '(hd0)'

Los ejemplos anteriores asumen que usas imágenes de GRUB situadas en el directorio raiz. Si quieres que GRUB utilice imágenes en otro directorio, necesitas especificar la opción `--root-directory'. Un caso típico es cuando quieres crear un disquete de arranque de GRUB con sistema de ficheros. Un ejemplo:

 
# mke2fs /dev/fd0
# mount -t ext2 /dev/fd0 /mnt
# grub-install --root-directory=/mnt '(fd0)'
# umount /mnt

Otro ejemplo es el caso en que tienes una partición de arranque distinta montada sobre `/boot'. GRUB es un gestor de arranque, y no sabe nada de puntos de montaje. Por lo tanto, la manera de invocar grub-install sería:

 
# grub-install --root-directory=/boot /dev/hda

Por cierto, como observamos anteriormente, es bastante difícil averiguar las unidades de la BIOS desde un SO tipo UNIX. Por este motivo, grub-install te pedirá que compruebes que ciertamente acertó con las correspondencias una vez terminada la instalación. El formato está definido en 14.3 La correspondencia entre unidades de la BIOS y dispositivos del SO. Por favor, observa estas precauciones. Si el resultado fuera incorrecto, es bastante difícil que el ordenador pueda arrancar sin problemas.

Advierte que grub-install es en realidad un fichero de órdenes (shell script), y el verdadero trabajo lo realiza el intérprete de órdenes grub (mirar sección 14. Invocar el intérprete grub). Podrías por lo tanto ejecutar directamente grub para instalar GRUB, sin utilizar grub-install. Sin embargo, esto no es recomendable a no ser que conozcas bien el funcionamiento de GRUB. Instalar un gestor de arranque desde un SO en ejecución puede ser muy peligroso.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4. Arranque

GRUB puede arrancar de manera similar núcleos que se acojan al Multiarranque, pero para algunos sistemas operativos libres es necesario utilizar algo de magia adecuada al SO.

4.1 Como arrancar sistemas operativos  Como arrancar en general SOs con GRUB
4.2 Particularidades de algunos sistemas operativos  Notas sobre algunos SOs


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1 Como arrancar sistemas operativos

GRUB tiene dos maneras distintas de arrancar sistemas. Una es cargar el sistema operativo directamente, y la otra es cargar en cadena otro gestor de arranque que se encargará de arrancar el sistema operativo. En general, el primer método es el más deseable, porque no requiere que instales o mantengas otros gestores de arranque, y GRUB es lo bastante flexible para cargar un sistema operativo en cualquier disco o partición. Sin embargo, resulta necesario algunas veces utilizar el segundo método ya que GRUB no admite nativamente todos los sistemas operativos existentes.

4.1.1 Como arrancar directamente un SO con GRUB  
4.1.2 Carga otro gestor de arranque para arrancar SOs no soportados  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1.1 Como arrancar directamente un SO con GRUB

El Multiarranque (mirar sección `Motivation' in The Multiboot Specification) es el formato nativo soportado por GRUB. Por conveniencia, existe también soporte para Linux, FreeBSD, NetBSD y OpenBSD. Para el resto de los sistemas operativos que quieras arrancar debes utilizar el arranque en cadena (mirar sección 4.1.2 Carga otro gestor de arranque para arrancar SOs no soportados).

En general, GRUB arranca cualquier SO que se acoja al Multiarranque con los pasos siguientes:

  1. Fija el dispositivo raiz de GRUB en la unidad que contiene las imágenes del SO mediante la orden root (mirar sección 12.8.31 root).

  2. Carga la imagen del núcleo con la orden kernel (mirar sección 12.8.20 kernel).

  3. Si necesitas módulos, cárgalos con la orden module (mirar sección 12.8.25 module) o modulenounzip (mirar sección 12.8.26 modulenounzip).

  4. Ejecuta la orden boot (mirar sección 12.8.2 boot).

Linux, FreeBSD, NetBSD y OpenBSD se pueden arrancar de manera similar. Puedes cargar la imagen del núcleo mediante la orden kernel y después usar la orden boot. Si el núcleo requiere algún parámetro, simplemente añade los parámetros a kernel, detrás del nombre del archivo del núcleo. Consulta 4.2 Particularidades de algunos sistemas operativos para información específica acerca de tu SO.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1.2 Carga otro gestor de arranque para arrancar SOs no soportados

Si quieres arrancar un sistema operativo que no esté soportado (por ejemplo Windows 95), debes arrancar en cadena un gestor de arranque propio de ese sistema operativo. Normalmente, el gestor de arranque está insertado en el sector de arranque de la partición en la que está instalado el sistema operativo.

  1. Fija el dispositivo raiz de GRUB en la partición mediante la orden rootnoverify (mirar sección 12.8.32 rootnoverify):

     
    grub> rootnoverify (hd0,0)
    

  2. Marca la partición como activa mediante la orden makeactive (5) (mirar sección 12.8.22 makeactive):

     
    grub> makeactive
    

  3. Carga el gestor de arranque usando la orden chainloader (mirar sección 12.8.4 chainloader):

     
    grub> chainloader +1
    

    `+1' indica que GRUB debe leer un sector desde el principio de la partición. La descripción completa de esta sintaxis se encuentra en 11.3 Como especificar listas de bloques.

  4. Ejecuta la orden boot (mirar sección 12.8.2 boot).

Sin embargo, DOS y Windows poseen algunas deficiencias, por lo que quizás necesites usar instrucciones más complicadas. mirar sección 4.2.6 DOS/Windows, para más información.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2 Particularidades de algunos sistemas operativos

Aquí describimos particularidades de varios sistemas operativos.

4.2.1 GNU/Hurd  
4.2.2 GNU/Linux  
4.2.3 FreeBSD  
4.2.4 NetBSD  
4.2.5 OpenBSD  
4.2.6 DOS/Windows  
4.2.7 SCO UnixWare  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2.1 GNU/Hurd

Debido a que GNU/Hurd se acoje a la especificación Multiarranque resulta sencillo arrancarlo; no hay nada especial en hacerlo. Pero no olvides que tienes que especificar una partición raiz al núcleo.

  1. Fija el dispositivo raiz de GRUB en la misma unidad que la de GNU/Hurd. Puedes ayudarte con una orden find /boot/gnumach o similar (mirar sección 12.8.11 find).

  2. Carga el núcleo y el módulo de esta manera:

     
    grub> kernel /boot/gnumach root=hd0s1
    grub> module /boot/serverboot
    

  3. Ejecuta la orden boot (mirar sección 12.8.2 boot).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2.2 GNU/Linux

Resulta relativamente sencillo arrancar GNU/Linux desde GRUB, ya que se asemeja de alguna manera a un SO Multiarranque.

  1. Fija el dispositivo ráiz de GRUB en el mismo dispositivo que GNU/Linux. Puedes ayudarte de una orden como find /vmlinuz o similar (mirar sección 12.8.11 find).

  2. Carga el núcleo:

     
    grub> kernel /vmlinuz root=/dev/hda1
    

    Si necesitas especificar algún otro parámetro del núcleo añádelos sin más a la orden. Por ejemplo, para poner la `vga' en `ext' usa:

     
    grub> kernel /vmlinuz root=/dev/hda1 vga=ext
    

    Consulta la documentación en el árbol del código fuente del núcleo de Linux para la información completa de todas las opciones disponibles.

  3. Si usas un initrd, ejecuta la orden initrd (mirar sección 12.8.17 initrd) despues de la orden kernel:

     
    grub> initrd /initrd
    

  4. Para terminar, ejecuta la orden boot (mirar sección 12.8.2 boot).

Precaución: Si usas un initrd y especificas la opción ` mem=' al núcleo, para lograr que use una cantidad de memoria menor que la existente necesitas especifar a GRUB el mismo tamaño de memoria. Para comunicar el tamaño a GRUB, ejecuta la orden uppermem antes de cargar el núcleo. mirar sección 12.8.37 uppermem, para más información.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2.3 FreeBSD

GRUB puede cargar el núcleo directamente, tanto en formato ELF como a.out. Sin embargo, no es recomendable hacerlo así porque la interfaz de arranque de FreeBSD cambia bastante en algunas ocasiones, por lo que GRUB no puede garantizar que los parámetros se pasen al núcleo correctamente.

Por esto, recomendamos que se utilice en su lugar el flexible cargador `/boot/loader'. Como en el siguiente ejemplo:

 
grub> root (hd0,a)
grub> kernel /boot/loader
grub> boot


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2.4 NetBSD

GRUB es capaz de cargar los formatos ELF y a.out de NetBSD directamente, siguiendo estos pasos:

  1. Fija el dispositivo raiz de GRUB con root (mirar sección 12.8.31 root).

  2. Carga el núcleo con la orden kernel (mirar sección 12.8.20 kernel). Si quieres cargar un núcleo ELF, deberías añadir la fea opción ` --type=netbsd' como a continuación:

     
    grub> kernel --type=netbsd /netbsd-elf
    

  3. Ejecuta la orden boot (mirar sección 12.8.2 boot).

Sin embargo, Grub por ahora no permite pasarle parámetros al núcleo, por lo que es más conveniente cargarlo en cadena. Para más información mira por favor 4.1.2 Carga otro gestor de arranque para arrancar SOs no soportados.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2.5 OpenBSD

Las instrucciones para el arranque son exactamente las mismas que para NetBSD (mirar sección 4.2.4 NetBSD).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2.6 DOS/Windows

GRUB no puede cargar DOS o Windows directamente, por lo que debes usar el arranque en cadena (mirar sección 4.1.2 Carga otro gestor de arranque para arrancar SOs no soportados). Sin embargo, los gestores de arranque de estos sistemas poseen algunas deficiencias críticas, por lo que es posible que no valga con cargarlos en cadena sin más. Para superar estas dificultades, GRUB pone a tu disposición dos funciones de ayuda.

Si has instalado DOS (o Windows) en un disco duro distinto del primero, debes usar la técnica de intercambio de discos, ya que ese sistema operativo no puede arrancar desde un disco que no sea el primero. La solución empleada en GRUb es la orden map (mirar sección 12.8.23 map):

 
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)

Esto efectúa un intercambio virtual entre la primera y la segunda unidad de disco duro.

Precaución: Esto sólo es efectivo si DOS (o Windows) usan la BIOS para acceder a los discos intercambiados. Si el SO utiliza una controladora especial para los discos, esto probablemente no funcionará.

Otro problema surje si has instalado más de una copia de DOS/Windows en un disco, porque estos SOs se pueden equivocar cuando hay más de una partición primaria para DOS/Windows. Ciertamente, deberías evitar hacer esto, pero existe una solución si quieres hacerlo. Puedes usar la técnica de ocultar/desvelar una partición.

Si GRUB oculta una partición de DOS (o Windows) (mirar sección 12.7.5 unhide), DOS (o Windows) la ignorarán, y si GRUB la desvela (mirar sección 12.7.16 unhide), DOS (o Windows) la detectarán. Así por ejemplo, si has instalado DOS (o Windows) en la primera y segunda partición del primer disco duro, y quieres arrancar la copia en la primera partición, debes hacer:

 
grub> unhide (hd0,0)
grub> hide (hd0,1)
grub> rootnoverify (hd0,0)
grub> chainloader +1
grub> makeactive
grub> boot


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2.7 SCO UnixWare

Se sabe que la firma en el gestor de arranque de SCO UnixWare es incorrecta, por lo que tienes que especificar la opción ` --force' en la orden chainloader como sigue:

 
grub> rootnoverify (hd1,0)
grub> chainloader --force +1
grub> makeactive
grub> boot


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5. Configuración

Como habrás notado, es necesario que escribas unas cuantas órdenes para arrancar un SO. Hay una manera más rápida de hacerlo: GRUB posee una interfaz de menú (mirar sección 12.2 La sencilla interfaz de menú) desde la que puedes seleccionar una entrada (usando las flechas del teclado) que hará todo lo necesario para arrancar un SO.

Para habilitar el menú necesitas un archivo de configuración, `menu.lst' en el directorio de arranque. Vamos a analizar un archivo de ejemplo.

El fichero contiene al principio varias optiones generales relativas a la interfaz de menú. Puedes poner estas opciones (mirar sección 12.6 La lista de órdenes sólo para el menú) antes de las entradas (que empiezan con la orden title (mirar sección 12.6.5 title)).

 
#
# Ejemplo de archivo de configuración del menú
#

como habrás adivinado, estas líneas son comentarios. GRUB ignorará cualquier línea que empiece con el caracter de almohadilla (`#'), así como líneas en blanco.

 
# Arrancar la primera entrada por defecto
default 0

La primera entrada (contando a partir del número cero, no uno) será la elección por defecto.

 
# Arrancar automáticamente despues de 30 segundos
timeout 30

Como indica el comentario, GRUB arrancará automáticamente en 30 segundos, a no ser que sea interrumpido por la presión de una tecla.

 
# Descolgarse a la segunda entrada
fallback 1

Si por alguna razón la entrada por defecto no funcionara, intentar la segunda (esta opción rara vez se usa, por razones obvias).

La descripción completa de estas órdenes, específicas de la interfaz de menú se encuentra en 12.6 La lista de órdenes sólo para el menú. El resto de descripciones se pueden encontrar en 12.5 Lista de las órdenes disponibles.

Pasamos ahora a las definiciones de SO. Verás que todas las entradas empiezan con la orden especial title (mirar sección 12.6.5 title), y que las instrucciones se encuentran a continuación. Observa que no hay una orden boot (mirar sección 12.8.2 boot) al final de cada entrada. Esto se debe a que GRUB ejecuta automáticamente boot si ha cargado con éxito el resto de órdenes.

El argumento de la orden title se utiliza a modo de título o descripción de la entrada del menú. La orden title presenta el argumento tal cual, por lo que puedes escribir basicamente lo que quieras.

 
# Para arrancar GNU/Hurd
title  GNU/Hurd
root   (hd0,0)
kernel /boot/gnumach.gz root=hd0s1
module /boot/serverboot.gz

Esto arranca GNU/Hurd en el primer disco duro.

 
# Para arrancar GNU/Linux
title  GNU/Linux
kernel (hd1,0)/vmlinuz root=/dev/hdb1

Esto arranca GNU/Linux, pero en el segundo disco duro.

 
# Para arrancar Mach (obteniendo el núcleo de un disquete)
title  Utah Mach4 multiboot
root   (hd0,2)
pause  Insert the diskette now^G!!
kernel (fd0)/boot/kernel root=hd0s3
module (fd0)/boot/bootstrap

Esto arranca Mach con el núcleo en un disquete, pero con el sistema de ficheros en hd0s3. También contiene una línea con la orden pause (mirar sección 12.8.27 pause), que obliga a GRUB a presentar un mensaje y esperar antes de ejecutar el resto de órdenes.

 
# Para arrancar FreeBSD
title  FreeBSD
root   (hd0,2,a)
kernel /boot/loader

Esta entrada arranca el núcleo de FreeBSD, cargándolo de la partición `a' de la tercera "rodaja" de PC (slice) del primer disco duro.

 
# Para arrancar OS/2
title OS/2
root  (hd0,1)
makeactive
# Carga en cadena el gestor de OS/2 del primer sector
chainloader +1
# Esto es similar a "chainload", pero cargando un archivo
#chainloader /boorsect.os2

Esto arranca OS/2, usando el arranque en cadena (mirar sección 4.1.2 Carga otro gestor de arranque para arrancar SOs no soportados).

 
# Para arrancar WindowsNT o Windows95
title Windows NT / Windows 95 boot menu
root        (hd0,0)
makeactive
chainloader +1
# Para cargar DOS si WindowsNT está instalado
# chainload /bootsect.dos

Lo mismo que el anterior, pero para Windows.

 
# Para instalar GRUB en el disco duro
title Install GRUB into the hard disk
root    (hd0,0)
setup   (hd0)

Esto simplemente (re)instala GRUB en el disco duro

 
# cambia los colores
title Change the colors
color light-green/brown blink-red/blue

En la última entrada, se usa la orden color (mirar sección 12.7.2 color) para cambiar los colores del menú (pruébalo!). Esta orden es algo especial, ya que se puede usar en el menú o en la línea de órdenes. GRUB posee varias intrucciones de este tipo, ver 12.7 Lista de las órdenes generales.

Esperamos que ahora ya sepas como utilizar las características básicas de GRUB. Para aprender más sobre GRUB lee los siguientes capítulos.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. Descargar las imágenes del SO de la red

A pesar de que GRUB es un gestor de arranque centrado en el disco, también posee soporte de redes. Para poder utilizarlo en red, necesitas habilitar por lo menos uno de los controladores de red al compilar GRUB. Para más información mira en ` netboot/README.netboot' en la distribución del código fuente.

6.1 Como preparar la red  
6.2 Arranque desde la red  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1 Como preparar la red

GRUB necesita un servidor de ficheros y, de manera opcional, un servidor que asigne una dirección IP a la máquina en la que se ejecuta GRUB. Para lo primero sólo existe por el momento soporte para TFTP. Lo segundo es un servidor BOOTP, DHCP o RARP (6). No es necesario tener los dos servidores en un mismo ordenador. La configuración de estos servidores está fuera del alcance de este manual, dirígete a los manuales específicos de esos protocolos o servidores.

Si has decidido usar un servidor para asignar una dirección IP, pon en marcha el servidor y ejecuta la orden bootp (mirar sección 12.7.1 bootp), dhcp (mirar sección 12.7.4 dhcp) o rarp (mirar sección 12.7.11 rarp) para usar BOOTP, DHCP o RARP respectivamente. Al ejecutarlas, presentarán en pantalla la dirección IP asignada, la máscara de red, la dirección IP del servidor TFTP y la puerta de enlace. Si alguna de las direcciones es incorrecta o si causa algún error, lo más probable es que no tengas los servidores configurados correctamente.

En caso contrario, usa la orden ifconfig como a continuación:

 
grub> ifconfig --address=192.168.110.23 --server=192.168.110.14

También puedes usar la orden ifconfig en conjunción con bootp, dhcp o rarp (por.ej. para reasignar la dirección del servidor manualmente). mirar sección 12.7.6 ifconfig, para más detalles.

Para terminar, descarga las imágenes del SO a través de la red. Se accede a la red mediante la unidad de red `(nd)'. Lo demás es similar a las instrucciones normales (mirar sección 4. Arranque).

He aquí un ejemplo:

 
grub> bootp
Probing... [NE*000]
NE2000 base ...
Address: 192.168.110.23    Netmask: 255.255.255.0
Server: 192.168.110.14     Gateway: 192.168.110.1

grub> root (nd)
grub> kernel /tftproot/gnumach.gz root=sd0s1
grub> module /tftproot/serverboot.gz
grub> boot


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2 Arranque desde la red

A veces resulta muy útil poder arrancar a través de la red, especialmente cuando se usan máquinas que no tienen disco duro local. En estos casos, necesitas obtener algún tipo de ROM para arranque por red (Net Boot), como los ROM PXE o el programa libre Etherboot. Un ROM de arranque de este tipo primero arranca el ordenador, prepara la tarjeta de red instalada en el ordenador, y descarga la imagen para la segunda etapa del arranque de la red. Esta segunda imágen es la que en realidad se encarga después de arrancar el sistema operativo a través de la red.

GRUB posee dos imágenes para la segunda etapa: `nbgrub' y `pxegrub' (mirar sección 10. Archivos de imagen de GRUB). Estas imágenes son iguales a una Etapa 2 normal, excepto en que preparan la red de manera automática e intentan descargar un archivo de configuración de la red si se ha especificado uno. El modo de empleo es muy sencillo: Si la máquina tiene un ROM PXE, usa `pxegrub'. Si la máquina tiene un cargador NBI, como por ejemplo Etherboot, usa `nbgrub'. La única diferencia entre ellas es el formato. La manera de descargar la imagen de la segunda etapa estará detallada en el manual de tu ROM de arranque de red (Net Boot), así que consulta ese manual para más información.

Hay sin embargo un asunto específico de GRUB: cómo especificar un archivo de configuración en un servidor BOOTP/DHCP ? Por ahora, GRUB utiliza la marca `150' para obtener el nombre del archivo de configuración. Lo que sigue es un ejemplo de una configuración BOOTP:

 
.allhost:hd=/tmp:bf=null:\
        :ds=145.71.35.1 145.71.32.1:\
        :sm=255.255.254.0:\
        :gw=145.71.35.1:\
        :sa=145.71.35.5:

foo:ht=1:ha=63655d0334a7:ip=145.71.35.127:\
        :bf=/nbgrub:\
        :tc=.allhost:\
        :T150="(nd)/tftpboot/menu.lst.foo":

Mira en el manual de tu servidor BOOTP/DHCP para más información. La sintaxis exacta será algo diferente de la del ejemplo.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7. Usar GRUB a través de la línea de serie

Este capítulo describe como usar el soporte para terminales de serie en GRUB.

Si dispones de varios ordenadores o de ordenadores sin pantalla o teclado, puede resultar muy útil poder controlar los ordenadores a través de la comunicación serial. Para conectar un ordenador con otro a través de la línea de serie necesitas preparar un cable de serie null-modem cruzado, y si el ordenador no posee puertos de serie de sobra quizás necesites un panel multipuerto de serie. Necesitas además un emulador de terminal como minicom. Consulta el manual de tu sistema operativo para más información.

Con respecto a GRUB, la instrucción para preparar una terminal de serie es bastante simple. Primeramente, asegúrate de no haber especificado la opción `--disable-serial' al fichero de configuración cuando compilaste las imágenes de GRUB. Si las obtuviste en formato binario lo más probable es que tengan el soporte para terminales de serie habilitado.

Después inicia la terminal de serie una vez empezado GRUB. Aquí tienes un ejemplo:

 
grub> serial --unit=0 --speed=9600
grub> terminal serial

La orden serial inicia la unidad de serie 0 con la velocidad de 9600bps. La unidad de serie 0 es lo que generalmente se conoce como `COM1', por lo que si quieres utilizar el COM2, debes utilizar `--unit=1' en su lugar. Esta orden acepta muchas otras opciones. Puedes dirigirte a 12.7.12 serial para más detalles.

La orden terminal (mirar sección 12.7.14 terminal) elige el tipo de terminal que quieras usar. En el caso anterior, la terminal será una de serie, pero también podrías pasarle console a la instrucción, como en `terminal serial console'. En este caso, la terminal en la que pulses una tecla cualquiera será seleccionada por GRUB.

Observa sin embargo que GRUB asume por defecto que tu emulador de terminal es compatible con VT100. Esto es así con la mayoría de los emuladores de terminal hoy en día, pero en el caso de que tu emulador no sea compatible con VT100 o que implemente solo algunas de las secuencias de escape de VT100, debes pasarle a la instrucción la opción `--dumb'. Especificando esta opción, GRUB presentará un interfaz de menú alternativo, ya que el menú normal requiere varias características especiales de la terminal.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8. Embedding a configuration file into GRUB

GRUB admite un menú predeterminado que se carga siempre antes de empezar. La posibilidad de un menú predeterminado es util cuando por ejemplo, tu ordenador no tiene otra consola que el cable de serie. En este caso, resulta crítico poner en marcha la terminal de serie tan pronto como sea posible, puesto que no puedes ver ningún mensaje hasta que la terminal de serie empieza a funcionar. Así que resulta útil ejecutar las órdenes serial (mirar sección 12.7.12 serial) y terminal (mirar sección 12.7.14 terminal) antes que cualquier nada más comenzar.

El funcionamiento del menú predeterminado es un poco complicado:

  1. GRUB comprueba si se está usando la opción de menú predeterminado, y carga el menú predeterminado si está disponible. Esto incluye ejecutar órdenes y leer entradas de arranque como en un archivo de configuración ordinario.

  2. GRUB comprueba si el archivo de configuración está disponible. Observa que esta comprobación se hace sin importar la existencia del menú predeterminado. Se carga el archivo de configuración, incluso después de que se haya cargado el menú predeterminado.

  3. Si el menú predeterminado incluye alguna entrada de arranque, estás se borran cuando se carga el archivo de configuración. No importa si el archivo de configuración tiene o no alguna entrada. Las entradas de arranque del menú predeterminado solo se usan cuando GRUB no consigue cargar el archivo de configuración.

Para habilitar la opción de menú predeterminado, debes especificar el archivo al realizar la configuración mediante la la opción `--enable-preset-menu'. Este archivo tiene el mismo contenido que los archivos de configuración. (mirar sección 5. Configuración).

Otro detalle que deberías tener en cuenta es que el soporte para máquinas sin disco (mirar sección 6.2 Arranque desde la red) duplica el menú predeterminado. Las imágenes sin disco incluyen un menú predeterminado para ejecutar la orden bootp (mirar sección 12.7.1 bootp) automáticamente, a no ser que especifiques tu propio menú al configurar. Esto también implica que debes incluir las órdenes para iniciar la red en tú menú, ya que las imágenes sin disco no la inician de manera automática cuando has especificado el menú explicitamente.

Por lo tanto, un menú típico para ser usado con soporte sin disco sería algo así:

 
# Lo primero de todo, iniciar la terminal de serie
serial --unit=0 --speed=19200
terminal --timeout=0 serial

# Iniciar la red
dhcp


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9. Protege tu ordenador de accesos no autorizados

Si compartes el ordenador con otras personas, quizás te interese evitar que cualquiera pueda usarlo a su antojo. Este capítulo describe como mejorar la seguridad de GRUB.

Una de las cosas que podría constituir un agujero de seguridad es que el usuario puede hacer demasiadas cosas desde GRUB, ya que GRUB permite que se modifique la configuración y que se ejecuten órdenes arbitrarias en el arranque. Por ejemplo, el usuario puede incluso leer el archivo `/etc/passwd' desde la interfaz de la línea de órdenes usando la orden cat (mirar sección 12.8.3 cat). Así que es necesario suprimir todas las operaciones interactivas.

GRUB admite una contraseña, de manera que solo los administradores puedan iniciar las operaciones interactivas (es decir, editar entradas de menú y entrar en la interfaz de la línea de órdenes). Para utilizar esta opción, necesitas ejecutar la orden password en tu archivo de configuración (mirar sección 12.7.10 password) de esta manera:

 
password --md5 PASSWORD

Si se especifica esta línea, GRUB deshabilita cualquier control interactivo hasta que se pulse la tecla p y se introduzca la contraseña correcta. La opción `--md5' le dice a GRUB que `PASSWORD' tiene formato MD5. Si se omite, GRUB asume que la contraseña `PASSWORD' está en texto simple.

Puedes encriptar tu contraseña con la orden md5crypt (mirar sección 12.8.24 md5crypt). Por ejemplo, ejecuta el intérprete (shell) de grub (mirar sección 14. Invocar el intérprete grub) e introduce tu contraseña:

 
grub> md5crypt
Password: **********
Encrypted: $1$U$JK7xFegdxWH6VuppCUSIb.

Después corta y pega la contraseña encriptada en tu archivo de configuración.

También puedes especificar un argumento opcional a la orden password como en el siguiente ejemplo:

 
password PASSWORD /boot/grub/menu-admin.lst

En este caso, GRUB cargará el archivo `/boot/grub/menu-admin.lst' como archivo de configuración cuando se introduzca la contraseña correcta.

Otra de las cosas que puede ser peligrosa es la posibilidad de escoger cualquier entrada del menú. Por lo general esto no tiene que resultar un problema, pero quizás quieras que solo los administradores puedan usar algunas entradas en particular, como por ejemplo una entrada que arranque un SO sin seguridad como DOS.

GRUB facilita la orden lock (mirar sección 12.8.21 lock). Esta orden falla siempre hasta que introduzcas una contraseña válida, por lo que se puede usar de la siguiente manera:

 
title Boot DOS
lock
rootnoverify (hd0,1)
makeactive
chainload +1

Deberías insertar lock justo detrás de la orden title porque cualquier usuario puede ejecutar las órdenes en una entrada hasta que GRUB encuentra la orden lock.

También puedes usar la orden password en lugar de lock. En ese caso el proceso de arranque pediría la contraseña, y se detendría si se introdujera incorrectamente. Como la orden password toma su propio argumento PASSWORD, esto puede resultar útil si quieres contraseñas diferentes para cada entrada.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10. Archivos de imagen de GRUB

GRUB está compuesto por varias imágenes: dos imágenes esenciales, etapas opcionales llamadas Etapa 1.5, y dos imágenes de arranque de red. Aquí presentamos una pequeña descripción de todas ellas, ver @xref{Interiores}, para más detalles.

`stage1'
Esta es en esencia la imagen utilizada para cargar GRUB. Normalmente la imagen se inserta en el sector maestro de arranque (MBR) o en el sector de arranque de una partición. Como el sector de arranque de un PC tiene 512 bytes, el tamaño de esta imagen es exactamente 512 bytes.

Todo lo que `stage1' tiene que hacer es cargar la Etapa 2 o la Etapa 1.5 de un disco local. Debido a las limitaciones de espacio, `stage1' codifica el emplazamiento de la Etapa 2 (o de la Etapa 1.5) en formato de lista de bloques, por lo que no llega a entender ninguna estructura de sistemas de ficheros.

`stage2'
Esta es la imagen central de GRUB. Lo hace todo excepto arrancarse a si misma. Se sitúa por lo general dentro de un sistema de ficheros, aunque no es imprescindible.

`e2fs_stage1_5'
`fat_stage1_5'
`ffs_stage1_5'
`jfs_stage1_5'
`minix_stage1_5'
`reiserfs_stage1_5'
`vstafs_stage1_5'
`xfs_stage1_5'

Se les llama Etapa 1.5 porque su misión es la de un puente entre `stage1' y `stage2', es decir, la Etapa 1 carga la Etapa 1.5, y ésta carga la Etapa 2. La diferencia entre `stage1' y ` *_stage1_5' es que la primera no entiende de sistemas de ficheros y la segunda entiende uno (por.ej. `e2fs_stage1_5' entiende ext2fs). Por esto puedes mover la Etapa 2 a otro lugar sin problemas, incluso después de haber instalado GRUB.

Mientras la Etapa 2 no se puede, en general, insertar en una zona fija debido a su gran tamaño, la Etapa 1.5 se puede instalar en la zona justo detrás del MBR, o en la zona del gestor de arranque de un ResiserFS o FFS.

`nbgrub'
Esta es una imagen para el arranque por red usada por la Propuesta de Imagen de Red (Network Image Proposal) que utilizan algunos gestores de arranque de red como Etherboot. Es prácticamente igual a la Etapa 2, pero además prepara la red y carga el fichero de configuración a través de ella.

`pxegrub'
Esta es otra imagen de arranque por red para el Sistema de Ejecución de Prearranque (Preboot Execution Environment) usado por varios ROMs Netboot. Es idéntica a `nbgrub' excepto por el formato.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11. Sintaxis y semántica del sistema de ficheros

GRUB utiliza una sintaxis especial para referirse a las unidades de disco accesibles desde la BIOS. Debido a las limitaciones de la BIOS, GRUB no puede distingur entre IDE, ESDI, SCSI u otros. Tú serás el que tenga que saber la correspondencia entre dispositivos del SO y las unidades de la BIOS. Normalmente estará bastante claro una vez que veas los archivos de un dispositivo, o que uses la orden find (mirar sección 12.8.11 find).

11.1 How to specify devices  Como especificar dispositivos
11.2 Como especificar archivos  
11.3 Como especificar listas de bloques  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.1 How to specify devices

La sintaxis de dispositivos es como sigue:

 
(dispositivo[,nº-part][,letra-subpart-bsd])

`[' indica que el argumento es opcional. El dispositivo debe ser o `fd' o `hd' seguido de un dígito, como en `fd0'. También puedes representar dispositivo con un número hexadecimal o decimal (el número de unidad de la BIOS), por lo que los siguientes son equivalentes:

 
(hd0)
(0x80)
(128)

nº-part representa el número de partición en el dispositivo, empezando desde cero para las particiones primarias y desde cuatro para las lógicas. letra-subpart-bsd representa la etiqueta de la subpartición de BSD, como por ejemplo `a' o `e'.

Una abreviatura para especificar subparticiones BSD es (dispositivo,letra-subpart-bsd), con esto GRUB busca la primera partición del PC con una etiqueta BSD, y después selecciona la partición letra-subpart-bsd. Este es un ejemplo:

 
(hd0,a)

Una sintaxis como `(hd0)' indica que se utilice el disco entero (o el MBR en caso de estar instalando GRUB), mientras que una sintaxis como `(hd0,0)' indica que se use la partición del disco (o el sector de arranque de la partición en caso de querer instalar GRUB).

Si has habilitado el soporte de red, también dispones de la unidad especial `(nd)'. Antes de poder usar la unidad de red debes iniciar la red. mirar sección 6. Descargar las imágenes del SO de la red, para más información.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.2 Como especificar archivos

Hay dos maneras de especificar archivos: mediante el nombre absoluto del fichero y mediante lista de bloques.

El nombre absoluto del fichero se asemeja al nombre absoluto de fichero en Unix, usando `/' como separador de directorios (no `\' como en DOS). Un ejemplo es `(hd0,0)/boot/grub/menu.lst', que indica el archivo `/boot/grub/menu.lst' en la primera partición del primer disco duro. Si omites el nombre del dispositivo en el nombre absoluto del fichero, GRUB usa implícitamente el dispositivo raiz. Así que, si por ejemplo, has fijado el dispositivo raiz en `(hd1,0)' con la orden root (mirar sección 12.8.31 root), /boot/kernel sería equivalente a (hd1,0)/boot/kernel.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.3 Como especificar listas de bloques

La lista de bloques se utiliza para especificar un archivo que no aparece en el sistema de ficheros, como un gestor de arranque. La sintaxis es [inicio]+longitud[,[inicio]+longitud].... Un ejemplo:

 
0+100,200+1,300+300

Esto indica que GRUB debe leer los bloques del 0 al 99, el bloque 200, y los bloques del 300 al 599. Si omites un inicio GRUB asume que debe empezar desde 0.

Igual que en la sintaxis de ficheros (mirar sección 11.2 Como especificar archivos), si una lista de bloques no contiene un nombre de dispositivo, GRUB usa el dispositivo raiz. Así (hd0,1)+1 equivale a +1 cuando el dispositivo raiz es `(hd0,1)'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12. Interfaz de usuario de GRUB

GRUB posee tanto una simple interfaz de menú donde escoger entradas ya preparadas en un archivo de configuración como una línea de órdenes flexible para ejecutar cualquier combinación de órdenes de arranque que se desee.

Tan pronto como se carga GRUB, éste busca el archivo de configuración. Si encuentra uno, activa la interfaz de menú utilizando las entradas que se encuentren en el archivo. Si utilizas la opción del menú de línea de órdenes o si GRUB no encuentra un archivo de configuración, se activa la línea de órdenes.

12.1 La flexible interfaz de línea de órdenes  
12.2 La sencilla interfaz de menú  
12.3 Editar una entrada del menú  
12.4 La interfaz de menú oculta  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.1 La flexible interfaz de línea de órdenes

La interfaz de la línea de órdenes consiste, como en Unix o DOS, de un cursor (prompt) con espacio a continuación para introducir texto. GRUB ejecuta las órdenes inmediatamente cuando son introducidas (7). Las órdenes (mirar sección 12.8 La lista de órdenes para el menú y la línea de órdenes) son un subconjunto de las disponibles en el fichero de configuración, y se usan exactamente con la misma sintaxis.

La edición de texto y el movimiento del cursor se puede hacer a través de un subconjunto de las funciones disponibles en el intérprete de órdenes Bash:

C-f
Flecha derecha
Moverse hacia delante un caracter.

C-b
Flecha izquierda
Moverse hacia atrás un caracter

C-a
INICIO
Moverse al inicio de la línea.

C-e
END
Moverse al final de la línea.

C-d
DEL
Borrar el caracter bajo el cursor.

C-h
BS
Borrar el caracter a la izquierda del cursor.

C-k
Suprimir el texto desde la posición actual del cursor al final de la línea.

C-u
Suprimir hacia atrás, desde el cursor hasta el principio de la línea.
C-y
Recuperar el texto suprimido en la posición del cursor.

C-p
Flecha arriba
Moverse hacia arriba en la historia de órdenes.

C-n
Flecha abajo
Moverse hacia abajo en la historia de órdenes.

Cuando escribes órdenes interactivamente, si el cursor está en medio o antes de la primera palaba en la línea de órdenes, presionar el tabulador (o C-i) te mostrará una lista de las órdenes disponibles, y si el cursor está detrás de la primera palabra, el tabulador mostrará una lista de discos, particiones o nombres de archivos, dependiendo del contexto.

Nota que no puedes utilizar la función de auto completar en el sistema de ficheros de TFTP. Esto se debe a que TFTP no implementa el listado de ficheros por motivos de seguridad.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.2 La sencilla interfaz de menú

La interfaz de menú es muy sencilla de usar. Las órdenes son razonablemente intuitivos además de estar descritos en pantalla.

Básicamente, la interfaz de menú presenta una lista de opciones de arranque entre las que el usuario puede escoger. Usa las flechas del teclado para seleccionar la entrada que quieras, y pulsa RETORNO para ejecutarla. Opcionalmente, al concluir el tiempo de espera, se arranca la entrada seleccionada por defecto (la primera si no se ha especificado una), a no ser que se pulse una tecla.

Se pueden introducir órdenes pulsando la tecla c, lo que presenta una línea de órdenes (que opera exactamente igual que en la versión de GRUB sin fichero de configuración, con la excepción de que te permite volver al menú pulsando ESC). También se pueden editar las entradas de arranque pulsando la tecla e.

Si has protejido la interfaz de menú mediante una contraseña (mirar sección 9. Protege tu ordenador de accesos no autorizados), todo lo que podrás hacer será escoger una entrada pulsando RETORNO, o pulsar p para introducir la contraseña.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.3 Editar una entrada del menú

El editor de entradas del menú se parece bastante a la interfaz de menú principal, pero en las líneas del editor verás las órdenes de la entrada seleccionada en lugar de los nombres de las distintas entradas.

Si se pulsa ESCAPE en el editor, se descartan todos los cambios hechos en la entrada seleccionada, volviendo a la pantalla del menú principal.

Cuando se selecciona una línea en particular, el editor coloca al usuario en una versión especial de la línea de órdenes de GRUB para que edite la línea. Cuando el usuario pulsa RETURN, GRUB reemplaza la línea en cuestión en la opción de arranque con los nuevos cambios (a no ser que se aborte a través de la tecla ESCAPE, en cuyo caso se descartan los cambios).

Si quieres añadir una línea nueva a la entrada del menú, pulsa o para añadirla debajo de la línea sobre la que te encuentres o O para añadirla sobre ella.

Para borrar una línea pulsa la tecla d. Aunque desafortunadamente GRUB no implementa la opción de deshacer, se obtiene practicamente el mismo resultado retornando al menú principal.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.4 La interfaz de menú oculta

En el caso de utilizar una terminal tipo "dumb" o de haber solicitado explicitamente a GRUB que esconda el menú mediante la orden hiddenmenu (mirar sección 12.6.3 hiddenmenu), GRUB no presentará la interfaz de menú (mirar sección 12.2 La sencilla interfaz de menú), y arrancará automáticamente la opción por defecto, a no ser que se interrumpa pulsando ESCAPE.

Cuando se interrumpe la cuenta atrás del tiempo de espera y la terminal es del tipo "dumb", GRUB retorna a la interfaz de la línea de órdenes (mirar sección 12.1 La flexible interfaz de línea de órdenes).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.5 Lista de las órdenes disponibles

En este capítulo detallamos todas las órdenes disponibles en GRUB.

Las órdenes están divididas en diferentes grupos. Unas pocas sólo pueden usarse en la sección global del archivo de configuración (o "menú"); La mayoría de ellas se puede usar en la línea de órdenes y tanto en el menú como en las opciones del menú.

12.6 La lista de órdenes sólo para el menú  
12.7 Lista de las órdenes generales  
12.8 La lista de órdenes para el menú y la línea de órdenes  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.6 La lista de órdenes sólo para el menú

Las reglas para componer un archivo de configuración son las siguientes:

Las órdenes siguientes solo pueden usarse en el menú:

12.6.1 default  Fija la entrada por defecto
12.6.2 fallback  Fija la entrada de repuesto
12.6.3 hiddenmenu  Esconde la interfaz de menú
12.6.4 timeout  Pone un tiempo de espera
12.6.5 title  Encabeza una entrada del menú


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.6.1 default

Orden: default num
Establece como opción por defecto la número num. La numeración empieza en 0, y la número 0 es la opción por defecto si no se usa esta orden.

También puedes utilizar `saved' en vez de un número. En este caso, la opción por defecto es la guardada con la orden savedefault . mirar sección 12.8.33 savedefault, para más información.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.6.2 fallback

Orden: fallback num
Entrar en el arranque sin supervisión: si la opción de arranque por defecto tiene algún error, en vez de esperar a que el usuario haga algo, empezar de nuevo pero con la opción num (la numeración funciona igual que en la orden default (mirar sección 12.6.1 default). Obviamente, esto no surtirá efecto si el núcleo que GRUB arrancó reinica la máquina.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.6.3 hiddenmenu

Orden: hiddenmenu
No mostrar el menú. Si se usa esta orden, no se mostrará ningún menú en la terminal de control, y se arrancará la opción por defecto cuando concluya el tiempo de espera. El usuario puede sin embargo obtener el menú pulsando la tecla ESCAPE antes de que acabe el tiempo de espera. Ver también 12.4 La interfaz de menú oculta.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.6.4 timeout

Orden: timeout sec
Fijar el tiempo de espera en sec segundos, antes de arrancar automáticamente la opción por defecto (normalmente la primera definida).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.6.5 title

Orden: title nombre ...
Comienza una nueva opción de arranque. El nombre de la opción viene dado por el resto de la línea a partir del primer caracter que no sea un espacio.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7 Lista de las órdenes generales

Ordenes que se pueden usar tanto en el menú como en la línea de órdenes.

12.7.1 bootp  Inicia un dispositivo de red mediante BOOTP
12.7.2 color  Colorea la interfaz de menú
12.7.3 device  Specifica un archivo como dispositivo
12.7.4 dhcp  Inicia un dispositivo de red mediante DHCP
12.7.5 unhide  Esconde una partición
12.7.6 ifconfig  Configura una unidad de red manualmente
12.7.7 pager  Cambia el estado del mensáfono interno
12.7.8 partnew  Crea una partición primaria
12.7.9 parttype  Cambia el tipo de una partición
12.7.10 password  Pone una contraseña para la interfaz de menú
12.7.11 rarp  Inicia un dispositivo de red mediante RARP
12.7.12 serial  Prepara un dispositivo de serie
12.7.13 setkey  Configura el mapa de teclas
12.7.14 terminal  Elige una terminal
12.7.15 tftpserver  Specifica un servidor TFTP
12.7.16 unhide  Desvela una partición


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.1 bootp

Orden: bootp [`--with-configfile']
Inicia el dispositivo de red mediante el protocolo BOOTP. Está orden solo está disponible si se compila GRUB con soporte para arranque por red. Ver también 6. Descargar las imágenes del SO de la red.

Si especificas la opción `--with-configfile' en la orden, GRUB obtendrá y cargará el archivo de configuración especificado por tu servidor BOOTP, con la marca de vendedor `150'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.2 color

Orden: color normal [resaltado]
Cambia los colores del menú. El color normal se usa para las líneas del menú (mirar sección 12.2 La sencilla interfaz de menú), y el color resaltado se usa para resaltar la línea que señala el cusor. Si omites resaltado, se usa el color inverso a normal para la línea resaltada. El formato de un color es primer plano/ fondo. primer plano y fondo son nombres simbólicos de colores. El nombre tiene que ser uno de estos:

Sólo los primeros ocho nombres son válidos para fondo. Puedes usar el prefijo blink- para el color primer plano si quieres un color de primer plano parpadeante.

Esta orden se puede utilizar en el archivo de configuración y en la línea de órdenes, por lo que podriás escribir en tu archivo de configuración algo como esto:

 
# Poner los colores por defecto
color light-gray/blue black/light-gray

# Cambia los colores.
title OS-BS like
color magenta/blue black/magenta


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.3 device

Orden: device unidad fichero
En el intérprete de grub, especifica el archivo fichero como la correspondencia de la unidad de BIOS unidad. Puedes usar esta orden para crear una imagen de disco y/o para arreglar las unidades adivinadas por GRUB cuando las determine incorrectamente. Por ejemplo:

 
grub> device (fd0) /floppy-image
grub> device (hd0) /dev/sd0

Esta orden sólo se puede usar en el intérprete grub (mirar sección 14. Invocar el intérprete grub).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.4 dhcp

Orden: dhcp [--with-configfile]
Inicia un disposivo de red a través del protocolo DHCP. En la actualidad, esta orden es solamente un alias para la orden bootp, ya que los dos protocolos son muy parecidos. Esta orden sólo está disponible si se compila GRUB con soporte de red. Ver también 6. Descargar las imágenes del SO de la red.

Si con esta orden utilizas `--with-configfile', GRUB obtendrá y cargará el archivo de configuración especificado por tu servidor DHCP, con marca de vendedor `150'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.5 unhide

Orden: hide partición
Esconde la partición partición añadiendo la señal hidden (escondida) al código de partición. Esto es útil para arrancar DOS o Windows cuando existe más de una partición fat primaria en un mismo disco. Ver también 4.2.6 DOS/Windows.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.6 ifconfig

Orden: ifconfig [`--server=servidor'] [`--gateway=p_enlace'] [`--mask=máscara'] [`--address=dirección']
Configura la dirección de IP, la máscara de red, la puerta de enlace y la dirección del servidor de un dispositivo de red manualmente. Los valores deben estar en formato decimal, como `192.168.11.178'. El orden de las opciones no importa. Esta orden muestra la configuración de red actual cuando no se especifica ninguna opción. Ver también 6. Descargar las imágenes del SO de la red.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.7 pager

Orden: pager [estado]
Activa o desactiva el "mensáfono" interno. Si estado es on se activa, y si es off se desactiva. Si no se especifica ningún argumento el mensáfono cambia de estado.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.8 partnew

Orden: partnew part tipo desde a
Crea una nueva partición primaria; part especifica una partición en el lenguaje de GRUB (mirar sección 2. Nomenclatura); tipo es el tipo de partición, y debe ser un número en el rango 0-0xff; desde y a son los sectores inicial y final, expresados en valores de sector absolutos.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.9 parttype

Orden: parttype part tipo
Cambia el tipo de una partición existente. part es el nombre de la partición en lenguaje de GRUB (mirar sección 2. Nomenclatura); tipo es el nuevo tipo de partición, y debe ser un número en el rango 0-0xff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.10 password

Orden: password [`--md5'] passwd [nuevo-archivo-config]
Si se usa en la primera sección de un fichero de menú, deshabilita el control de edición interactiva (editor de opciones de menú y línea de órdenes) y las opciones protegidas mediante la orden lock. Si se ha especificado nuevo-archivo-config, al introducir la contraseña passwd éste es cargado como el nuevo archivo de configuración, y se reinicia la Etapa 2 de GRUB. En caso contrario, GRUB simplemente habilita las instrucciones privilegiadas. Puedes usar esta orden en una sección de arranque automático, en cuyo caso GRUB pedirá la contraseña antes de continuar. La opción `--md5' le dice a GRUB que la contraseña está encriptada con md5crypt (mirar sección 12.8.24 md5crypt).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.11 rarp

Orden: rarp
Inicia un dispositivo de red a través del protocolo RARP. Esta orden solo está disponible si se ha compilado GRUB con soporte de red. Ver también 6. Descargar las imágenes del SO de la red.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.12 serial

Orden: serial [`--unit=unidad'] [`--port=puerto'] [`--speed=velocidad'] [`--word=palabra'] [`--parity=paridad'] [`--stop=stop'] [`--device=disp']
Inicia el dispositivo de serie. unidad es un número entre 0 y 3, que especifica el puerto de serie a utilizar; por defecto se usa 0, que corresponde al puerto normalmente conocido como COM1. puerto es el puerto de E/S donde se encuentra el UART; si se especifica, toma preferencia sobre unidad. velocidad es la velocidad de transmisión; 9600 por defecto. palabra y stop es el número de bits de datos y de bits de parada. Los bits de datos deben estar en el rango 5-8, y los bits de parada son 1 o 2. Por defecto se usan 5 bits de datos y 1 bit de parada. paridad es uno de los siguientes: `no', `odd' o `even'. Por defecto es `no'. La opción `--device' sólo se puede utilizar en el intérprete de grub, e indica el dispositivo tty en el SO anfitrión que se debe usar (mirar sección 14. Invocar el intérprete grub).

El puerto de serie no se utiliza como canal de comunicación a no ser que se use la orden terminal (mirar sección 12.7.14 terminal).

Esta orden solo está disponible cuando se ha compilado GRUB con soporte para terminal de serie. Ver también 7. Usar GRUB a través de la línea de serie.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.13 setkey

Orden: setkey [de_tecla a_tecla]
Cambia el mapa del teclado. Hace corresponder la tecla de_tecla a la tecla a_tecla. Si no se especifica ningún argumento se reinicia el mapa del teclado. Nota que esta orden no intercambia las teclas. Si lo que quieres es intercambiar las teclas debes usar la orden de nuevo con los argumentos intercambiados. Por ejemplo:

 
grub> setkey capslock control
grub> setkey control capslock

La tecla debe ser una letra del alfabeto, un dígito o uno de estos símbolos: `escape', `exclam', `at', `numbersign', `dollar', `percent', `caret', `ampersand', `asterisk', `parenleft', `parenright', `minus', `underscore', `equal', `plus', `backspace', `tab', `bracketleft', `braceleft', `bracketright', `braceright', `enter', `control', `semicolon', `colon', `quote', `doublequote', `backquote', `tilde', `shift', `backslash', `bar', `comma', `less', `period', `greater', `slash', `question', `alt', `space', `capslock', `FX' (`X' es un dígito), and `delete'. La tabla siguiente describe el caracter al que corresponde cada símbolo:

`exclam'
`!'

`at'
`@'

`numbersign'
`#'

`dollar'
`$'

`percent'
`%'

`caret'
`^'

`ampersand'
`&'

`asterisk'
`*'

`parenleft'
`('

`parenright'
`)'

`minus'
`-'

`underscore'
`_'

`equal'
`='

`plus'
`+'

`bracketleft'
`['

`braceleft'
`{'

`bracketright'
`]'

`braceright'
`}'

`semicolon'
`;'

`colon'
`:'

`quote'
`''

`doublequote'
`"'

`backquote'
``'

`tilde'
`~'

`backslash'
`\'

`bar'
`|'

`comma'
`,'

`less'
`<'

`period'
`.'

`greater'
`>'

`slash'
`/'

`question'
`?'

`space'
` '


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.14 terminal

Orden: terminal [`--dumb'] [`--timeout=segs'] [`--lines=líneas'] [`--silent'] [`console'] [`serial'] [`hercules']
Selecciona una terminal para interacción con el usuario. Asume que la terminal es compatible VT100 a no ser que se especifique la opción `--dumb'. Si se especifica tanto `console' como `serial'm GRUB usará la primera en la que se pulse una tecla, o la primera especificada si acaba el tiempo de espera. Si no se indica ninguna, GRUB informa del estado actual. La orden sólo está disponible si se ha compilado GRUB con soporte para terminal de serie. Ver también 7. Usar GRUB a través de la línea de serie.

Aunque para la mayoría de usuarios no tendrá mucho sentido, GRUB soporta también consola Hércules. La consola Hércules se usa como una consola ordinaria, y su uso se asemeja al de las terminales de serie: indica `hercules' como argumento.

La opción `--lines' define el número de líneas en tu terminal, y se utiliza para la función de mensáfono interno. Si no especificas esta opción, se asume un número de 24 líneas.

La opción `--silent' suprime el mensaje que te pide una pulsación de tecla. Esto puede resultar útil cuando tu sistema no posee un dispositivo de terminal.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.15 tftpserver

Orden: tftpserver dirección_ip
Precaución: Esta orden solo existe para la compatibilidad "hacia atrás". Utiliza ifconfig (mirar sección 12.7.6 ifconfig) en su lugar.

Prevalece sobre la dirección IP de un servidor TFTP indicado por el servidor BOOTP/DHCP/RARP. El argumento dirección_ip debe ir en formato decimal, como en `192.168.0.15'. Esta orden sólo está disponible si se compila GRUB con soporte de arranque por red. Ver también 6. Descargar las imágenes del SO de la red.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.7.16 unhide

Orden: unhide partición
Hace visible la partición partición, quitando la señal de oculta en el código de la partición. Esto resulta útil cuando se arranca DOS o Windows y existen múltiples particiones primarias en un disco. Ver también 4.2.6 DOS/Windows.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8 La lista de órdenes para el menú y la línea de órdenes

Las órdenes siguientes se pueden utilizar tanto en la línea de órdenes como en las opciones del menú. Si no recuerdas alguna de ellas, puedes utilizar la orden help (mirar sección 12.8.15 help).

12.8.1 blocklist  Notación en lista de bloques de un archivo
12.8.2 boot  Arranca el sistema operativo
12.8.3 cat  Muestra el contenido de un archivo
12.8.4 chainloader  Carga en cadena otro gestor de arranque
12.8.5 cmp  Compara dos archivos
12.8.6 configfile  Carga un archivo de configuración
12.8.7 debug  Pone la señal de debug
12.8.8 displayapm  Muestra información de APM
12.8.9 displaymem  Muestra configuración de la memoria
12.8.10 embed  Inserta la Etapa 1.5
12.8.11 find  Busca un fichero
12.8.12 fstest  Comprueba un sistema de ficheros
12.8.13 geometry  Manipula la geometría de una unidad
12.8.14 halt  Apaga el ordenador
12.8.15 help  Muestra mensajes de ayuda
12.8.16 impsprobe  Prueba SMP
12.8.17 initrd  Carga un initrd
12.8.18 install  Instala GRUB
12.8.19 ioprobe  Comprueba los puertos de E/S de una unidad
12.8.20 kernel  Carga un núcleo
12.8.21 lock  Bloquea una entrada de menú
12.8.22 makeactive  Marca una partición como activa
12.8.23 map  Apunta una unidad a otra
12.8.24 md5crypt  Encripta una contraseña en formato MD5
12.8.25 module  Carga un módulo
12.8.26 modulenounzip  Carga un módulo sin descomprimir
12.8.27 pause  Espera a que se pulse una tecla
12.8.28 quit  Sale del intérprete grub
12.8.29 reboot  Reinicia el ordenador
12.8.30 read  Lee datos de la memoria
12.8.31 root  Fija el dispositivo raiz de GRUB
12.8.32 rootnoverify  Fija el dispositivo raiz sin montarlo
12.8.33 savedefault  Salva la entrada actual como por defecto
12.8.34 setup  Instala GRUB automáticamente
12.8.35 testload  Comprueba el sistema de archivos cargando un fichero
12.8.36 testvbe  Comprueba la VESA BIOS EXTENSION
12.8.37 uppermem  Fija el tamaño de la memoria superior
12.8.38 vbeprobe  Prueba la VESA BIOS EXTENSION


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.1 blocklist

Orden: blocklist archivo
Imprime la notación en lista de bloques del archivo archivo. mirar sección 11.3 Como especificar listas de bloques.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.2 boot

Orden: boot
Arranca el SO/gestor de arranque que ha sido cargado. Sólo es necesario cuando se arranca interactivamente desde la línea de órdenes (ya que está implícita en el final de una entrada del menú).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.3 cat

Orden: cat archivo
Presenta en pantalla el contenido del archivo archivo. Esta orden puede ser útil para recordar la partición raiz del SO:

 
grub> cat /etc/fstab


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.4 chainloader

Orden: chainloader [`--force'] archivo
Carga en cadena archivo como gestor de arranque. Como con cualquier otro archivo que se carga mediante el código del sistema de ficheros, se puede utilizar la notación de lista de bloques `+1' para carpturar el primer sector de la partición actual. Si se especifica la opción `--force', el archivo file es cargado a la fuerza, sin importar que no posea una firma correcta. Esto es necesario cuando se quiere cargar un gestor de arranque defectuoso, como el de SCO UnixWare 7.1 (mirar sección 4.2.7 SCO UnixWare).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.5 cmp

Orden: cmp archivo1 archivo2
Compara el archivo archivo1 con archivo2. Si difieren en tamaño, imprime algo como esto:

 
Differ in size: 0x1234 [archivo1], 0x4321 [archivo2]
Si el tamaño es el mismo pero los bytes en un desplazamiento (offset) son diferentes, imprime los bytes como sigue:

 
Differ at the offset 777: 0xbe [archivo1], 0xef [archivo2]

Si son completamente identicos no se imprimirá nada.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.6 configfile

Orden: configfile archivo
Load archivo como fichero de configuración.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.7 debug

Orden: debug
Activa el modo "debug" (desactivado por defecto). Cuando el modo debug está activado, se imprimen algunos mensajes extra sobre la actividad del disco. La opción de debug es útil principalmente para programadores de GRUB que prueben código nuevo.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.8 displayapm

Orden: displayapm
Presenta información sobre el APM de la BIOS


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.9 displaymem

Orden: displaymem
Muestra el mapa de direcciones de memoria del sistema, incluyendo las regiones de memoria RAM instalada, tal como las ve GRUB. El sistema para la memoria superior/inferior de GRUB utiliza la interfaz estándar de BIOS para la memoria disponible en el primer megabyte (memoria inferior) y un número sintetizado de varias interfaces de BIOS para la memoria que empieza en 1MB y sube hasta el primer agujero del chipset para la memoria superior (la interfaz de PC estándar para la memoria superior comunica como máximo 64MB).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.10 embed

Orden: embed stage1_5 dispositivo
Inserta la Etapa 1.5 stage1_5 en los sectores detrás del MBR si dispositivo es una unidad de disco, o en el area del gestor de arranque si el dispositivo es una partición FFS o ReiserFS. (8) Si la operación tiene éxito, imprime el número de sectores que ocupa stage1_5.

Generalmente no es necesario que ejecutes esta orden directamente. mirar sección 12.8.34 setup.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.11 find

Orden: find archivo
Busca el fichero con nombre archivo en todas las particiones, e imprime la lista de dispositivos que lo contienen. El nombre de archivo debe tener un nombre de archivo absoluto como en /boot/grub/stage1.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.12 fstest

Orden: fstest
Activa la comprobación del sistema de ficheros. La comprobación del sistema de ficheros, cuando está activada, imprime información correspondiente a las lecturas del dispositivo y los valores que se envían a las rutinas de bajo nivel. El formato es `<partición-sector-inicio,byte-inicio, longitud-byte'> para las lecturas de alto nivel dentro de una partición y `[sector-inicio-disco]' para las peticiones del disco de sectores de bajo nivel. La comprobación del sistema de ficheros se desactiva cuando se usa la orden install (mirar sección 12.8.18 install) o testload (mirar sección 12.8.35 testload).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.13 geometry

Orden: geometry unidad [cilindros cabezal sector [sector_total]]
Imprime la información de la unidad unidad. En el intérprete de grub, puedes ajustar la geometría de la unidad arbitrariamente. El número de cilindros, cabezales, sectores y sectores totales se igualan respectivamente a CILINDRO, CABEZAL, SECTOR y SECTOR_TOTAL. Si omites SECTOR_TOTAL, este valor se calcula automáticamente utilizando los valores C/C/S.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.14 halt

Orden: halt `--no-apm'
Esta orden detiene el ordenador. Si se especifica la opción ` --no-apm' no se hace ninguna llamada APM de BIOS. En caso contrario se apaga el ordenador usando APM.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.15 help

Orden: help `--all' [patrón ...]
Muestra información de ayuda sobre las órdenes disponibles. Si no especificas un patrón, la orden muestra pequeñas descripciones de la mayoría de las órdenes disponibles. Si especificas la opción `--all', se muestran también pequeñas descripciones de órdenes rara vez usadas (como 12.8.35 testload).

Si especificas un patrón, muestra información algo más larga sobre cada uno de las órdenes que contenga el patrón.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.16 impsprobe

Orden: impsprobe
Comprueba la tabla de configuración Intel Multiprocessor Specification 1.1 o 1.4, y arranca en un bucle las varias CPUs que encuentre. Esta orden sólo se puede usar en la Etapa 2.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.17 initrd

Orden: initrd archivo ...
Carga un ramdisk inicial para una imagen de arranque en formato Linux y escribe los parámetros apropiados en el area de memoria de Linux. Ver también 4.2.2 GNU/Linux.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.18 install

Orden: install [`--force-lba'] [`--stage2=archivo_etapa2_so'] stage1_file [`d'] dest_dev stage2_file [addr] [`p'] [config_file] [real_config_file]
Esta orden es bastante compleja, y no deberías usarla a no ser que estés muy familiarizado con GRUB. Utiliza setup (mirar sección 12.8.34 setup) en su lugar.

Brevemente, realiza una instalación completa asumiendo que la Etapa 2 o la Etapa 1.5(9) se encuentra en su lugar de instalación final.

Algo más detalladamente, lo que hace es cargar stage1_file, validar que se trata de una Etapa 1 de GRUB con el número de versión correcto, instalar una lista de bloques para cargar stage2_file como una Etapa 2.Si está presente la opción `d', la Etapa 1 buscará siempre el disco en el que en realidad está instalado stage2_file en vez de utilizar el disco desde el que se arranca. La Etapa 2 se carga en la dirección de memoria addr, que debe ser `0x8000' para una verdadera Etapa 2 y 0x2000 para una Etapa 1.5. Si no se especifica addr, GRUB determinará la dirección automáticamente. Después escribe la Etapa 1 completa en el primer bloque de la unidad dest_dev. Si la opción `p' o config_file está presente, lee el primer bloque de stage2, lo modifica con los valores de la partición en la que se encuentra stage2_file (con la opción `p') o pone la cadena config_file en el área, indicando a la stage2 donde buscar el archivo de configuración en el arranque. De la misma forma, si está presente real_config_file y stage1_file es una Etapa 1.5, el config_file de la Etapa 2 será parcheado con el nombre de archivo de configuración real_config_file. Esta orden preserva el BPB de DOS (y para los discos duros la tabla de particiones) del sector en el que se instala la Etapa 1.

Precaución: Algunas BIOS con errores no comunican correctamente la unidad de arranque cuando se arranca desde el disco duro. Por lo tanto, si desafortunadamente tienes una BIOS de estas, tendrás que especificar la opción `d', resida o no la Etapa 2 en la unidad de arranque. Se conoce que las siguientes BIOS fallan en este sentido:

Fujitsu LifeBook 400 BIOS version 31J0103A

HP Vectra XU 6/200 BIOS version GG.06.11

Precaución2: Algunas BIOS no devuelven un mapa de bits de soporte LBA correcto incluso cuando lo soportan. Así que GRUB posibilita como solución ignorar el mapa de bits incorrecto, mediante la opción `--force-lba'. No uses esta opción si sabes que tu BIOS no tiene soporte para LBA.

Precaución3: Debes especificar la opción `--stage2' en el intérprete de grub si no puedes desmontar el sistema de ficheros donde reside tu archivo stage2. El argumento debería ser el nombre del fichero en tú sistema operativo.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.19 ioprobe

Orden: ioprobe unidad
Comprueba los puertos de E/S utilizados para la unidad unidad. Esta orden lista los puertos de E/S en la pantalla. Para información técnica @xref{Interiores}.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.20 kernel

Orden: kernel [`--type=tipo'] [`--no-mem-option'] archivo ...
Intenta cargar la imagen de arranque principal (Multiarranque a.out o ELF, Linux zImage o bzImage, FreeBSD a.out, NetBSD a.out, etc.) del fichero archivo. El resto de la línea se pasa íntegra como órdenes para el núcleo. Si hay algún módulo, se debe volver a cargar después de usar esta orden.

Esta orden también acepta la opción `--type', con la que puedes especificar explicitamente que tipo de kernel es archivo. El argumento tipo ha de ser uno de los siguientes: ` netbsd', `freebsd', `openbsd', `linux', ` biglinux' o `multiboot'. De todas formas, solo necesitas especificarlo si quieres cargar un núcleo ELF NetBSD, porque GRUB es capaz de determinar sin problemas el tipo de núcleo en los otros casos.

La opción `--no-mem-option' sólo es efectiva para Linux. Si se especifica, GRUB no le pasa la opción `mem=' al núcleo.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.21 lock

Orden: lock
Evita que usuarios corrientes ejecuten a su antojo opciones del menú. Debes usar la orden password si quieres que esta orden sea realmente efectiva (mirar sección 12.7.10 password).

Esta orden se usa en un menú, tal y como muestra este ejemplo:

 
title Esta opción es demasiado peligrosa para que la ejecute cualquiera
lock
root (hd0,a)
kernel /os-sin-seguridad

Ver también 9. Protege tu ordenador de accesos no autorizados.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.22 makeactive

Orden: makeactive
Pone el dispositivo raiz de GRUB como la partición activa en el disco raiz. Esta orden solo funciona sobre particiones primarias de un disco duro.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.23 map

Orden: map disco1 disco2
Asigna el disco disco1 al disco disco2. Necesario cuando se arranca en cadena algunos sistemas operativos, DOS por ejemplo, si ese SO reside en un disco que no es el primero. Un ejemplo:

 
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)

En el ejemplo se intercambia el orden entre el primer y el segundo disco duro. Ver también 4.2.6 DOS/Windows.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.24 md5crypt

Orden: md5crypt
Pide una contraseña, y la encripta en formato MD5. La contraseña encriptada se puede utilizar con la orden password (mirar sección 12.7.10 password). Ver también 9. Protege tu ordenador de accesos no autorizados.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.25 module

Orden: module archivo ...
Carga el módulo de arranque archivo para una imagen de arranque en formato Multiarranque (no se asume nada sobre el contenido del fichero, por lo que quien usa esta orden debe saber lo que el núcleo en cuestión espera). El resto de la línea se pasa íntegra como línea de órdenes del módulo, como en el caso de la orden kernel. Debes cargar una imagen de núcleo multiarranque antes de cargar cualquier módulo. Ver también 12.8.26 modulenounzip.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.26 modulenounzip

Orden: modulenounzip archivo ...
Igual que la orden module (mirar sección 12.8.25 module), solo que con la descompresión automática deshabilitada.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.27 pause

Orden: pause mensaje ...
Imprime mensaje y espera a que se pulse alguna tecla. Observa que colocar ^G (código ASCII 7) en el mensaje hará que el altavoz emita el pitido estándar, que puede ser útil cuando se quiere pedir al usuario que intercambie disquetes.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.28 quit

Orden: quit
Sale del intérprete de grub grub (mirar sección 14. Invocar el intérprete grub). Esta orden solo se puede usar en el intérprete.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.29 reboot

Orden: reboot
Reinicia el ordenador


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.30 read

Orden: read dirección
Lee un valor de 32 bits de la dirección dirección de memoria, y la muestra en formato hexadecimal.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.31 root

Orden: root dispositivo [hdbias]
Fija el dispositivo raiz en dispositivo, después intenta montarlo para obtener el tamaño de la partición (para pasar la descripción de la partición en el formato ES:ESI usado por algunos gestores de arranque que se cargan en cadena), el tipo de unidad BSD (para arrancar núcleos BSD utilizando su formato de arranque nativo), y para determinar correctamente la "rodaja" (slice) de PC donde se encuentra una subpartición BSD. Si por ejemplo existe un disco IDE y uno SCSI, y tu partición raiz de FreeBSD está en el disco SCSI, utiliza `1' para hdbias.

Ver también 12.8.32 rootnoverify.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.32 rootnoverify

Orden: rootnoverify dispositivo [hdbias]
Similar a la orden root (mirar sección 12.8.31 root), pero no intenta montar la partición. Util cuando un SO se encuentra fuera del area de disco que GRUB es capaz de leer, pero aún así se quiere asignar el dispositivo raiz correcto. Observa que los puntos mencionados anteriormente para root derivados del intento de montar la partición no funcionarán correctamente.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.33 savedefault

Orden: savedefault
Guarda la opción de menú actual como la opción por defecto. Un ejemplo:

 
default saved
timeout 10

title GNU/Linux
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sda1 vga=ext
initrd /boot/initrd
savedefault

title FreeBSD
root (hd0,a)
kernel /boot/loader
savedefault

Con esta configuración GRUB seleccionará la última opción arrancada como la opción por defecto. Ver también 12.6.1 default.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.34 setup

Orden: setup [`--force-lba'] [`--stage2=arch_stage2_so'] [`--prefix=dir'] install_device [image_device]
Realiza la instalación de GRUB automáticamente. Esta orden utiliza la orden install (mirar sección 12.8.18 install) para hacer el trabajo, e instala GRUB en el dispositivo install_device. Si se especifica image_device, buscará las imágenes de GRUB (mirar sección 10. Archivos de imagen de GRUB) en el dispositivo image_device, en caso contrario utiliza el dispositivo raiz actual, fijado mediante la orden root. Si install_device es un disco duro, intentará insertar si fuera posible una Etapa 1.5.

La opción `--prefix' especifica el directorio en el que están las imágenes de GRUB. Si no se indica, GRUB las busca automáticamente en `/boot/grub' y `grub'.

Las opciones `--force-lba' y `--stage2' sólo se pasan a install si se especifica explicitamente. mirar sección 12.8.18 install para más información.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.35 testload

Orden: testload archivo
Lee todo el contenido de archivo de varias maneras diferentes y las compara para comprobar el código del sistema de ficheros. El resultado devuelto es algo críptico pero si no informa de ningún error, y el dato final leído, `i=X,filepos=Y' tiene los valores X y Y iguales, entonces es sin duda coherente, y lo más probable es que funcione correctamente con un margen de error de desplazamiento consistente. Si la prueba tiene éxito, el siguiente paso que se debería tomar es intentar cargar un núcleo.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.36 testvbe

Orden: testvbe modo
Prueba el modo modo de la EXTENSION VESA de la BIOS (VBE). Esta orden pone tu tarjeta de vídeo en modo gráfico y muestra una animación sin parar. Pulsa cualquier tecla para salir. Ver también 12.8.38 vbeprobe.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.37 uppermem

Orden: uppermem kbytes
Fuerza a GRUB a asumir que sólo hay instalados kbytes kilobytes de memoria superior. Los mapas de rango de direcciones del sistema son descartados.

Precaución: Se debe usar esta orden con mucho cuidado, y sólo debería ser necesario con equipos viejos. La comprobación de BIOS de GRUB es capaz de detectar toda la RAM en todos los equipos recientes de los que el autor ha oído hablar. Se puede usar también con propósito de pulir errores mintiendo al SO.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.8.38 vbeprobe

Orden: vbeprobe [modo]
Comprueba la información de la Extension Vesa de la Bios (VBE). Si se especifica el modo modo, solo muestra información sobre este. En caso contrario la orden lista en pantalla todos los modos VBE disponibles. Ver también 12.8.36 testvbe.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

13. Mensajes de error que produce GRUB

Este capítulo describe los mensajes de error mostrados por GRUB cuando surjen problemas. mirar sección 14. Invocar el intérprete grub si tu problema es específico del intérprete grub.

13.1 Errores que imprime la Etapa 1  
13.2 Errores que imprime la Etapa 1.5  
13.3 Errores que imprime la Etapa 2  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

13.1 Errores que imprime la Etapa 1

Por lo general, la Etapa 1 responde a los errores imprimiendo un mensaje de error y parándose. Presionar CTRL-ALT-DEL hará que se reinicie.

Lo que sigue es una lista comprensiva de los mensajes de error de la Etapa 1:

Hard Disk Error
Se está leyendo stage2 o stage1.5 del disco, y ha fallado el intento de determinar el tamaño y la geometría del mismo.

Floppy Error
Se está leyendo stage2 o stage1.5 de un disquete, y ha fallado el intento de determinar el tamaño y la geometría del disquete. Se menciona como un error diferente al de disco ya que la secuencia de comprobación es diferente de la de este.

Read Error
Sucedió un error de lectura de disco cuando se intentaba leer la stage2 o stage1.5.

Geom Error
El lugar donde se encuentra la stage2 o stage1.5 no está en la porción de disco accesible directamente por las llamadas de lectura de la BIOS. Esto puede suceder porque el usuario haya cambiado la geometría traducida por la BIOS, o porque se haya movido el disco a otro equipo o controladora después de la instalación, o porque GRUB no fue instalado desde él mismo (si lo hubiera sido, se habría visto la version del error de la Etapa 2, y no se habría podido completar la instalación).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

13.2 Errores que imprime la Etapa 1.5

Por lo general, la Etapa 1.5 responde a los errores imprimiendo un mensaje de error con formato Error num y parándose. Presionar CTRL-ALT-DEL hará que se reinicie.

Los números de error corresponden a los errores devueltos por la Etapa 2. mirar sección 13.3 Errores que imprime la Etapa 2.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

13.3 Errores que imprime la Etapa 2

La Etapa 2 responde a los errores de manera general abortando la operación que se esté realizando, imprimiendo un mensaje de error y (si es posible) o bien continuar basándose en el hecho de que ha ocurrido un error o esperar a que el usuario resuelva el error.

Lo que sigue es una lista comprensiva de los mensajes de error de la Etapa 2 (los números de error de la Etapa 1.5 se recojen en cada descripción delante de los dos puntos):

1 : Filename must be either an absolute filename or blocklist
Se devuelve este error cuando el nombre de un archivo pedido no se ajusta a la sintaxis/reglas explicadas en 11. Sintaxis y semántica del sistema de ficheros.

2 : Bad file or directory type
Se devuelve este error cuando el archivo pedido no es un fichero ordinario sino algo como un enlace simbólico, un directorio o FIFO.

3 : Bad or corrupt data while decompressing file
Se devuelve este error cuando el código de descompresión encuentra un error interno. Normalmente debido a un fichero corrupto.

4 : Bad or incompatible header in compressed file
Se produce este error si la cabecera de un archivo supuestamente comprimido es erronea.

5 : Partition table invalid or corrupt
Se produce este error si fallan las comprobaciones básicas de integridad de la tabla de particiones. Esto es signo de algo malo.

6 : Mismatched or corrupt version of stage1/stage2
Este error se produce si se utiliza la orden install con versiones de stage1 o stage2 incompatibles o corruptas. En general no detecta corrupción, pero sí efectúa una comprobación básica de los números de versión, que no debería fallar.
7 : Loading below 1MB is not supported
Este error se debe a que la dirección más baja de un núcleo está por debajo del límite de 1 MB. El formato zImage de Linux es un caso especial y se puede utilizar ya que tiene una dirección de carga fija y un tamaño máximo.

8 : Kernel must be loaded before booting
Este error es debido a que se ha pedido a GRUB que ejecute una secuencia de arranque sin tener un núcleo que iniciar.

9 : Unknown boot failure
Este error indica que el intento de arranque falló por razones desconocidas.

10 : Unsupported Multiboot features requested
Este error se produce cuando la palabra de opciones Multiarranque en la cabecera Multiarranque requiere una opción que no se reconoce. El motivo de esto es que el núcleo requiere un manejo especial que GRUB probablemente es incapaz de darle.

11 : Unrecognized device string
Se devuelve este error si se esperaba una cadena de dispositivo, y se ha encontrado una cadena que no se ajusta a la sintaxis/reglas listadas en 11. Sintaxis y semántica del sistema de ficheros.

12 : Invalid device requested
Se devuelve este error cuando es posible reconocer una cadena de dispositivo pero no pertenece al resto de errores de dispositivo.

13 : Invalid or unsupported executable format
Este error se produce si la imagen del núcleo que se intenta cargar no se reconoce como Multiarranque o uno de los formatos soportados nativamente (zImage o bzImage de Linux, FreeBSD o NetBSD).

14 : Filesystem compatibility error, cannot read whole file
Parte del código de lectura de sistemas de ficheros en GRUB tiene límites en la longitud de los archivos que puede leer. Este error se produce cuando el usuario encuentra uno de esos límites.

15 : File not found
Este error es devuelto si no se puede encontrar el nombre de fichero especificado, aunque el resto de información (como el disco/la partición) es correcta.

16 : Inconsistent filesystem structure
Este error lo devuelve el código del sistema de ficheros para indicar un fallo en las comprobaciones básicas de la estructura del sistema de ficheros en el disco, que no han producido el resultado esperado.

17 : Cannot mount selected partition
Este error se produce cuando la partición solicitada existe pero GRUB no puede reconocer el tipo de sistema de ficheros.

18 : Selected cylinder exceeds maximum supported by BIOS
Este error es debido a que se ha intentado leer en una dirección LBA más allá del final del area traducida por la BIOS. Esto sucede en general si tu disco es mayor de lo que puede manejar la BIOS (512 MB para discos (E)IDE en máquinas antiguas, o mayor que 8GB en general).

19 : Linux kernel must be loaded before initrd
Se devuelve este error si se ha usado la orden initrd antes de haber cargado un núcleo de Linux. Similar al error siguiente, sólo tiene sentido en este caso de todas maneras.

20 : Multiboot kernel must be loaded before modules
Este error se devuelve si se usa la orden de carga de módulos antes de cargar un núcleo multiarranque. Sólo tiene sentido en este caso de todas formas, ya que GRUB no tiene idea de como comunicar la presencia o ubicación de este tipo de módulos a un núcleo que no conoce el Multiarranque.

21 : Selected disk does not exist
Se produce este error si la parte que corresponde al disco en una opción device- o en un nombre de archivo se refiere a un disco o dispositivo de la BIOS que no está presente o que no es reconocido por la BIOS del sistema.

22 : No such partition
Este error se produce si se pide una partición que no está en el disco seleccionado al especificar una unidad o un nombre de archivo.

23 : Error while parsing number
Este error se devuelve cuando GRUB espera leer un número y encuentra otro tipo de datos.

24 : Attempt to access block outside partition
Este error se produce cuando una dirección de bloque lineal (lba) está fuera de la partición del disco. Esto ocurre por lo general debido a un sistema de ficheros corrupto en el disco o a un fallo en el código que lo maneja en GRUB (es una gran herramienta para detectar errores).

25 : Disk read error
Se devuelve este error si se produce un error de disco cuando se intentaba comprobar o leer datos de un disco en particular.

26 : Too many symbolic links
Este error se produce si el número de enlaces es mayor que el máximo (5 en la actualidad). Lo más probable es que los enlaces estén haciendo un bucle.

27 : Unrecognized command
Este error se produce si se ha introducido una orden que GRUB no reconoce en la línea de órdenes o en una secuencia de arranque en una opción seleccionada de un archivo de configuración.
28 : Selected item cannot fit into memory
Este error es producido por una orden de carga de un núcleo, módulo o archivo sin formato que intenta cargar los datos de manera que no caben en memoria, o que simplemente es demasiado grande.

29 : Disk write error
Este error se produce si hay un error de escritura de disco cuando se intentaba escribir en él. Esto sólo ocurriría en general durante una orden de instalación o activación de una partición.

30 : Invalid argument
Este error es debido a que el argumento especificado en una orden no es válido.

31 : File is not sector aligned
Este error sólo puede ocurrir cuando accedes a una partición ReiserFS mediante listas de bloques (por ej. con la orden install). En este caso deberías montar la partición con la opción `-o notail'.

32 : Must be authenticated
Este error se produce cuando intentas acceder a una opción bloqueada. Tienes que introducir la contraseña correcta antes de poder usar esa opción.

33 : Serial device not configured
Este error se produce si estás intentando cambiar la terminal a una serial antes de haber preparado un dispositivo de serie.

34 : No spare sectors on the disk
Este error es devuelto si un disco no parece tener suficiente espacio libre. Esto sucede cuando intentas insertar la Etapa 1.5 en los sectores sin usar detrás del MBR, pero la primera partición comienza justo a continuación del MBR o los sectores son usados por EZ-BIOS.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

14. Invocar el intérprete grub

Este capítulo documenta el intérprete de órdenes de grub grub. Observa que el intérprete de grub es un emulador; no funciona bajo el sistema nativo, por lo que a veces puede equivocarse. Por lo tanto no deberías fiarte de él demasiado. Si hubiera cualquier problema con él, no dudes en usar un sistema GRUB nativo, especialmente si no acierta con la correspondencia entre unidades de la BIOS y dispositivos del SO.

14.1 Introducción al intérprete de grub  Como usar el intérprete grub
14.2 Como instalar GRUB mediante grub  
14.3 La correspondencia entre unidades de la BIOS y dispositivos del SO  Correspondencia entre uniidades de BIOS y dispositivos del SO


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

14.1 Introducción al intérprete de grub

Puedes usar la orden grub para instalar GRUB bajo tus sistemas operativos y como campo de pruebas cuando añadas una nueva caracteristica en GRUB o cuando corrijas un fallo. La orden grub es casi igual a una Etapa 2, y de hecho, comparte el código fuente con la Etapa 2 y en ambas puedes utilizar las mismas órdenes (mirar sección 12.5 Lista de las órdenes disponibles). La emulación se realiza reemplazando las llamadas de la BIOS con llamadas de sistema de UNIX y funciones de libc.

La orden grub acepta las opciones siguientes:

`--help'
Imprime un sumario de las opciones de la línea de órdenes.

`--version'
Imprime el número de versión.

`--verbose'
Imprime mensajes más detallados para quien desee eliminar posibles fallos.

`--device-map=archivo'
Usar el fichero archivo como mapa de dispositivos. El formato se describe en 14.3 La correspondencia entre unidades de la BIOS y dispositivos del SO.

`--no-floppy'
No hacer comprobación de las unidades de disquete. Esta opción no tiene efecto si se ha especificado la opción `--device-map' (mirar sección 14.3 La correspondencia entre unidades de la BIOS y dispositivos del SO).

`--probe-second-floppy'
Comprueba la segunda unidad de disquete. Si no se especifica esta opción el intérprete de grub no la comprueba, ya que a veces lleva bastante tiempo. Si especificas un archivo de mapa de dispositivos (mirar sección 14.3 La correspondencia entre unidades de la BIOS y dispositivos del SO) el intérprete grub ignora esta opción.

`--config-file=archivo'
Lee el archivo de configuración archivo en lugar de ` /boot/grub/menu.lst'. El formato es el mismo que el de un archivo normal. Ver 11. Sintaxis y semántica del sistema de ficheros para más información.

`--boot-drive=unidad'
Fija el dispositivo de arranque de la stage2 en unidad. Este argumento debería ser un entero (decimal, octal o hexadecimal).

`--install-partition=par'
Fija la particion de instalación de stage2 en par. El argumento debe ser un entero (decimal, octal o hexadecimal).

`--no-config-file'
No usar el archivo de configuración aunque se pueda leer.

`--no-curses'
No usar la interfaz de "curses" incluso aunque esté disponible.

`--batch'
Esta opción equivale a `--no-config-file --no-curses'.

`--read-only'
Deshabilita la escritura a cualquier disco.

`--hold'
Esperar a que se adjunte un debugger. Esta opción es útil cuando se desea eliminar errores del código de inicio.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

14.2 Como instalar GRUB mediante grub

El procedimiento de instalación es el mismo que bajo una Etapa 2 nativa. mirar sección 3. Instalación para más información. Aquí se describe la información específica de la orden grub.

Con lo que debes tener cuidado es con el buffer cache. grub utiliza los dispositivos directamente (raw) en vez de los sistemas de ficheros que proveen tus sistemas operativos, por lo que existe el problema potencial de que inconsistencias del caché puedan corromper tu sistema de ficheros. Lo que nosotros recomendamos es:

Además de esto, introduce la orden quit cuando acabes la instalación. Esto es muy importante porque quit hace consistente el buffer caché. No pulses C-c.

Si quieres instalar GRUB de manera no interactiva, especifica la opción `--batch' en la línea de órdenes. Aquí tienes un ejemplo sencillo:

 
#!/bin/sh

# Usa /usr/sbin/grub si estás en un sistema antiguo.
/sbin/grub --batch <<EOT 1>/dev/null 2>/dev/null
root (hd0,0)
setup (hd0)
quit
EOT


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

14.3 La correspondencia entre unidades de la BIOS y dispositivos del SO

Cuando especificas la opción `--device-map' (mirar sección 14.1 Introducción al intérprete de grub), el intérprete de grub crea automáticamente el fichero del mapa de dispositivos a no ser que ya exista. El nombre de archivo preferido es `/boot/grub/device.map'.

Si el fichero del mapa de dispositivos ya existe, el intérprete de grub lo lee para corresponder unidades de la BIOS a dispositivos del SO. El archivo consiste en líneas como esta:

 
dispositivo archivo

dispositivo es una unidad, con la sintaxis propia de GRUB (mirar sección 11.1 How to specify devices), y archivo es un fichero del SO, normalmente un fichero de dispositivo.

La razón por la que el intérprete de grub te da un fichero de dispositivos es que en algunos contextos no es capaz de adivinar la correspondencia de unidades de la BIOS a dispositivos del SO correctamente. Por ejemplo, si intercambias la secuencia de arranque entre IDE y SCSI en la BIOS, el intérprete equivoca el orden.

Así, puedes editar el archivo si el intérprete de grub comete algún error. Puedes poner los comentarios que necesites en el archivo, ya que el intérprete de grub asume que una línea es sólo un comentario si el primer caracter es `#'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

15. Invocar grub-install

El programa grub-install instala GRUB en tu disco mediante el intérprete de grub (mirar sección 14. Invocar el intérprete grub). Debes especificar el nombre del dispositivo en el que quieres instalar GRUB, de la siguiente manera:

 
grub-install disp_instalación

El nombre del dispositivo disp_instalación es un nombre de dispositivo del sistema operativo o de GRUB.

grub-install acepta las opciones siguientes:

`--help'
Imprime un sumario de las opciones de la línea de órdenes.

`--version'
Imprime el número de version de GRUB.

`--force-lba'
Fuerza a GRUB a usar el modo LBA incluso con una BIOS defectuosa. Usa esta opción sólo si tu BIOS no funciona en modo LBA aunque sí soporta este modo.

`--root-directory=dir'
Instala las imágenes de GRUB bajo el directorio dir en vez del directorio raiz. Esta opción es útil cuando quieres instalar GRUB en una partición aparte o en un disco extraíble. Aquí tienes un ejemplo donde existe una partición de arranque aparte montada sobre `/boot':

 
grub-install --root-directory=/boot '(hd0)'

`--grub-shell=archivo'
Usa archivo como el intérprete de grub. Puedes añadir las opciones que quieres a archivo detrás del nombre del archivo, como sigue:

 
grub-install --grub-shell="grub --read-only" /dev/fd0

`--recheck'
Volver a comprobar el mapa de dispositivos, incluso si ya existe el fichero `/boot/grub/device.map'. Deberías usar esta opción cada vez que añadas o quites un disco del ordenador.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

16. Invocar grub-md5-crypt

El programa grub-md5-crypt encripta una contraseña en formato MD5. Esto es solamente una interfaz del intérprete de grub (mirar sección 14. Invocar el intérprete grub). Las contraseñas encriptadas por este programa se pueden usar con la orden password (mirar sección 12.7.10 password).

grub-md5-crypt acepta las opciones siguientes:

`--help'
Imprime un sumario de las opciones de la línea de órdenes.

`--version'
Imprime la información de la versión.

`--grub-shell=archivo'
Usar archivo como el intérprete de grub.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

17. Invocar mbchk

El programa mbchk comprueba el formato de un núcleo Multiarranque. Recomendamos usar este programa antes de arrancar un núcleo propio con GRUB.

mbchk acepta las opciones siguientes:

`--help'
Imprime un sumario de las opciones de la línea de órdenes.

`--version'
Imprime el número de versión de GRUB.

`--quiet'
Suprime la salida de información que se devuelve normalmente.

`--help'
Imprime un sumario de las opciones de la línea de órdenes.

`--version'
Imprime la información de la versión.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A. Frequently asked questions


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

B. Como obtener y compilar GRUB

Precaución: GRUB requiere binutils-2.9.1.0.23 o posterior porque el ensamblador GNU ha sido modificado para poder producir auténtico código máquina de 16bits entre las versiones 2.9.1 y 2.9.1.0.x. Ver http://sourceware.cygnus.com/binutils/, para información sobre como obtener la última versión.

GRUB está disponible en el servidor GNU de archivos alpha ftp://alpha.gnu.org/gnu/grub o en cualquiera de sus espejos. El archivo llevará el nombre grub-version.tar.gz. La versión actual es , por lo que el archivo que deberías descargar es:

ftp://alpha.gnu.org/gnu/grub/grub-.tar.gz

Para desempaquetar GRUB usa la instrucción:

 
zcat grub-.tar.gz | tar xvf -

lo que creará un directorio llamado `grub-' con las fuentes. Puedes mirar el fichero `INSTALL' para instrucciones detalladas sobre como compilar e instalar GRUB, pero debería ser suficiente hacer:

 
cd grub-
./configure
make install

Esto instalará el intérprete de grub `grub' (mirar sección 14. Invocar el intérprete grub), el comprobador de Multiarranque `mbchk' (mirar sección 17. Invocar mbchk), y las imágenes de GRUB. También instalará el manual de GRUB.

La versión más reciente está también disponible en el CVS. El depósito es:

:pserver:anoncvs@subversions.gnu.org:/cvsroot/grub

y el módulo es:

grub

La contraseña para anoncvs está vacía. La instrucción es por tanto:

 
cvs -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/grub login
Password: ENTER
cvs -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/grub co grub


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

C. Informar de fallos

Estas son las directrices sobre como informar de fallos. Echa un vistazo a la lista siguiente antes de enviar un correo electrónico a bug-grub@gnu.org:

  1. Antes de nada, lee este manual de principio a fin, la sección de preguntas frecuentes en particular mirar sección A. Frequently asked questions.

  2. Menciona siempre la información sobre tu GRUB. El número de versión y la configuración son muy importantes. Si lo has compilado tú mismo, describe las opciones especificadas al configurar y tu sistema operativo, incluyendo las versiones de gcc y binutils.

  3. Si tienes problemas con la instalación, infórmanos de como has instalado GRUB. No omitas mensajes de error si los hay. Simplemente `GRUB se cuelga cuando arranca' no es suficiente.

    La información sobre tu hardware es también esencial. Especialmente importantes son las geometrías y las tablas de partición de tus unidades de disco duro y tu BIOS.

  4. Si GRUB no es capaz de arrancar tu sistema operativo, anota todo lo que haya en pantalla. No debes parafrasear, como `El SO tal se cuelga con GRUB, aunque arranca bien con el gestor cual'. Menciona las órdenes que has ejecutado, los mensajes que imprimieron e información de tu sistema operativo incuyendo el número de versión.

  5. Explica lo que has querido hacer. Es muy útil saber tu propósito y tu deseo y cómo GRUB no ha podido satisfacerte.

  6. Si puedes investigar el problema por ti mismo, hazlo. Eso te dará y nos dará mucha más información sobre el problema. Adjuntar un parche es incluso mejor.

    Cuando adjuntes un parche, hazlo en formato diff unificado, y escribe entradas de ChangeLog. Aunque, incluso si haces un parche, no olvides explicar el problema para que podamos entender para que sirve el parche.

  7. Anota todo lo que creas que esté relacionado. Entiende que a menudo necesitaremos reproducir el mismo problema que has encontrado en nuestro sistema. Tu información debería ser suficiente para que nosotros podamos hacer lo mismo--No olvides que no podemos ver tu ordenador directamente. Si no estás seguro de mencionar o no un asunto, menciónalo! Informar de demasiadas cosas es mucho mejor que omitir algo importante.

Si sigues los consejos anteriores, manda un correo electrónico a bug-grub@gnu.org e intentaremos arreglar los fallos.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

D. Direcciones que tomará GRUB

Aquí están algunas de las ideas que quizás ocurran en el futuro:

Mira el archivo `TODO' en la distribución de las fuentes para más información.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Indice

Jump to:   B   C   D   E   F   G   H   I   K   L   M   P   Q   R   S   T   U   V  

Index Entry Section

B
blocklist12.8.1 blocklist
boot12.8.2 boot
bootp12.7.1 bootp

C
cat12.8.3 cat
chainloader12.8.4 chainloader
cmp12.8.5 cmp
color12.7.2 color
configfile12.8.6 configfile

D
debug12.8.7 debug
default12.6.1 default
device12.7.3 device
dhcp12.7.4 dhcp
displayapm12.8.8 displayapm
displaymem12.8.9 displaymem

E
embed12.8.10 embed

F
fallback12.6.2 fallback
find12.8.11 find
fstest12.8.12 fstest

G
geometry12.8.13 geometry

H
halt12.8.14 halt
help12.8.15 help
hiddenmenu12.6.3 hiddenmenu
hide12.7.5 unhide

I
ifconfig12.7.6 ifconfig
impsprobe12.8.16 impsprobe
initrd12.8.17 initrd
install12.8.18 install
ioprobe12.8.19 ioprobe

K
kernel12.8.20 kernel

L
lock12.8.21 lock

M
makeactive12.8.22 makeactive
map12.8.23 map
md5crypt12.8.24 md5crypt
module12.8.25 module
modulenounzip12.8.26 modulenounzip

P
pager12.7.7 pager
partnew12.7.8 partnew
parttype12.7.9 parttype
password12.7.10 password
pause12.8.27 pause

Q
quit12.8.28 quit

R
rarp12.7.11 rarp
read12.8.30 read
reboot12.8.29 reboot
root12.8.31 root
rootnoverify12.8.32 rootnoverify

S
savedefault12.8.33 savedefault
serial12.7.12 serial
setkey12.7.13 setkey
setup12.8.34 setup

T
terminal12.7.14 terminal
testload12.8.35 testload
testvbe12.8.36 testvbe
tftpserver12.7.15 tftpserver
timeout12.6.4 timeout
title12.6.5 title

U
unhide12.7.16 unhide
uppermem12.8.37 uppermem

V
vbeprobe12.8.38 vbeprobe

Jump to:   B   C   D   E   F   G   H   I   K   L   M   P   Q   R   S   T   U   V  


[Top] [Contents] [Index] [ ? ]

Footnotes

(1)

arranque en cadena es el mecanismo para arrancar sistemas operativos no soportados a través de otro gestor de arranque. Se usa normalmente para arrancar DOS o Windows.

(2)

Existen unos pocos casos patológicos donde la carga de un núcleo ELF mal organizado podría llevar más tiempo, pero en la práctica esto nunca ocurre

(3)

El LInux LOader, un gestor que todo el mundo usa pero a nadie gusta

(4)

Observa que el dispositivo raiz de GRUB no significa necesariamente la partición raiz de tu SO; Si necesitas especificar la partición raiz para tu SO, añade ese argumento en la orden kernel.

(5)

Esto no es necesario para la mayoría de sistemas operativos modernos.

(6)

RARP está en desuso, ya que no puede servir mucha información

(7)

Este comportamiento se cambiara sin embargo en una versión futura, de manera invisible para el usuario

(8)

La última opción todavía no ha sido implementada.

(9)

Se cargan ambas de la misma manera, por lo que nos referiremos a la Etapa 1.5 como Etapa 2 de aquí en adelante.


[Top] [Contents] [Index] [ ? ]

Table of Contents


[Top] [Contents] [Index] [ ? ]

Short Table of Contents

1. Introducción a GRUB
2. Nomenclatura
3. Instalación
4. Arranque
5. Configuración
6. Descargar las imágenes del SO de la red
7. Usar GRUB a través de la línea de serie
8. Embedding a configuration file into GRUB
9. Protege tu ordenador de accesos no autorizados
10. Archivos de imagen de GRUB
11. Sintaxis y semántica del sistema de ficheros
12. Interfaz de usuario de GRUB
13. Mensajes de error que produce GRUB
14. Invocar el intérprete grub
15. Invocar grub-install
16. Invocar grub-md5-crypt
17. Invocar mbchk
A. Frequently asked questions
B. Como obtener y compilar GRUB
C. Informar de fallos
D. Direcciones que tomará GRUB
Indice

[Top] [Contents] [Index] [ ? ]

About this document

This document was generated by David Glez Romero on January, 29 2003 using texi2html

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back previous section in reading order 1.2.2
[ > ] Forward next section in reading order 1.2.4
[ << ] FastBack previous or up-and-previous section 1.1
[ Up ] Up up section 1.2
[ >> ] FastForward next or up-and-next section 1.3
[Top] Top cover (top) of document  
[Contents] Contents table of contents  
[Index] Index concept index  
[ ? ] About this page  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

This document was generated by David Glez Romero on January, 29 2003 using texi2html