GRUB 2/es

From FedoraProject

< GRUB 2(Difference between revisions)
Jump to: navigation, search
(Created page with "{{autolang}} = Grub2 = A partir de Fedora 16, el gestor de arranque utilizado con las instalaciones sobre sistemas BIOS x86 es grub2. Si está actualizando Fedora, por defecto ...")
 
 
Line 1: Line 1:
 
{{autolang}}
 
{{autolang}}
  
= Grub2 =
+
= Introducción =
  
A partir de Fedora 16, el gestor de arranque utilizado con las instalaciones sobre sistemas BIOS x86 es grub2. Si está actualizando Fedora, por defecto se instalará grub2, y además se ofrece la opción de saltarse completamente la configuración del gestor de arranque.
+
GRUB 2 es la versión más reciente de GNU GRUB, el GRand Unified Bootloader. Un gestor de arranque es el primer programa de software que se ejecuta al iniciarse el equipo. Es el responsable de cargar y transferir el control al kernel (núcleo) del sistema operativo, (Linux, en el caso de Fedora). El kernel, a su vez, inicializa el resto del sistema operativo.
  
= Tareas / Problemas generales =
+
GRUB 2 ha sustituido a lo que se conocía anteriormente como GRUB (es decir la versión 0.9x), que a su vez, se ha convertido en GRUB Legacy.
  
== Cómo agregar otros sistemas operativos al menú de grub2 ==
+
A partir de Fedora 16, GRUB 2 es el gestor de arranque predeterminado en sistemas con BIOS x86. Para actualizaciones de los sistemas con BIOS el valor predeterminado es también instalar GRUB 2, pero puede optar por omitir la configuración del gestor de arranque completamente.
  
Si tiene instalado otros sistemas operativos y desea iniciarlos con grub2:
+
= Tareas / Problemas generales  =
  
{{admon/note|Nota|Desde la beta de F16, os-prober debería ser agregado automáticamente durante la instalación, y utilizado para generar automáticamente las entradas correspondientes al resto de sus sistemas operativos instalados.}}
+
== Actualización de la configuración de GRUB 2 en sistemas con BIOS ==
  
<pre>
+
Los paquetes grub2 contienen comandos para instalar un gestor de arranque y para crear un archivo de configuración del gestor de arranque.
# yum install os-prober
+
  
# grub2-mkconfig -o /boot/grub2/grub.cfg
+
grub2-install instalará el gestor de arranque - generalmente en el MBR, en el espacio libre sin particionar, y como archivos en /boot. El gestor de arranque será instalado con algo como:
</pre>
+
 
 +
<pre>grub2-install /dev/sda</pre>
 +
 
 +
grub2-mkconfig va a crear una nueva configuración basada en el sistema actualmente en ejecución, la que se encuentra en /boot, que se establece en /etc/default/grub, y los scripts personalizables en /etc/grub.d/ . Un nuevo archivo de configuración se crea con:
 +
 
 +
<pre>grub2-mkconfig -o /boot/grub2/grub.cfg</pre>
 +
 
 +
El formato de configuración ha evolucionado con el tiempo, y un archivo de configuración nuevo podría ser ligeramente incompatible con el gestor de arranque antiguo. Por lo tanto a menudo/siempre es una buena idea ejecutar grub2-install antes de ejecutar grub2-mkconfig por alguna razón.
 +
 
 +
El instalador de Fedora, anaconda, ejecuta estos comandos de grub2 y generalmente no hay ninguna razón para ejecutarlos manualmente.
 +
 
 +
Generalmente, es seguro editar directamente /boot/grub2/grub.cfg en Fedora. Grubby en Fedora parchea la configuración cuando se realiza una actualización del kernel y tratará de no hacer ningún otro cambio que no sea necesario. (Otras distribuciones, en particular las distribuciones Debian y derivadas-Debian proporcionan un parche de software que agrega un comando {{command|update-grub}} que no está incluido ni es necesario en Fedora.) Sin embargo los cambios manuales podrían ser sobrescritos con grub2-mkconfig la próxima vez que el sistema se actualice con anaconda. Algunas personalizaciones pueden colocarse en /etc/grubd/40_custom o /boot/grub2/custom.cfg y sobrevivirán a la ejecución de grub2-mkconfig.
 +
 
 +
