GRUB 2 es el gestor de arranque por defecto de Ubuntu desde la versión 9.10 (Karmic Koala). Cuando el ordenador se inicia, GRUB 2 presenta un menú y espera la entrada del usuario o transfiere automáticamente el control a un núcleo del sistema operativo. GRUB 2 es un descendiente de GRUB (GRand Unified Bootloader). Ha sido completamente reescrito para proporcionar al usuario una flexibilidad y un rendimiento significativamente mayores. GRUB 2 es Software Libre.
En esta guía, GRUB 2 es la versión 1.98 o posterior. Se hará referencia a GRUB legacy (versión 0.97) como GRUB. Para determinar su versión, utilice grub-install -V. La versión 1.99 de Grub se convirtió en la predeterminada en Ubuntu 11.04 (Natty Narwhal) e introdujo algunos cambios importantes en el contenido del archivo Grub. Esta guía cubre el uso de Grub 1.98, la versión de Grub encontrada en Ubuntu 10.04 LTS (Lucid Lynx). y Grub 1.99, empaquetado con Ubuntu 12.04 LTS (Precise Pangolin). El contenido que refleje otras versiones de Grub 2 se anotará en la entrada correspondiente.
Mejoras
Las principales mejoras de GRUB 2 respecto al GRUB original incluyen:
- Soporte de scripts, incluyendo declaraciones condicionales y funciones
- Carga dinámica de módulos
- Modo de rescate
- Menús personalizados
- Temas
- Soporte de menú de arranque gráfico y capacidad de splash mejorada
- Arranque de imágenes ISO de LiveCD directamente desde el disco duro
- Nueva estructura de archivos de configuración
- Soporte de plataformas nox86 (como PowerPC)
- Soporte universal para UUIDs (no sólo Ubuntu)
- En una nueva instalación de Ubuntu 9.10 o posterior sin otros sistemas operativos instalados, GRUB 2 arrancará directamente al prompt de login o al Escritorio. No se mostrará ningún menú.
- Mantenga pulsado (derecha) SHIFT para mostrar el menú durante el arranque. En ciertos casos, pulsar la tecla ESC también puede mostrar el menú.
- No hay /boot/grub/menu.lst. Se ha sustituido por /boot/grub/grub.cfg.
- No hay «/find boot/grub/stage1» en el prompt de grub. Se ha eliminado la etapa 1.5.
- El archivo de configuración principal de Grub 2, normalmente ubicado en la carpeta /boot/grub, es grub.cfg. Es el producto de varios scripts y normalmente no debería ser editado directamente.
-
grub.cfg se sobrescribe con ciertas actualizaciones de los paquetes de Grub 2, cada vez que se añade o elimina un kernel, o cuando el usuario ejecuta update-grub.
-
La lista del menú de los kernels Linux disponibles se genera automáticamente al ejecutar update-grub.
-
El usuario puede crear un archivo personalizado en el que puede colocar sus propias entradas de menú. Este archivo no se sobrescribirá. Por defecto, un archivo personalizado llamado 40_custom está disponible para su uso en la carpeta /etc/grub.d.
-
El archivo de configuración principal para cambiar los ajustes de visualización del menú se llama grub y por defecto se encuentra en la carpeta /etc/default.
-
Hay múltiples archivos para configurar el menú – /etc/default/grub mencionado anteriormente, y todos los archivos en el directorio /etc/grub.d/.
-
La numeración de las particiones ha cambiado. La primera partición es ahora 1 en lugar de 0. El primer dispositivo/unidad sigue siendo hd0 por defecto (sin cambios). Estas designaciones pueden ser alteradas si es necesario en el archivo device.map en la carpeta /boot/grub.
-
Las búsquedas automatizadas de otros sistemas operativos, como Windows, se realizan siempre que se ejecuta update-grub. Los sistemas operativos encontrados se colocarán en el menú Grub 2.
-
Los cambios realizados en los archivos de configuración no tendrán efecto hasta que se ejecute el comando update-grub.
- Si no se detecta ningún otro sistema operativo GRUB 2 arrancará directamente en el sistema operativo por defecto y no se mostrará ningún menú.
- Si se detecta otro sistema operativo se mostrará el menú de GRUB 2.
-
El menú se muestra durante un número predeterminado de segundos. La entrada predeterminada se resalta y el usuario puede realizar otras selecciones hasta que expire el tiempo de espera. El tiempo de espera predeterminado es de 2 segundos. El temporizador continúa hasta que se pulse cualquier tecla o se seleccione la entrada resaltada pulsando ENTER.
- Si no se realiza ninguna entrada por parte del usuario, GRUB 2 arranca la entrada por defecto al final del periodo de tiempo de espera.
- Una vez que se ha pulsado una tecla el tiempo de espera se desactiva y el usuario debe hacer una selección manualmente.
-
La entrada por defecto está determinada por el ajuste GRUB_DEFAULT= en /etc/default/grub; la primera «menuentry» tiene un valor de «0».
- Operaciones ocultas normales habilitadas:
- No se muestran las entradas del menú. Se mostrará la pantalla de inicio, si está configurada.
-
El tiempo que la pantalla permanece en blanco pero disponible para su visualización está determinado por un ajuste en /etc/default/grub (GRUB_HIDDEN_TIMEOUT)
-
GRUB 2 puede mostrar un temporizador de cuenta atrás para proporcionar información visual sobre el tiempo restante hasta la selección por defecto. La configuración del tiempo de espera se habilita en /etc/default/grub (GRUB_HIDDEN_TIMEOUT_QUIET)
- El usuario puede mostrar el menú pulsando cualquier tecla.
- Una vez que se muestra el menú, comienza el contador de GRUB_TIMEOUT. Al pulsar cualquier tecla se detiene la cuenta atrás.
-
Si no se pulsa ninguna tecla al final del tiempo de espera se seleccionará la entrada por defecto determinada por la configuración en /etc/default/grub.
-
- Una vez que se muestra el menú, comienza el contador de GRUB_TIMEOUT. Al pulsar cualquier tecla se detiene la cuenta atrás.
- Operaciones del menú oculto no esperadas (anormales):
- El usuario puede ser capaz de mostrar el menú en una o más de las siguientes formas:
- Manteniendo pulsada la tecla SHIFT al principio del proceso de arranque hasta que aparezca el menú.
- GRUB 2 busca una señal de la tecla SHIFT presionada durante el arranque. Si la tecla está presionada o GRUB 2 no puede determinar el estado de la tecla, se muestra el menú.
- Pulsar la tecla ESC durante una ventana de 3 segundos mientras GRUB 2 se ejecuta.
- Manteniendo pulsada la tecla SHIFT al principio del proceso de arranque hasta que aparezca el menú.
- El usuario puede ser capaz de mostrar el menú en una o más de las siguientes formas:
Guardado
-
Se puede guardar un SO ejecutando sudo grub-set-default si GRUB_DEFAULT=saved está configurado en /etc/default/grub. También se puede guardar si GRUB_SAVEDEFAULT=true también está establecido en /etc/default/grub. En este caso, el SO por defecto permanece hasta que se seleccione manualmente un nuevo SO en el menú de GRUB 2 o se ejecute el comando grub-set-default.
Último arranque fallido o arranque en modo de recuperación
Si el último arranque falló o después de un arranque en modo de recuperación el menú se mostrará hasta que el usuario haga una selección.
Para cambiar este comportamiento, edite /etc/default/grub y añada la variable GRUB_RECORDFAIL_TIMEOUT. Establezca el valor de forma similar a la configuración de GRUB_TIMEOUT.
- Para -1, no habrá cuenta atrás y por tanto se mostrará el menú.
- Para 0, el menú no se mostrará incluso para un arranque fallido.
- Para >=1, el menú se mostrará durante el número de segundos especificado.
Ejecutar update-grub después de haber realizado el cambio.
En algunos casos el truco con GRUB_RECORDFAIL_TIMEOUT no funciona. En tal caso edite /etc/grub.d/00_header y cambie el valor de timeout en la línea 236 (esta línea está en la función make_timeout())
set timeout=-1
al valor descrito anteriormente.
Ejecutar update-grub después de haber realizado el cambio. Un agradecimiento especial a McCunha en los foros de Ubuntu por el consejo anterior.
El cambio anterior, sin embargo, todavía hace que GRUB2 arranque en modo gráfico de texto. Por lo tanto, se requiere un cambio adicional. Edite /etc/grub.d/10_linux y cambie la línea 188 a
set linux_gfx_mode=keep
Una vez más, ejecute update-grub después de realizar el cambio.
Protección por contraseña
GRUB 2 es capaz de proteger con contraseña la edición de menús, el acceso al terminal de GRUB 2, y entradas específicas o todas las entradas del menú. También puede limitar el acceso a entradas específicas para usuarios específicos, y puede encriptar contraseñas de texto plano para aumentar la seguridad. Por favor, consulte la documentación de la comunidad Grub2/Passwords.
Entradas de menú personalizadas
GRUB 2 permite a los usuarios crear selecciones de menú personalizadas que se añadirán automáticamente al menú principal cuando se ejecute sudo update-grub. Un archivo 40_custom está disponible en /etc/grub.d/ para su uso o para que sirva de ejemplo para crear otros menús personalizados. La información sobre la construcción y uso de menús personalizados en GRUB 2 se encuentra en el documento de la comunidad Grub2/CustomMenus.
Solución de problemas
GRUB 2 proporciona excelentes capacidades para solucionar y corregir problemas de arranque desde el menú de arranque o el terminal de GRUB 2. Los procedimientos de solución de problemas y recuperación se detallan en el documento de la comunidad Grub2/Troubleshooting que también incluye una sección Selected_Problems_and_Bugs.
Arreglando los congelamientos de reinicio/apagado
Si su máquina se congela al intentar apagar o reiniciar, intente modificar /etc/default/grub. Abra el archivo con gksudo gedit /etc/default/grub (interfaz gráfica) o sudo nano /etc/default/grub (línea de comandos). Cualquier otro editor de texto plano (Vim, Emacs, Kate, Leafpad) también está bien. Encuentre la línea que comienza con GRUB_CMDLINE_LINUX_DEFAULT y añada reboot=bios al final.
Si se hace bien debería resultar algo como GRUB_CMDLINE_LINUX_DEFAULT=»quiet splash reboot=bios»
Después guarda el archivo, ejecuta sudo update-grub y reinicia de la forma que te sea posible. Después de eso, los reinicios y apagados deberían empezar a funcionar correctamente.
Con cierto hardware (sobre todo DELL) el parámetro del kernel que añades tiene que ser reboot=pci (en lugar de reboot=bios), el procedimiento sigue siendo el mismo.
Displays
GRUB 2 puede hacer más que proporcionar un simple menú negro & blanco. Su menú puede ser personalizado por el usuario para presentar un menú más atractivo visualmente cambiando los colores de las fuentes, los fondos y las resoluciones.
Para obtener información sobre el uso de las imágenes de presentación y el cambio de los colores de la fuente y las resoluciones del menú, consulte la documentación de la comunidad Grub2/Displays.
Temas
La tematización de Grub 2 está todavía en desarrollo, al igual que la integración con gfxmenu. Los elementos del tema incluirán colores, fuentes, indicadores de progreso, menús y etiquetas. Ambos son muy prometedores, pero no están listos para su lanzamiento con Ubuntu 9.10. Consulta la sección de enlaces al final de esta página para ver las referencias.
Instalación/Reinstalación/Movimiento de GRUB2
Por favor, visite la documentación de la comunidad de Grub2/Instalación. La información relativa a las actualizaciones de GRUB 0.97 (Legacy) a GRUB 2 se encuentra ahora en Grub2/Upgrading.
Arrancar una ISO desde una entrada de menú
Las ISOs de Ubuntu, así como muchas ISOs de utilidades y algunos otros sistemas operativos Linux, pueden arrancarse desde un disco duro a través de una entrada de menú de GRUB. Esto elimina la necesidad de crear un CD/DVD y permite que los archivos de imagen de arranque se almacenen sólo en el disco duro.
Para obtener información sobre esta característica de Grub 2, visite la página de documentación de la comunidad Grub2/ISOBoot.
Seguridad
Impedir el arranque a través de la línea de comandos de Grub
La posibilidad de arrancar manualmente utilizando la línea de comandos de Grub constituye el mayor riesgo de seguridad en Linux. Cualquier sistema operativo puede ser arrancado de esta manera desde cualquier unidad USB o CD/DVD, eludiendo las restricciones de la BIOS. Poner contraseñas o bloquear elementos del menú (en los archivos de configuración de Grub) no impide que un usuario arranque manualmente usando comandos introducidos en la línea de comandos de Grub. (Una vez que se arranca un SO ajeno, por supuesto, se puede utilizar para acceder a cualquier parte de un disco duro no cifrado).
Actualmente no hay opciones para evitar el uso de la línea de comandos de Grub. Hacerlo restringiría la carga de arranque a sólo las opciones del menú y eso no se considera prudente
Varios
Arranque desde una consola serie
Si quiere que GRUB funcione a través de una línea serie, necesitará descomentar GRUB_TERMINAL en /etc/default/grub y establecerlo como serie (en lugar de la consola por defecto). Alternativamente, puede añadir GRUB_TERMINAL=»console serial» para tener el menú grub tanto en la consola serie como en la local. La configuración por defecto de la consola serie es operar en el primer puerto serie (ttyS0) a una velocidad de transferencia de 9600 bits/s con 8 bits de datos, 1 bit de parada y sin paridad.
Si desea utilizar otro puerto serie o si su consola utiliza una configuración diferente, debe añadir una línea GRUB_SERIAL_COMMAND para especificar parámetros adicionales al comando serie. El comando serie en GRUB 2 utiliza la misma sintaxis que su contraparte de GRUB Legacy (documentada aquí). Por ejemplo, para una línea serie muy común de 9600 bit/s (baudios) con 8 bits de datos, 1 bit de parada y sin paridad:
GRUB_SERIAL_COMMAND=»serial –unit=0 –speed=9600 –word=8 –parity=no –stop=1″
Un ejemplo es una línea serie de 4800 bit/s (baudios) con 7 bits de datos, 1 bit de parada y paridad:
GRUB_SERIAL_COMMAND=»serial –unit=0 –speed=4800 –word=7 –parity=even –stop=1″
Botamiento de FreeBSD, NetBSD y sistemas operativos de carga en cadena o multiarranque
Por favor, consulte la página de documentación de la comunidad Grub2OtherOs.
Enlaces
-
Grub2/CustomMenus
-
Grub2/Displays
-
Grub2/Instalación
-
Grub2/ISOBoot
-
Grub2/Instalación
-
Grub2/Contraseñas
-
Grub2/Submenús
-
Grub2/Solución de problemas
-
Se puede instalar en cualquier lugar.
-
Grub2/Actualización
-
Grub 2 (Ubuntu Wiki)
-
-
GNU GRUB
-
Manual de GRUB2 de GNU
-
Página de inicio de arranque dual ilustrada
-
Soporte de Mac OS X (XNU)
-
Mac OS X Boot Snow Leopard
-
Manual de GRUB – Temas
-
La Guía Definitiva para Tematizar GRUB2 por Towheed Mohammed
-
Análisis de problemas con grub2 y RAID1 con soluciones
CategoríaBootAndPartition CategoríaRescueAndCloning
-
.
GRUB vs GRUB 2
El menú por defecto de GRUB 2 parecerá familiar a los usuarios de GRUB pero hay un gran número de diferencias bajo la superficie.
Actualización a GRUB 2 desde GRUB
GRUB 2 es el gestor de arranque por defecto de Ubuntu. Los usuarios que todavía tienen Grub 0.97 instalado en sus sistemas Ubuntu pueden actualizar a GRUB 2 instalando las versiones actualmente soportadas de Ubuntu o habilitando los repositorios que contienen el paquete grub-pc de GRUB 2.
Por favor, visite la documentación de la comunidad Grub2/Upgrading para más información e instrucciones.
Estructura de archivos
GRUB 2 incorpora una jerarquía de directorios y archivos totalmente revisada. Las principales carpetas de GRUB 2 incluyen /etc/grub.d, que contiene los principales scripts de GRUB 2, y /boot/grub, que contiene los módulos de GRUB 2 y el archivo de menú (grub.cfg). Las personalizaciones del usuario se hacen normalmente en el archivo /etc/default/grub.
La descripción de las principales carpetas y archivos de GRUB 2 se encuentra en la página de documentación de la comunidad Grub2/Setup.
Configuración de GRUB 2
Los cambios de configuración se realizan normalmente en el archivo /etc/default/grub y en los scripts personalizados ubicados en /etc/grub.d. No se realizan cambios en el menú de GRUB 2 hasta que se ejecuta el comando update-grub como root. Este comando ejecuta los scripts de configuración de GRUB 2 y actualiza el archivo /boot/grub/grub.cfg.
Las descripciones de las opciones de GRUB 2 y cómo cambiarlas se presentan en la página de documentación de la comunidad Grub2/Setup.
Comportamiento de la pantalla de arranque
GRUB 2 se carga antes que cualquier sistema operativo. Sus componentes modulares se cargan en función de las necesidades. El comportamiento de la visualización de los menús está generalmente determinado por la configuración en /etc/default/grub. Revise la sección «Configurando GRUB 2» más arriba para una guía específica de entrada y formato.