== Actualización de la configuración de GRUB 2 en sistemas con UEFI ==
 +
 
 +
{{admon/warning|Esta es una reseña no probada de la memoria y una predicción - tenga cuidado}}
 +
 
 +
{{admon/warning|GRUB 2 para UEFI en Fedora 18 se ha modificado mucho para apoyar Secure Boot. Lamentablemente esto también significa que GRUB 2 de Fedora 18 es bastante diferente de lo que ofrece el desarrollo de software y pierde algunas de las buenas propiedades que tiene y pueden verse en los sistemas con BIOS.}}
 +
 
 +
Para Fedora 18 asegúrese de que están instalados los paquetes necesarios:
 +
 
 +
<pre>yum install grub2-efi shim</pre>
 +
 
 +
El archivo de configuración necesario se crea con:
 +
 
 +
<pre>grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg</pre>
 +
 
 +
(Sin embargo, podría decirse que sería mejor poner el archivo generado con mkconfig en /boot/grub2/grub.cfg y crear un grub.cfg de EFI que sólo apunte a aquél.)
 +
 
 +
La configuración puede ser ajustada mediante la edición de /etc/default/grub antes de ejecutar grub2-mkconfig.
 +
 
 +
El gestor de arranque UEFI debe estar configurado para arrancar el /EFI/fedora/shim.efi en el ESP. Probablemente se pueda hacer de alguna manera al arrancar o utilizando efibootmgr.
 +
 
 +
El gestor de arranque activo se actualizará inmediatamente después que sea actualizado el paquete grub2-efi. No depende de que se esté ejecutando grub2-install y no hay ningún respaldo si es liberada una mala actualización de grub2-efi.
 +
 
 +
== Agregar otros sistemas operativos al menú de GRUB 2 ==
 +
 
 +
grub2-mkconfig agrega entradas para los otros sistemas operativos que pueda encontrar. Esto se hace en base a la salida de la herramienta os-prober.
 +
 
 +
Sin embargo esto podría no funcionar tan bien, especialmente para arrancar otros sistemas operativos Linux, y particularmente en sistemas sin UEFI. Ver http://www.gnu.org/software/grub/manual/grub.html#Multi_002dboot-manual-config .
 +
 
 +
== Configuración de la entrada por defecto ==
 +
 
 +
{{admon/warning|Algunas partes de esta sección son incorrectas u obsoletas para f17. | También tenga en cuenta [[https://bugzilla.redhat.com/show_bug.cgi?id=768106 Bug 768106 - grubby does not support grub2 set default="${saved_entry}" and replaces with "0"]]. | }}
 +
 
 +
Debido a <code>grub2-mkconfig</code> (y a os-prober) no podemos conocer de antemano el orden de las entradas en <code>/boot/grub2/grub.cfg</code>, de modo que hemos definido un orden predeterminado adoptando un criterio de nombre/título.
 +
 
 +
Abra <code>/etc/default/grub</code> y asegúrese de que existe esta línea:
 +
 
 +
<pre>GRUB_DEFAULT=saved</pre>
 +
 
 +
Aplique el cambio a <code>grub.cfg</code> ejecutando: <pre>grub2-mkconfig -o /boot/grub2/grub.cfg</pre>
 +
 
 +
Ahora una lista de todas las posibles entradas del menú
 +
<pre>grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2</pre>
  
== Cómo configurar la entrada predeterminada ==
+
Ahora establezca el valor predeterminado deseado a la entrada del menú <pre>grub2-set-default <menu entry title></pre>
  
Debido a <code>grub2-mkconfig</code> (y a os-prober) no podemos conocer de antemano el orden de las entradas en /boot/grub2/grub.cfg, de modo que hemos definido un orden predeterminado adoptando un criterio de nombre/título. Para hacerlo, hemos definido dos elementos: Primero, <pre>GRUB_DEFAULT=saved</pre> en <code>/etc/default/grub</code>.
+
Compruebe la entrada del menú por defecto <pre>grub2-editenv list</pre>
Segundo, denominamos <pre>grub2-set-default <título o número></pre> con el título de la entrada de la instalación de Fedora más reciente.
+
A partir de allí se puede modificar lo predeterminado invocando <pre>grub2-set-default <título o número></pre>, o visualizándolo ejecutando <pre>grub2-editenv list</pre>
+
  
{{admon/note|Nota|Existen formas más sencillas de lograr esto, pero son propensas a errores cuando grub2-mkconfig es ejecutado nuevamente. Esto incluye configurar directamente el archivo predeterminado en /boot/grub2/grub.cfg, o definir GRUB_DEFAULT o bien con un número o con un título de entrada en /etc/default/grub. Ninguno de estos métodos es recomendable.}}
+
{{admon/note|Nota|Hay otras formas más simples de establecer la entrada predeterminada, pero son propensas a errores si/cuando grub2-mkconfig es ejecutado nuevamente. Esto incluye configurar directamente el archivo predeterminado en /boot/grub2/grub.cfg o definir GRUB_DEFAULT o bien con un número o con un título de entrada en /etc/default/grub. Ninguno de estos métodos es recomendable.}}
  
 
Si comprende los riesgos involucrados y aún así desea modificar directamente el archivo /boot/grub2/grub.cfg, se debe proceder de la siguiente manera:
 
Si comprende los riesgos involucrados y aún así desea modificar directamente el archivo /boot/grub2/grub.cfg, se debe proceder de la siguiente manera:
  
Edite el archivo /boot/grub2/grub.cfg, y modifique la línea
+
Edite /boot/grub2/grub.cfg, y modifique la línea
  
{{admon/caution|Este método no es el recomendado|Esta modificación no sobrevivirá luego de realizar un grub2-mkconfig. Ni siquiera sobrevivirá a una actualización del kernel.}}
+
{{admon/caution|Este método no es el recomendado|Esto no sobrevivirá luego de realizar un grub2-mkconfig. Ni siquiera podría sobrevivir a una actualización del kernel.}}
  
 
<pre>
 
<pre>
Line 38: Line 89:
  
 
por  
 
por  
 
 
<pre>
 
<pre>
 
set default="5"
 
set default="5"
 
</pre>
 
</pre>
  
== Cómo actualizar las configuraciones del Grub ==
+
== Encontrando el temido indicador de arranque de GRUB 2 ==
 
+
Si no está configurado correctamente, GRUB 2 puede fallar al cargar y posteriormente encontrarse con un indicador de arranque. Para solucionar este problema, haga lo siguiente:
En Fedora, editar directamente el archivo /boot/grub2/grub.cfg es un procedimiento seguro. Cuando se realice una actualización del kernel, Grubby modifica la configuración y lo hace de una manera segura. Otras distribuciones, específicamente Debian y sus derivadas, poseen una ruta predeterminada (por lo general diferente en cada una de estas distribuciones), que agregan un comando de actualización del grub. Esta forma de proceder no es ofrecida en Fedora, y tampoco es necesaria.
+
 
+
== Cómo hallar el tan temido intérprete de arranque de Grub2 ==
+
 
+
Uno podría jurar que el disco va a arrancar, y que todo va a salir bien, hasta que de repente se encuentra con el intérprete de comandos de Grub2. ¿Qué hacer y cómo recuperarlo?:
+
 
+
1. Liste los discos que observa Grub2
+
  
 +
1. Listar las unidades que observa GRUB 2:
 
<pre>
 
<pre>
 
grub2> ls
 
grub2> ls
Line 58: Line 102:
  
 
2. El resultado de una tabla de particiones DOS /dev/sda con tres particiones debería ser algo parecido a esto:
 
2. El resultado de una tabla de particiones DOS /dev/sda con tres particiones debería ser algo parecido a esto:
 
 
<pre>
 
<pre>
 
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
 
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
 
</pre>
 
</pre>
  
3. Mientras que el resultado de una tabla de particiones gpt /dev/sda con cuatro particiones es similar a la siguiente:
+
3. Mientras que el resultado de una tabla de particiones gpt /dev/sda con cuatro particiones sería similar a la siguiente:
 
+
 
<pre>
 
<pre>
(hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)
+
(hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)
 
</pre>
 
</pre>
  
4. Con esta información, puede ahora buscar el disco en cada partición, y ubicar sus archivos vmlinuz e initramfs:
+
4. Con esta información ahora puede examinar cada partición de la unidad y localizar los archivos vmlinuz e initramfs:
 
+
 
<pre>
 
<pre>
ls (hd0,1)/  
+
ls (hd0,1)/
 
</pre>
 
</pre>
 +
Esto mostrará una lista de los archivos en /dev/sda1. Si esta partición contiene /boot, la salida mostrará el nombre completo de vmlinuz e initramfs.
  
Esto debería listar los archivos en /dev/sda1 y si fuera el directorio /boot le ofrecería el nombre completo de vmlinuz y de initramfs
+
5. Conociendo la ubicación y el nombre completo de vmlinuz e initramfs ya puede arrancar el sistema.
 
+
5. Conociendo la ubicación y el nombre completo de vmlinuz e initramfs, ya es posible iniciar el sistema.  
+
 
+
5a. Primero defina su partición root
+
  
 +
5a. Defina su partición raíz:
 
<pre>
 
<pre>
 
grub> set root=(hd0,3)
 
grub> set root=(hd0,3)
 
</pre>
 
</pre>
  
5b. Elija el kernel que desea utilizar
+
5b. Defina el kernel que desea utilizar:
 
+
 
<pre>
 
<pre>
 
grub> linux (hd0,1)/vmlinuz-3.0.0-1.fc16.i686 root=/dev/sda3 rhgb quiet selinux=0  
 
grub> linux (hd0,1)/vmlinuz-3.0.0-1.fc16.i686 root=/dev/sda3 rhgb quiet selinux=0  
Line 93: Line 131:
 
</pre>
 
</pre>
  
5c. Elija el archivo initrd a utilizar
+
5c. Defina el archivo initrd a utilizar:
 
+
 
<pre>   
 
<pre>   
 
grub> initrd (hd0,1)/initramfs-3.0.0-1.fc16.i686.img
 
grub> initrd (hd0,1)/initramfs-3.0.0-1.fc16.i686.img
Line 100: Line 137:
 
</pre>
 
</pre>
  
5d. Hágale saber a Grub2 que ahora por favor arranque los archivos seleccionados
+
5d. Instruir a GRUB 2 para que arranque los archivos seleccionados:
 
+
 
<pre>
 
<pre>
 
grub> boot
 
grub> boot
 
</pre>
 
</pre>
  
6. Luego que su sistema se haya iniciado, abra una terminal
+
6. Después del arranque, abra un terminal.
 
+
7. Ingrese el comando grub2-mkconfig para generar nuevamente el archivo grub.cfg que grub2 necesitó para iniciar su sistema
+
  
 +
7. Ejecute el comando grub2-mkconfig para volver a crear el archivo grub.cfg que grub2 necesitó para arrancar su sistema:
 
<pre>
 
<pre>
 
grub2-mkconfig -o /boot/grub2/grub.cfg
 
grub2-mkconfig -o /boot/grub2/grub.cfg
 
</pre>
 
</pre>
  
8. Ingrese el comando grub2-install para instalar grub2 en su disco duro, y utilizar su configuración
+
8. Ejecute el comando grub2-install para instalar grub2 en el disco duro y hacer uso de su configuración:
 
+
 
<pre>
 
<pre>
 
grub2-install --boot-directory=/boot /dev/sda
 
grub2-install --boot-directory=/boot /dev/sda
# Note: your drive may have another device name check for it with mount command output
+
# Note: your drive may have another device name. Check for it with mount command output.
 
</pre>
 
</pre>
  
== Otros inconvenientes ==
+
== Otros problemas de GRUB 2 ==
  
'''Otros problemas de grub2''': se niega a instalarse sobre el sector de arranque de una partición (tal vez se lo podría forzar?) y, ¡¡¡ esto es importante !!!, no lo instala debido a numerosas razones, incluso cuando su controlador de disquete se encuentra activado en el BIOS, y no hay una unidad conectada o no hay un disquete insertado. La solución es ejecutar (luego de haber instalado el sistema operativo) desde el modo rescate:
+
''' Absent Floppy Disk (Disquetera ausente) ''': Algunos usuarios han informado que GRUB 2 puede fallar al instalarlo en el sector de arranque de una partición si el controlador de la disquetera del ordenador está activado en el BIOS sin que haya una unidad de disquetes presente. Una posible solución consiste en ejecutar (después de instalar el sistema operativo) desde el modo rescate:
  
 
<pre>
 
<pre>
grub2-install <dispositivo destino> --no-floppy
+
grub2-install <target device> --no-floppy
 
</pre>
 
</pre>
 +
 +
== Configuración de una contraseña con el modo de edición interactivo ==
 +
 +
Si desea proteger con contraseña en el modo de edición interactivo pero permitir el arranque sin contraseña aquí hay una manera de hacerlo (tomado del método proporcionado por el instalador anaconda):
 +
 +
Cree y edite /etc/grub.d/01_users y coloque lo siguiente en su interior:
 +
<pre>
 +
set superusers="root"
 +
password_pbkdf2 root GRUBPASSWORDHASH
 +
export superusers
 +
</pre>
 +
 +
Tenga en cuenta la existencia del comando grub2-mkpasswd-pbkdf2 que es parte del paquete grub2-tools. Ejecute grub2-mkpasswd-pbkdf2 desde la línea de comandos, le pedirá una contraseña dos veces y luego generará un hash de la misma. Tomar ese dato de salida y sustituirlo por la palabra GRUBPASSWORDHASH en el archivo /etc/grub.d/01_users como en el ejemplo anterior.
 +
 +
«superusers» es mágico, y a partir de ese momento todo deberá estar protegido por contraseña excepto el arranque de las entradas predeterminadas.
 +
 +
== Usando los modos gráficos antiguos en el gestor de arranque ==
 +
 +
El dispositivo terminal es elegido con GRUB_TERMINAL; cita adicional en http://www.gnu.org/software/grub/manual/grub.html#Simple-configuration
 +
 +
<code>
 +
Los nombres válidos para la terminal de salida dependen de la plataforma, pero pueden incluir ‘console’ (consolas de PC BIOS y EFI), ‘serial’ (terminal serial), ‘gfxterm’ (modo de salida de gráficos), ‘ofconsole’ (consola de Open Firmware) o ‘vga_text’ (salida VGA de texto, útil sobre todo con Coreboot).
 +
 +
El valor predeterminado es utilizar la terminal de salida nativa de las plataformas.
 +
</code>
 +
 +
El valor por defecto en Fedora es gfxterm y para obtener los modos de gráficos heredados necesita establecer en GRUB_TERMINAL la variable adecuada de la descripción de arriba en /etc/defaults/grub
 +
 +
== Activar la consola serial en Grub ==
 +
 +
Para activar la consola Serial en grub añadir las siguientes entradas a /etc/default/grub
 +
 +
(Ajustar la tasa de baudios/paridad/bits/control de flujo para adaptarse a su entorno y cables)
 +
 +
<pre>
 +
GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,115200n8'
 +
GRUB_TERMINAL=serial
 +
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
 +
</pre>
 +
 +
Y vuelva a generar grub
 +
 +
<code>
 +
grub2-mkconfig -o /boot/grub2/grub.cfg
 +
</code>
  
 
= Para seguir leyendo =
 
= Para seguir leyendo =

Latest revision as of 05:01, 2 December 2012

Contents

[edit] Introducción

GRUB 2 es la versión más reciente de GNU GRUB, el GRand Unified Bootloader. Un gestor de arranque es el primer programa de software que se ejecuta al iniciarse el equipo. Es el responsable de cargar y transferir el control al kernel (núcleo) del sistema operativo, (Linux, en el caso de Fedora). El kernel, a su vez, inicializa el resto del sistema operativo.

GRUB 2 ha sustituido a lo que se conocía anteriormente como GRUB (es decir la versión 0.9x), que a su vez, se ha convertido en GRUB Legacy.

A partir de Fedora 16, GRUB 2 es el gestor de arranque predeterminado en sistemas con BIOS x86. Para actualizaciones de los sistemas con BIOS el valor predeterminado es también instalar GRUB 2, pero puede optar por omitir la configuración del gestor de arranque completamente.

[edit] Tareas / Problemas generales

[edit] Actualización de la configuración de GRUB 2 en sistemas con BIOS

Los paquetes grub2 contienen comandos para instalar un gestor de arranque y para crear un archivo de configuración del gestor de arranque.

grub2-install instalará el gestor de arranque - generalmente en el MBR, en el espacio libre sin particionar, y como archivos en /boot. El gestor de arranque será instalado con algo como:

grub2-install /dev/sda

grub2-mkconfig va a crear una nueva configuración basada en el sistema actualmente en ejecución, la que se encuentra en /boot, que se establece en /etc/default/grub, y los scripts personalizables en /etc/grub.d/ . Un nuevo archivo de configuración se crea con:

grub2-mkconfig -o /boot/grub2/grub.cfg

El formato de configuración ha evolucionado con el tiempo, y un archivo de configuración nuevo podría ser ligeramente incompatible con el gestor de arranque antiguo. Por lo tanto a menudo/siempre es una buena idea ejecutar grub2-install antes de ejecutar grub2-mkconfig por alguna razón.

El instalador de Fedora, anaconda, ejecuta estos comandos de grub2 y generalmente no hay ninguna razón para ejecutarlos manualmente.

Generalmente, es seguro editar directamente /boot/grub2/grub.cfg en Fedora. Grubby en Fedora parchea la configuración cuando se realiza una actualización del kernel y tratará de no hacer ningún otro cambio que no sea necesario. (Otras distribuciones, en particular las distribuciones Debian y derivadas-Debian proporcionan un parche de software que agrega un comando update-grub que no está incluido ni es necesario en Fedora.) Sin embargo los cambios manuales podrían ser sobrescritos con grub2-mkconfig la próxima vez que el sistema se actualice con anaconda. Algunas personalizaciones pueden colocarse en /etc/grubd/40_custom o /boot/grub2/custom.cfg y sobrevivirán a la ejecución de grub2-mkconfig.

[edit] Actualización de la configuración de GRUB 2 en sistemas con UEFI

Warning (medium size).png
Esta es una reseña no probada de la memoria y una predicción - tenga cuidado
Warning (medium size).png
GRUB 2 para UEFI en Fedora 18 se ha modificado mucho para apoyar Secure Boot. Lamentablemente esto también significa que GRUB 2 de Fedora 18 es bastante diferente de lo que ofrece el desarrollo de software y pierde algunas de las buenas propiedades que tiene y pueden verse en los sistemas con BIOS.

Para Fedora 18 asegúrese de que están instalados los paquetes necesarios:

yum install grub2-efi shim

El archivo de configuración necesario se crea con:

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

(Sin embargo, podría decirse que sería mejor poner el archivo generado con mkconfig en /boot/grub2/grub.cfg y crear un grub.cfg de EFI que sólo apunte a aquél.)

La configuración puede ser ajustada mediante la edición de /etc/default/grub antes de ejecutar grub2-mkconfig.

El gestor de arranque UEFI debe estar configurado para arrancar el /EFI/fedora/shim.efi en el ESP. Probablemente se pueda hacer de alguna manera al arrancar o utilizando efibootmgr.

El gestor de arranque activo se actualizará inmediatamente después que sea actualizado el paquete grub2-efi. No depende de que se esté ejecutando grub2-install y no hay ningún respaldo si es liberada una mala actualización de grub2-efi.

[edit] Agregar otros sistemas operativos al menú de GRUB 2

grub2-mkconfig agrega entradas para los otros sistemas operativos que pueda encontrar. Esto se hace en base a la salida de la herramienta os-prober.

Sin embargo esto podría no funcionar tan bien, especialmente para arrancar otros sistemas operativos Linux, y particularmente en sistemas sin UEFI. Ver http://www.gnu.org/software/grub/manual/grub.html#Multi_002dboot-manual-config .

[edit] Configuración de la entrada por defecto

Warning (medium size).png
Algunas partes de esta sección son incorrectas u obsoletas para f17.
También tenga en cuenta [Bug 768106 - grubby does not support grub2 set default="${saved_entry}" and replaces with "0"].

Debido a grub2-mkconfig (y a os-prober) no podemos conocer de antemano el orden de las entradas en /boot/grub2/grub.cfg, de modo que hemos definido un orden predeterminado adoptando un criterio de nombre/título.

Abra /etc/default/grub y asegúrese de que existe esta línea:

GRUB_DEFAULT=saved
Aplique el cambio a grub.cfg ejecutando:
grub2-mkconfig -o /boot/grub2/grub.cfg

Ahora una lista de todas las posibles entradas del menú

grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2
Ahora establezca el valor predeterminado deseado a la entrada del menú
grub2-set-default <menu entry title>
Compruebe la entrada del menú por defecto
grub2-editenv list
Note.png
Nota
Hay otras formas más simples de establecer la entrada predeterminada, pero son propensas a errores si/cuando grub2-mkconfig es ejecutado nuevamente. Esto incluye configurar directamente el archivo predeterminado en /boot/grub2/grub.cfg o definir GRUB_DEFAULT o bien con un número o con un título de entrada en /etc/default/grub. Ninguno de estos métodos es recomendable.

Si comprende los riesgos involucrados y aún así desea modificar directamente el archivo /boot/grub2/grub.cfg, se debe proceder de la siguiente manera:

Edite /boot/grub2/grub.cfg, y modifique la línea

Stop (medium size).png
Este método no es el recomendado
Esto no sobrevivirá luego de realizar un grub2-mkconfig. Ni siquiera podría sobrevivir a una actualización del kernel.
set default="0" 

por

set default="5"

[edit] Encontrando el temido indicador de arranque de GRUB 2

Si no está configurado correctamente, GRUB 2 puede fallar al cargar y posteriormente encontrarse con un indicador de arranque. Para solucionar este problema, haga lo siguiente:

1. Listar las unidades que observa GRUB 2:

grub2> ls

2. El resultado de una tabla de particiones DOS /dev/sda con tres particiones debería ser algo parecido a esto:

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)

3. Mientras que el resultado de una tabla de particiones gpt /dev/sda con cuatro particiones sería similar a la siguiente:

(hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)

4. Con esta información ahora puede examinar cada partición de la unidad y localizar los archivos vmlinuz e initramfs:

ls (hd0,1)/

Esto mostrará una lista de los archivos en /dev/sda1. Si esta partición contiene /boot, la salida mostrará el nombre completo de vmlinuz e initramfs.

5. Conociendo la ubicación y el nombre completo de vmlinuz e initramfs ya puede arrancar el sistema.

5a. Defina su partición raíz:

grub> set root=(hd0,3)

5b. Defina el kernel que desea utilizar:

grub> linux (hd0,1)/vmlinuz-3.0.0-1.fc16.i686 root=/dev/sda3 rhgb quiet selinux=0 
# NOTE : add other kernel args if you have need of them
# NOTE : change the numbers to match your system

5c. Defina el archivo initrd a utilizar:

  
grub> initrd (hd0,1)/initramfs-3.0.0-1.fc16.i686.img
# NOTE : change the numbers to match your system

5d. Instruir a GRUB 2 para que arranque los archivos seleccionados:

grub> boot

6. Después del arranque, abra un terminal.

7. Ejecute el comando grub2-mkconfig para volver a crear el archivo grub.cfg que grub2 necesitó para arrancar su sistema:

grub2-mkconfig -o /boot/grub2/grub.cfg

8. Ejecute el comando grub2-install para instalar grub2 en el disco duro y hacer uso de su configuración:

grub2-install --boot-directory=/boot /dev/sda
# Note: your drive may have another device name. Check for it with mount command output.

[edit] Otros problemas de GRUB 2

Absent Floppy Disk (Disquetera ausente) : Algunos usuarios han informado que GRUB 2 puede fallar al instalarlo en el sector de arranque de una partición si el controlador de la disquetera del ordenador está activado en el BIOS sin que haya una unidad de disquetes presente. Una posible solución consiste en ejecutar (después de instalar el sistema operativo) desde el modo rescate:

grub2-install <target device> --no-floppy

[edit] Configuración de una contraseña con el modo de edición interactivo

Si desea proteger con contraseña en el modo de edición interactivo pero permitir el arranque sin contraseña aquí hay una manera de hacerlo (tomado del método proporcionado por el instalador anaconda):

Cree y edite /etc/grub.d/01_users y coloque lo siguiente en su interior:

set superusers="root"
password_pbkdf2 root GRUBPASSWORDHASH
export superusers

Tenga en cuenta la existencia del comando grub2-mkpasswd-pbkdf2 que es parte del paquete grub2-tools. Ejecute grub2-mkpasswd-pbkdf2 desde la línea de comandos, le pedirá una contraseña dos veces y luego generará un hash de la misma. Tomar ese dato de salida y sustituirlo por la palabra GRUBPASSWORDHASH en el archivo /etc/grub.d/01_users como en el ejemplo anterior.

«superusers» es mágico, y a partir de ese momento todo deberá estar protegido por contraseña excepto el arranque de las entradas predeterminadas.

[edit] Usando los modos gráficos antiguos en el gestor de arranque

El dispositivo terminal es elegido con GRUB_TERMINAL; cita adicional en http://www.gnu.org/software/grub/manual/grub.html#Simple-configuration

Los nombres válidos para la terminal de salida dependen de la plataforma, pero pueden incluir ‘console’ (consolas de PC BIOS y EFI), ‘serial’ (terminal serial), ‘gfxterm’ (modo de salida de gráficos), ‘ofconsole’ (consola de Open Firmware) o ‘vga_text’ (salida VGA de texto, útil sobre todo con Coreboot).

El valor predeterminado es utilizar la terminal de salida nativa de las plataformas.

El valor por defecto en Fedora es gfxterm y para obtener los modos de gráficos heredados necesita establecer en GRUB_TERMINAL la variable adecuada de la descripción de arriba en /etc/defaults/grub

[edit] Activar la consola serial en Grub

Para activar la consola Serial en grub añadir las siguientes entradas a /etc/default/grub

(Ajustar la tasa de baudios/paridad/bits/control de flujo para adaptarse a su entorno y cables)

GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,115200n8'
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

Y vuelva a generar grub

grub2-mkconfig -o /boot/grub2/grub.cfg

[edit] Para seguir leyendo

http://www.gnu.org/software/grub/manual/grub.html

http://fedoraproject.org/wiki/Features/Grub2

http://fedoraproject.org/wiki/Anaconda/Features/Grub2Migration