GRUB (Español) - ArchWiki

38
24/5/2014 GRUB (Español) - ArchWiki https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 1/38 Artículos relacionados Arch Boot Process (Español) Boot loaders Master Boot Record (Español) GUID Partition Table (Español) Unified Extensible Firmware Interface (Español) GRUB EFI Examples GRUB (Español) From ArchWiki GRUB (https://www.gnu.org/software/grub/) —no confundir con GRUB Legacy— es la nueva generación de GRand Unified Bootloader (GRUB). GRUB deriva de PUPA (http://www.nongnu.org/pupa/), un proyecto de investigación destinado a mejorar lo que hoy es GRUB Legacy. GRUB ha sido totalmente reescrito a fin de proporcionar una mayor modularidad y portabilidad [1] (https://www.gnu.org/software/grub/grub-faq). En resumen, el gestor de arranque («bootloader») es el primer programa que se ejecuta cuando se inicia el equipo. Es el responsable de cargar y transferir el control al kernel de Linux, que, a su vez, inicializa el resto del sistema operativo. Contents 1 Prefacio 1.1 Notas para los usuarios de GRUB Legacy 1.1.1 Realizar una copia de seguridad de los datos importantes 1.2 Requisitos previos para GRUB 1.2.1 Sistemas BIOS 1.2.1.1 Instrucciones específicas para GUID Partition Table (GPT) 1.2.1.2 Instrucciones específicas para Master Boot Record (MBR) 1.2.2 Sistemas UEFI 1.2.2.1 Comprobar si se está utilizando GPT y una partición EFI del sistema (ESP) 1.2.2.2 Crear una ESP 2 Instalación 2.1 Sistemas BIOS 2.1.1 Instalar los archivos de arranque de grub 2.1.1.1 Instalación en el disco 2.1.1.2 Instalación en una partición o disco sin particiones 2.1.1.3 Generar únicamente core.img 2.2 Sistemas UEFI 2.2.1 Instalar los archivos de arranque 2.2.1.1 Método recomendado 2.2.1.2 Método alternativo 2.2.2 Crear una entrada de GRUB en el gestor de arranque del firmware 2.2.3 GRUB Standalone 2.2.3.1 GRUB Standalone - Información Técnica 3 Generar el archivo de configuración principal 3.1 Convertir el archivo de configuración de GRUB Legacy al nuevo formato 4 Configuración básica

Transcript of GRUB (Español) - ArchWiki

Page 1: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 1/38

Artículos relacionados

Arch Boot Process(Español)

Boot loaders

Master Boot Record(Español)

GUID Partition Table(Español)

Unified ExtensibleFirmware Interface(Español)

GRUB EFI Examples

GRUB (Español)

From ArchWiki

GRUB (https://www.gnu.org/software/grub/) —no confundir con GRUB Legacy—es la nueva generación de GRand Unified Bootloader (GRUB). GRUB deriva dePUPA (http://www.nongnu.org/pupa/), un proyecto de investigación destinado amejorar lo que hoy es GRUB Legacy. GRUB ha sido totalmente reescrito a fin deproporcionar una mayor modularidad y portabilidad [1](https://www.gnu.org/software/grub/grub-faq).

En resumen, el gestor de arranque («bootloader») es el primer programa que seejecuta cuando se inicia el equipo. Es el responsable de cargar y transferir el controlal kernel de Linux, que, a su vez, inicializa el resto del sistema operativo.

Contents

1 Prefacio

1.1 Notas para los usuarios de GRUB Legacy

1.1.1 Realizar una copia de seguridad de los datos importantes

1.2 Requisitos previos para GRUB

1.2.1 Sistemas BIOS

1.2.1.1 Instrucciones específicas para GUID Partition Table (GPT)1.2.1.2 Instrucciones específicas para Master Boot Record (MBR)

1.2.2 Sistemas UEFI

1.2.2.1 Comprobar si se está utilizando GPT y una partición EFI del sistema (ESP)

1.2.2.2 Crear una ESP

2 Instalación

2.1 Sistemas BIOS

2.1.1 Instalar los archivos de arranque de grub

2.1.1.1 Instalación en el disco2.1.1.2 Instalación en una partición o disco sin particiones

2.1.1.3 Generar únicamente core.img

2.2 Sistemas UEFI

2.2.1 Instalar los archivos de arranque

2.2.1.1 Método recomendado

2.2.1.2 Método alternativo

2.2.2 Crear una entrada de GRUB en el gestor de arranque del firmware

2.2.3 GRUB Standalone

2.2.3.1 GRUB Standalone - Información Técnica

3 Generar el archivo de configuración principal3.1 Convertir el archivo de configuración de GRUB Legacy al nuevo formato

4 Configuración básica

Page 2: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 2/38

4.1 Argumentos adicionales

4.2 Configuración del aspecto

4.2.1 Ajustar la resolución del framebuffer

4.2.2 Introducir 915resolution

4.2.3 Imagen de fondo y fuentes bitmap

4.2.4 Temas4.2.5 Colores del menú

4.2.6 Menú oculto

4.2.7 Desactivar el framebuffer

4.3 Nomenclatura permanente de dispositivos de bloque

4.4 Recordar el último sistema arrancado

4.5 Cambiar la entrada por defecto del menú

4.6 Partición root cifrada

4.7 Efectuar el arranque de una entrada no predeterminada por una sola vez

5 Configuración avanzada

5.1 Creación manual de grub.cfg

5.2 Arranque dual5.2.1 Generación automática utilizando /etc/grub.d/40_custom y grub-mkconfig

5.2.1.1 Entrada de menú para GNU/Linux5.2.1.2 Entrada de menú para FreeBSD

5.2.1.3 Entrada de menú para Windows XP5.2.1.4 Entrada de menú para Windows instalado en modo UEFI-GPT5.2.1.5 Entrada de menú para «Apagar»

5.2.1.6 Entrada de menú para «Reiniciar»5.2.1.7 Entrada de menú para Windows instalado en modo BIOS-MBR

5.2.2 Con Windows usando EasyBCD y NeoGRUB5.3 Iniciar una imagen ISO directamente desde GRUB

5.3.1 ISO de Arch Linux5.3.2 ISO de Ubuntu

5.3.3 Otras ISO5.4 LVM

5.5 RAID5.6 Utilizar etiquetas5.7 Proteger con contraseña el menú de GRUB

5.8 Ocultar GRUB y hacerlo aparecer mediante la tecla Mayús5.9 Combinar la utilización de UUID con scripts

6 Utilizar la shell de órdenes6.1 Soporte para Pager

6.2 Usar el entorno de la shell de órdenes para arrancar distintos sistemas operativos6.2.1 Cargar una partition

6.2.2 Cargar un disco/unidad6.2.3 Carga normal

7 Herramientas GUI de configuración8 parttool para mostrar/ocultar particiones9 Utilizar la consola de emergencia

Page 3: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 3/38

10 Solución de problemas

10.1 Algunas Bios de Intel no efectúan el arranque de la partición GPT10.2 Activar mensajes de depuración de errores en GRUB

10.3 Corregir el error de GRUB: «no suitable mode found»10.4 Mensaje de error msdos-style

10.5 GRUB UEFI vuelve a la shell10.6 GRUB UEFI no se carga

10.7 Invalid signature10.8 Bloqueos al arrancar

10.9 Restaurar GRUB Legacy10.10 Arch no es detectado por otros Sistemas Operativos10.11 Memoria insuficiente/error de sistaxis al ejecutar grub-mkconfig

11 Véase también

Prefacio

El nombre de GRUB oficialmente se refiere a la versión 2 del software, consulte [2](https://www.gnu.org/software/grub/). Si se está buscando el artículo sobre la versión legacy, consulte

GRUB Legacy.

GRUB soporta el uso del sistema de archivos Btrfs para la partición root (sin necesidad de una partición /boot separada con sistema de archivos distinto) compatible con los algoritmos de compresión zlib o

LZO.

GRUB no soporta particiones root formateadas con F2fs, por lo que será necesario crear una partición /boot separada usando un sistema de archivos compatible.

Notas para los usuarios de GRUB Legacy

La actualización de GRUB Legacy a GRUB es un proceso muy similar al de una instalación limpia deGRUB, argumento tratado aquí.

Hay diferencias en las órdenes de GRUB Legacy y GRUB. Le recomendamos que se familiarice con los

órdenes de GRUB (https://www.gnu.org/software/grub/manual/grub.html#Commands) antes de continuar.(Por ejemplo, «find» (encontrar) ha sido reemplazado por «search» (buscar)).

GRUB es ahora modular, y ya no requiere «stage 1.5». En consecuencia, el gestor de arranque tiene unacapacidad limitada y los módulos son cargados desde el disco duro en caso de necesidad (por ejemplo, si

necesita soporte de LVM o RAID).

Las reglas de la nomenclatura de los dispositivos cambian de GRUB Legacy a GRUB: Los discos durosestán siendo ahora numerados a partir de 0, mientras que las particiones comienzan en 1 y son seguidos por

el nombre del sistema de particionamiento usado. Por ejemplo, /dev/sda1 hace referencia a

(hd0,msdos1) (para sistemas que usan MBR), o a (hd0,gpt1) (para los sistemas que usan GPT).

Page 4: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 4/38

GRUB ocupa mucho más espacio respecto a GRUB legacy (ocupa alrededor de ~13 MB en /boot). Si

se efectúa el arranque desde una partición /boot separada con un tamaño menor de 32 MB, se tendrán

problemas de espacio en el disco, y pacman se negará a instalar kernels nuevos.

Realizar una copia de seguridad de los datos importantes

En general, la instalación de GRUB debería ser un éxito, pero es recomendable conservar los archivos de GRUB-legacy antes de instalar el paquete GRUB v2.

# mv /boot/grub /boot/grub-legacy

Haga una copia de seguridad del MBR dado que contiene el código de arranque y la tabla de particiones (sustituya/dev/sdX con el identificativo de su disco):

# dd if=/dev/sdX of=/path/to/backup/mbr_backup bs=512 count=1

Solo los primeros 446 bytes del MBR contiene el código de arranque, mientras que los 64 restantes estándedicados a la tabla de particiones. Si no desea sobrescribirla, durante una eventual recuperación, se recomiendahacer copia de seguridad solo del código de arranque:

# dd if=/dev/sdX of=/path/to/backup/bootcode_backup bs=446 count=1

Si no ha sido capaz de instalar con éxito GRUB, consulte cómo restaurar GRUP Legacy.

Requisitos previos para GRUB

Sistemas BIOS

Instrucciones específicas para GUID Partition Table (GPT)

Para acloparse a la BIOS-GPT, GRUB requiere una partición propia (BIOS Boot Partition(http://www.gnu.org/software/grub/manual/html_node/BIOS-installation.html#BIOS-installation)), en la que seubica su core.img, ante la carencia de espacio (31KiB) después del MBR en los sistemas que utilizan el método

de particionado GPT (en dicho lugar se ubica la GPT Primary Header y la Primary Partition Table). Esta particiónse utiliza por GRUB solo en las configuraciones de BIOS-GPT, y no es necesario cuando se utiliza el métodoclásico de particionado (MBR) o si está en un sistema UEFI. Syslinux tampoco requiere esta partición.

Para las configuraciones de BIOS-GPT, cree una partición de aproximadamente 1007 KiB usando gdisk, cgdisk oGNU Parted sin asignarle un sistema de archivos. El tamaño de 1007 KiB permitirá a la partición ser alineadacorrectamente a 1024 KiB. Si es necesario, la partición también puede estar ubicada en otro lugar del disco, perodebe estar zona correspondiente a los primeros 2 TiB. Ajuste la partición al código tipo ef02, si se utiliza la

herramienta (c)gdisk, o set <BOOT_PART_NUM> bios_grub on, si se usa GNU Parted.

The GPT partition also creates a protective MBR partition to stop unsupported tools from modifying it. You mayneed to set a bootable flag on this protective MBR e.g., using cfdisk, or some BIOSes/EFIs will refuse to boot.

Page 5: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 5/38

Nota:

Se debe crear la partición mencionada antes de ejecutar la orden grub-install o grub-setup.gdisk le permitirá crear la partición en cuestión de forma que reduzca al mínimo la pérdida de espacio

(sectores 34-2047), desde el momento en que gdisk alinea automáticamente las particiones a un sector

múltiple de 2048, si es posible.

Instrucciones específicas para Master Boot Record (MBR)

Por lo general, el espacio usable después del MBR (después de los 512 bytes dedicados a ella, y antes de laprimera partición), es de 31 Kb, de modo que si hay algún problema de alineación de los cilindros se resuelven enla tabla de particiones. Sin embargo, se recomienda mantener una distancia de aproximadamente 1 MiB queproporcionará el espacio suficiente para contener core.img de GRUB (FS#24103

(https://bugs.archlinux.org/task/24103)). Es recomendable utilizar una herramienta de particionado que permita laalineación de una partición de 1 MiB después del MBR, de modo que se pueda obtener el espacio necesario, yresolver otros problemas fuera de los primeros 512 bytes (que son ajenos a la incrustación de core.img).

Sistemas UEFI

Nota: Es recomendable consultar las páginas UEFI, GPT y UEFI_Bootloaders antes de seguir esta parte.

Comprobar si se está utilizando GPT y una partición EFI del sistema (ESP)

Se necesita una partición de sistema EFI (ESP) en cada disco que quiera arrancar con EFI. Una tabla departiciones GPT no es estrictamente necesaria, pero es muy recomendable y es el único método actualmenteapoyado en este artículo. Si va a instalar Archlinux en un equipo EFI-compatible con un sistema operativo yafuncionando, como Windows 8, por ejemplo, es muy probable que ya tenga una ESP. Para comprobar si usa GPTy una ESP, utilice parted como root para imprimir la tabla de particiones del disco que desea arrancar. (En el

ejemplo utilizado aquí se denomina /dev/sda.)

# parted /dev/sda print

Si se utiliza GPT, la orden debe informar: «Partition Table: GPT». Para saber si se usa la modalidad EFI, busqueuna pequeña partición (de 512 MiB o menos), con un sistema de archivos vfat y la etiqueta «boot» activada. Enella, debe haber una carpeta llamada «EFI». Si se cumplen estos criterios, esta es la ESP. Tome nota del númerode la partición, pues tendrá que saber cuál es para que pueda montarla, más adelante, durante la instalación en ellade GRUB.

Crear una ESP

Si no se tiene una ESP, tendrá que crearla. Siga las instrucciones de UEFI#EFI System Partition para saber cómocrear una ESP.

Page 6: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 6/38

Instalación

Nota: Si va a realizar una instalación inicial desde el CD live de Arch, asegúrese de que el sistema instalado se

encuentra enjaulado (chroot) antes de instalar grub. Usar los scripts de instalación de grub del propio CD puededar como resultado un archivo grub.cfg inválido u otros problemas, que impidan el arranque del sistema.

Sistemas BIOS

GRUB puede ser instalado con el paquete grub (https://www.archlinux.org/packages/?name=grub)

disponible en los repositorios oficiales. Este reemplazará a grub-legacy

(https://aur.archlinux.org/packages/grub-legacy/), si está instalado.

Nota: La simple instalación del paquete mencionado no actualiza el archivo /boot/grub/i386-pc/core.imgo los módulos de GRUB en /boot/grub/i386-pc. Para ello es necesario actualizarlo de forma explícita

utilizando grub-install, como se explica a continuación.

Antes de instalar, asegúrese de que las UUID correctas de sus discos son las que están presentes en grub.cfg:

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

Instalar los archivos de arranque de grub

Hay tres formas de instalar los archivos de arranque de GRUB en un sistema BIOS :

#Instalación en el disco (recomendado),

#Instalación en una partición o disco sin particiones (no recomendado),#Generar únicamente core.img (el método más seguro, pero requiere de un gestor de arranque diferente,

como Syslinux, que permitirá interactuar con /boot/grub/i386-pc/core.img).

Nota: Véase http://www.gnu.org/software/grub/manual/grub.html#BIOS-installation para documentaciónadicional.

Instalación en el disco

Nota: El método es específico para la instalación de GRUB en un disco ya particionado (con MBR o GPT), con

los archivos de GRUB instalados en /boot/grub y el código de la primera etapa instalado en la región del

código de arranque del MBR de los primeros 440-byte (no debe confundirse con la tabla de particiones MBR).

Para discos no particionados (super-floppy) remítase a #Instalación en una partición o disco sin particiones

Para instalar grub en la región de los 440 bytes relativa al código de arranque, también llamada Master Boot

Record, tenemos que poblar la carpeta /boot/grub, crear /boot/grub/i386-pc/core.img, insértela en el

sector de los 31KiB (el tamaño mínimo varía dependiendo de la alineación de las particiones) después del MBR,

Page 7: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 7/38

en el caso de disco particionado con MBR (o BIOS Boot Partition en el caso de GPT, indicada con la etiqueta«bios_grub» en parted y con el código EF02 en gdisk), ejecute:

# grub-install --target=i386-pc --recheck --debug /dev/sda

Nota:

El dispositivo /dev/sda es usado únicamente como ejemplo.El parámetro --target=i386-pc alecciona a grub-install para la instalación de GRUB

únicamente en sistemas BIOS. Se recomienda siempre usar esta opción para evitar la ambigüedad en

grub-install.

Si utiliza LVM para /boot, puede instalar GRUB en varios discos físicos.

Instalación en una partición o disco sin particiones

Nota: GRUB no alienta a los usuarios a instalar en el sector de arranque de una partición o disco sin particiones,

contrariamente a lo que hace GRUB Legacy o Syslinux. Este tipo de configuración es propensa a la ruptura,sobre todo durante las actualizaciones, y no es tratado por los desarrolladores de Arch.

Para instalar grub en el sector de arranque de una partición o disco sin particiones (por ejemplo, superfloppy), hayque ejecutar (suponiendo que el dispositivo es /dev/sdaX y que corresponde a la partición /boot):

# chattr -i /boot/grub/i386-pc/core.img

# grub-install --target=i386-pc --recheck --debug --force /dev/sdaX

# chattr +i /boot/grub/i386-pc/core.img

Nota:

El dispositivo /dev/sdaX es usado únicamente como ejemplo

El parámetro --target=i386-pc instruye a grub-install para la instalación de GRUB únicamente

en sistemas BIOS. Se recomienda siempre usar esta opción para eliminar la ambigüedad en grub-install.

Necesitará la opción --force para permitir el uso de blocklists, pero no se debe usar

--grub-setup=/bin/true (lo que equivale a generar únicamente core.img).

grub-install emitirá los mensajes de advertencia que sirven para explicar los riesgos de este enfoque:

/sbin/grub-setup: warn: Attempting to install GRUB to a partitionless disk or to a partition. This is a BAD idea.

/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists.

However, blocklists are UNRELIABLE and their use is discouraged.

Page 8: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 8/38

Sin la opción --force, recibirá el siguiente error y, consiguientemente, grub-setup no podrá instalar su propio

código en el MBR.

/sbin/grub-setup: error: will not proceed with blocklists

Especificando --force, sin embargo, debe obtener:

Installation finished. No error reported.

El motivo de ello es porque grub-setup no realiza automáticamente esta operación al instalar el gestor de

arranque en una partición, o en un disco sin particiones, ya que grub se basa en los mismos blocklists integrados

en el sector de arranque de la partición para localizar /boot/grub/i386-pc/core.img y la ruta del directorio

/boot/grub. Las áreas que contienen los archivos de arriba pueden cambiar en caso de alteración de la

partición (al copiar o borrar archivos, etc.) Para obtener más información, consultehttps://bugzilla.redhat.com/show_bug.cgi?id=728742 y https://bugzilla.redhat.com/show_bug.cgi?id=730915.

La solución propuesta consiste en establecer una etiqueta permanente a /boot/grub/i386-pc/core.img, de

modo que la posición de core.img en el disco no se vea alterada. La etiqueta permanente de

/boot/grub/i386-pc/core.img es necesaria establecerla solo si grub se encuentra instalado en el sector de

arranque de una partition o disco sin particiones, y no en el caso de una instalación sencilla en el MBR o de lageneración de core.img sin incorporarla en ningún sector de arranque (mencionado anteriormente).

Continue with #Generate config file. The GRUB config file is not generated by grub-install command.

Generar únicamente core.img

Para completar la carpeta /boot/grub y generar un /boot/grub/i386-pc/core.img sin instalar grub en

el MBR, añada --grub-setup=/bin/true a grub-install:

# grub-install --target=i386-pc --grub-setup=/bin/true --recheck --debug /dev/sda

Nota:

El dispositivo /dev/sdaX es usado únicamente como ejemplo

El parámetro --target=i386-pc instruye a grub-install para la instalación de GRUB únicamente

en sistemas BIOS. Se recomienda siempre usar esta opción para eliminar la ambigüedad en grub-install.

A continuación, puede realizar el traslado de la core.img de GRUB desde GRUB Legacy o syslinux como un

kernel de Linux o un kernel multiarranque.

Sistemas UEFI

Page 9: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 9/38

Nota: Es bien sabido que los fabricantes de placas base implementan UEFI de modo diferente. Los usuarios que

experimenten para hacer que funcione correctamente Grub/EFI se les anima a compartir los pasos seguidos

durante la instalación para determinar las diferencias con respecto a lo que se describe a continuación. En un

esfuerzo por mantener el artículo sobre GRUB lo más limpio y ordenado posible, consulte la página ejemplospara GRUB EFI para estos casos especiales.

Primero, instale los paquetes grub (https://www.archlinux.org/packages/?name=grub), dosfstools

(https://www.archlinux.org/packages/?name=dosfstools) y efibootmgr

(https://www.archlinux.org/packages/?name=efibootmgr), y, a continuación, siga las siguientes

instrucciones. (The last two packages are required for EFI support in grub.)

Nota: La simple instalación de este paquete no actualiza el archivo core.efi ni los módulos de GRUB

ubicados en la UEFI System Partition. Es necesario hacerlo manualmente usando grub-install como se

explica a continuación.

Instalar los archivos de arranque

Método recomendado

Nota:

Presumimos que estamos usando las siguientes órdenes al instalar GRUB para x86_64-efi (para

IA32-efi sustituya x86_64 con i386 en las órdenes siguientes).

Para hacer que esto funcione necesita arrancar en modalidad UEFI y no mediante BIOS. Si se ha

efectuado el arranque simplemente copiando el archivo ISO de instalación en una unidad USB, seránecesario seguir esta guía o grub-install mostrará errores

En primer lugar, monte la partición ESP en el punto de montaje deseado (normalmente /boot/efi, en adelante

$esp). En una primera instalación, deberá crear el directorio /boot/efi con la orden mkdir, para poder montar lapartición.

Ahora, instale la aplicación UEFI GRUB en $esp/EFI/grub y sus módulos en /boot/grub/x86_64-efi:

# grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=grub --recheck --debug

Nota:

Si tiene un problemas cuando ejecute grub-install con sysfs o procfs, y el script le aconseja cargar

«modprobe efivars», pruebe con Unified_Extensible_Firmware_Interface#Switch_to_efivarfs.

Si no especifica las opciones --target o --directory, grub-install no logrará determinar el

tipo de firmware sobre el que GRUB será instalado, lo que mostrará el siguiente mensaje de error:

source_dir doesn't exist. Please specify --target or --directory

Las opciones --efi-directory y --bootloader-id son específicas de GRUB UEFI. La opción

Page 10: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 10/38

--efi-directory indica el punto de montaje de la partición UEFI del sistema, que reemplaza la opción--root-directory, la cual está obsoleta. La opción --bootloader-id indica el nombre del

directorio usado para hospedar al archivo grubx64.efi.Si se observa con cuidado, no hay ninguna opción relativa a <device_path> (Por ejemplo: /dev/sda)

durante la ejecución de la orden grub-install, a diferencia de cuando se configura GRUB para

sistemas BIOS. Cualquier ruta proporcionada a un dispositivo (<device_path>) será ignorado por el script

de instalación, en cuanto que los gestores de arranque de UEFI no utilizan MBR o los sectores de

arranque de las particiones.

GRUB está ahora instalado.

Método alternativo

Si desea guardar todos los archivos de arranque de GRUB dentro de la misma partición del sistema UEFI, añada --boot-directory=$esp/EFI para la orden grub-install:

# grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=grub --boot-directory=$esp/EFI --recheck --debug

De este modo, los módulos de GRUB vendrán instalados en $esp/EFI/grub. ('/grub' es añadido

automáticamente al final de la ruta.) Usando este método, grub.cfg se guarda en la partición UEFI del sistema, asíque asegúrese de que señala el lugar correcto en grub-mkconfig durante la fase de configuración:

# grub-mkconfig -o $esp/EFI/grub/grub.cfg

El resto de la configuración es idéntica.

Crear una entrada de GRUB en el gestor de arranque del firmware

grub-install intentará crear automáticamente una entrada de menú en el gestor de arranque. Si no es así,

véase la guía para principiantes para obtener instrucciones sobre cómo usar efibootmgr a fin de crear una

entrada en el menú. De todas formas, el problema probablemente sea que no se ha arrancado el CD/USB en lamodalidad UEFI, como se indica en Unified Extensible Firmware Interface (Español)#Crear un USB booteable deUEFI desde la ISO

GRUB Standalone

Nota: Utilice el paquete grub-git (https://aur.archlinux.org/packages/grub-git/) para generar

la imagen EFI de GRUB standalone, dado que el paquete grub

(https://www.archlinux.org/packages/?name=grub) no contiene algunos arreglos específicos para

grub-mkstandalon (concretamente soporte para ${cmdpath}, que es necesario).

Page 11: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 11/38

Es posible crear una aplicación grubx64_standalone.efi que tiene todos los módulos integrados en un

archivo tar dentro de la aplicación UEFI, eliminando así la necesidad de tener un directorio aparte para contenertodos los módulos de UEFI GRUB y otros archivos relacionados. Esto se hace usando la orden grub-mkstandalone (incluida en grub (https://www.archlinux.org/packages/?name=grub)) como

sigue:

# echo 'configfile ${cmdpath}/grub.cfg' > /tmp/grub.cfg ## utilice comillas simples, ${cmdpath} debe estar presente tal cual es

# grub-mkstandalone -d /usr/lib/grub/x86_64-efi/ -O x86_64-efi --modules="part_gpt part_msdos" --fonts="unicode" --locales="en@quot" --themes="" -o "$esp/EFI/grub/grubx64_standalone.efi" "/boot/grub/grub.cfg=/tmp/grub.cfg" -v

Nota: La opción --modules="part_gpt part_msdos" (con las comillas) es necesaria para que lacaracterística ${cmdpath} funcione correctamente.

A continuación, copie el archivo de configuración de GRUB a $esp/EFI/grub/grub.cfg y cree una entrada en

el gestor de arranque de UEFI para $esp/EFI/grub/grubx64_standalone.efi utilizando efibootmgr.

GRUB Standalone - Información Técnica

El archivo GRUB EFI siempre espera que su archivo de configuración esté en ${prefix}/grub.cfg. Sin

embargo, en el archivo EFI de GRUB standalone, el ${prefix} se encuentra dentro de un archivo tar incrustado

en el propio archivo EFI de GRUB standalone (dentro de grub se reconoce por "(memdisk)", sin comillas).

Este archivo tar contiene todos los archivos que se almacenan normalmente en /boot/grub en el caso de una

instalación normal de GRUB EFI.

Debido a esta incorporación del contenido de /boot/grub dentro de la propia imagen standalone, dicho

contenido no está presente en /boot/grub (externo) para nada. Así, tanto el archivo EFI de GRUB standalone,

${prefix}==(memdisk)/boot/grub, como el resto de archivos EFI de GRUB standalone leídos, esperan que

el archivo de configuración se encuentre en ${prefix}/grub.cfg==(memdisk)/boot/grub/grub.cfg.

Para asegurarse que el archivo EFI de GRUB standalone lea el archivo grub.cfg externo ubicado en el mismo

directorio que el archivo EFI (reconocido en grub como ${cmdpath}), crearemos un simple archivo

/tmp/grub.cfg que oblique a GRUB a utilizar ${cmdpath}/grub.cfg como su archivo de configuración (al

ejecutar la orden configfile ${cmdpath}/grub.cfg en (memdisk)/boot/grub/grub.cfg). Entonces

indicamos a grub-mkstandalone que copie el archivo /tmp/grub.cfg a ${prefix}/grub.cfg (que en

realidad es (memdisk)/boot/grub/grub.cfg) utilizando la opción

"/boot/grub/grub.cfg=/tmp/grub.cfg".

De esta manera el archivo EFI de GRUB standalone y el archivo grub.cfg vigente se pueden almacenar en

cualquier directorio dentro de la partición EFI del sistema (siempre que se encuentren en el mismo directorio), loque los hace portables.

Generar el archivo de configuración principal

Page 12: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 12/38

Después de la instalación, necesita crear el archivo de configuración principal grub.cfg. El proceso de

generación puede estar influenciada por una variedad de opciones presentes en /etc/default/grub y de

scripts en /etc/grub.d/, lo cual se trata en las secciones #Configuraciń básica y #Configuración avanzada

Nota: Recuerde que grub.cfg tiene que ser regenerado después de realizar cualquier cambio en los archivos

/etc/default/grub o /etc/grub.d/*.

Utilice la utilidad grub-mkconfig para generar el archivo grub.cfg:

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

Nota:

La ruta del archivo para los sistemas BIOS es /boot/grub/grub.cfg, NO /boot/grub/i386-pc/grub.cfg.

Para los sistemas EFI, si GRUB se instala con la opción --boot-directory=$esp/EFI, el archivo grub.cfg archivo debe ser colocado en el mismo directorio como grubx64.efi. De lo contrario,

grub.cfg se instala en /boot/grub/, al igual que en los sistemas BIOS.Si está tratando de ejecutar grub- mkconfig en un entorno chroot o en un contenedor systemd - nspawn,

es posible que advierta que no funciona, indicando que grub-probe no puede conseguir la «canonical pathof /dev/sdaX». En estos casos, pruebe usando arch-chroot como se describe aquí(https://bbs.archlinux.org/viewtopic.php?pid=1225067#p1225067).

Por defecto, los scripts de generación añaden automáticamente las entradas de menú para Arch Linux a cualquierconfiguración generada. Sin embargo, las entradas para otros sistemas operativos no funcionan sin configuraciónadicional. En sistemas BIOS, es posible que desee instalar os-prober

(https://www.archlinux.org/packages/?name=os-prober), que detecta otros sistemas operativos

instalados en el ordenador y agrega entradas para ellos en grub.cfg. Es capaz de detectar solo los sistemas

operativos instalados en particiones montadas, por lo que debe montarlas antes de ejecutar grub-mkconfig .Véase #Arranque dual para configuraciones avanzadas.

Convertir el archivo de configuración de GRUB Legacy al nuevo formato

Si grub-mkconfig falla, convierta el archivo /boot/grub/menu.lst a /boot/grub/grub.cfg, usando:

# grub-menulst2cfg /boot/grub/menu.lst /boot/grub/grub.cfg

Nota: Esta opción solo funciona en los sistemas de BIOS, no en los sistemas UEF.

He aquí un ejemplo:

/boot/grub/menu.lst

Page 13: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 13/38

default=0

timeout=5

title Arch Linux Stock Kernel

root (hd0,0)

kernel /vmlinuz-linux root=/dev/sda2 ro

initrd /initramfs-linux.img

title Arch Linux Stock Kernel Fallback

root (hd0,0)

kernel /vmlinuz-linux root=/dev/sda2 ro

initrd /initramfs-linux-fallback.img

/boot/grub/grub.cfg

set default='0'; if [ x"$default" = xsaved ]; then load_env; set default="$saved_entry"; fi

set timeout=5

menuentry 'Arch Linux Stock Kernel' {

set root='(hd0,1)'; set legacy_hdbias='0'

legacy_kernel '/vmlinuz-linux' '/vmlinuz-linux' 'root=/dev/sda2' 'ro'

legacy_initrd '/initramfs-linux.img' '/initramfs-linux.img'

}

menuentry 'Arch Linux Stock Kernel Fallback' {

set root='(hd0,1)'; set legacy_hdbias='0'

legacy_kernel '/vmlinuz-linux' '/vmlinuz-linux' 'root=/dev/sda2' 'ro'

legacy_initrd '/initramfs-linux-fallback.img' '/initramfs-linux-fallback.img'

}

Si se olvidó de crear un archivo de configuración de GRUB, /boot/grub/grub.cfg, basta con reiniciar

apareciéndole la Shell de Órdenes de GRUB, y escribir:

sh:grub> insmod legacycfg

sh:grub> legacy_configfile ${prefix}/menu.lst

Arranque en Arch y regenere adecuadamente el archivo de configuración de GRUB,/boot/grub/grub.cfg.

Configuración básica

Esta sección cubre solo la edición del archivo de configuración /etc/default/grub. Véase #Configuración

avanzada si necesita más opciones.

Nota: Recuerde siempre regenerar el archivo de configuración principal después de realizar cambios en /etc/default/grub.

Argumentos adicionales

Para pasar argumentos adicionales personalizados a la imagen de Linux, se pueden ajustar las variables GRUB_CMDLINE_LINUX + GRUB_CMDLINE_LINUX_DEFAULT en /etc/default/grub. Los dos parámetros

se anexan al archivo y se pasan al kernel al generar las entradas de arranque regulares. Para la recuperación del

Page 14: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 14/38

sistema, solo se usa la variable GRUB_CMDLINE_LINUX.

No es necesario el uso de ambos, pero puede ser útil . Por ejemplo , podría utilizar GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sdaX quiet" cuando sdaX es la partición de intercambio

(swap) para activar la reanuddación del sistema tras la hibernación. Esto generaría una entrada de arranque dereanudación y sin el parámetro quiet que no mostraría los mensajes del kernel durante el arranque desde esaentrada. Sin embargo, las otras entradas del menú (regulares) seguirían teniendo las demás opciones.

Para generar la entrada de recuperación en GRUB también hay que comentar #GRUB_DISABLE_RECOVERY=true en /etc/default/grub.

También se puede usar GRUB_CMDLINE_LINUX="resume=/dev/disk/by-uuid/${swap_uuid}", cuando

${swap_uuid} es la UUID de la partición de intercambio.

Las entradas múltiples se separan por espacios dentro de comillas dobles. Por lo tanto, si desea usar tanto lafunción de reanuación como systemd, se vería así: GRUB_CMDLINE_LINUX="resume=/dev/sdaX init=/usr/lib/systemd/systemd"

Véase parámetros del kernel para obtener más información.

Configuración del aspecto

En GRUB puede cambiar el aspecto del menú. Asegúrese de haber inicializado el terminal gráfico de GRUB(gfxterm), utilizando una modalidad de vídeo adecuado (gfxmode). Para más información se puede consultar esteapartado. La modalidad de vídeo establecida a continuación, se pasará al kernel a través de gfxpayload; por lo

tanto, esta solicitud asegurará que cada configuración del aspecto tenga efecto.

Ajustar la resolución del framebuffer

GRUB permite ajustar el framebuffer tanto para él mismo como para el kernel. El antiguo parámetro vga= está en

desuso. El método recomendado es modificar /etc/default/grub de la siguiente manera:

GRUB_GFXMODE=1024x768x32

GRUB_GFXPAYLOAD_LINUX=keep

Para que los cambios tengan efecto, ejecute:

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

La opción gfxpayload se asegurará de que la resolución se mantendrá y pasará al kernel.

Nota:

Si este ejemplo no funciona, pruebe a sustituirgfxmode="1024x768x32" con vbemode="0x105".Para una lista de todos las modalidades de vídeo disponibles es suficiente ejecutar la orden

Page 15: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 15/38

hwinfo --framebuffer (hwinfo está disponible en [community], mientras que para el prompt deGRUB se utiliza la orden vbeinfo (es necesario cargar el módulo vbe en primer lugar).

Si este método falla, la antigua opción vga= sigue siendo válida. Añadimos vga= a la opción

GRUB_CMDLINE_LINUX_DEFAULT en /etc/default/grub. Por ejemplo:

"GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vga=792" establece una resolución de 1024x768

Puede elegir entre las siguientes resoluciones: 640×480, 800×600, 1024×768, 1280×1024, 1600×1200,

1920×1200

Introducir 915resolution

Si está usando tarjeta de vídeo de Intel, puede ocurrir que ni # hwinfo --framebuffer ni vbeinfo muestre

la resolución deseada. En este caso, puede utilizar este arreglo, para cambiar temporalmente la BIOS de la tarjetade vídeo mediante la adición de la resolución requerida. Consulte la página 915resolution(http://915resolution.mango-lang.org/).

En primer lugar, debe elegir un modo de vídeo para editar más tarde. Para ello necesitamos utilizar la shell deórdenes de GRUB:

sh:grub> 915resolution -l

Intel 800/900 Series VBIOS Hack : version 0.5.3

[...]

Mode 30 : 640x480, 8 bits/pixel

[...]

La orden antes descrita sobreescribirá Mode 30 con la resolución de 1440x900.

/etc/grub.d/00_header

[...]

915resolution 30 1440 900 # Inserted line

set gfxmode=${GRUB_GFXMODE}

[...]

Ahora tendrá que establecer el valor en GRUB_GFXMODE, como se explicó anteriormente, reconstruya el archivo

grub.cfg y reinicie para comprobar los cambios.

Imagen de fondo y fuentes bitmap

GRUB es compatible con imágenes de fondo y fuentes de mapa de bits en el formato pf2. la fuente unifont está

incluida en el paquete grub-common (https://www.archlinux.org/packages/?name=grub-common) con

el nombre unicode.pf2 o, solo para carácteres ASCII, con el nombre ascii.pf2.

Page 16: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 16/38

Los formatos de imagen soportados incluyen tga, png e jpeg siempre que los respectivos módulos se cargan. Laresolución máxima aplicable depende del hardware en uso.

Antes de continuar, siga las disposiciones indicadas en este apartado.

A continuación, edite el archivo /etc/default/grub como sigue:

GRUB_BACKGROUND="/boot/grub/miaimmagine"

#GRUB_THEME="/path/to/gfxtheme"

GRUB_FONT="/path/to/font.pf2"

Nota: Si va a instalar GRUB en una partición separada, /boot/grub/mi_imagen se convierte en /grub/mi_imagen

Regenere grub.cfg para aplicar los cambios. Si la inserción de la imagen se realiza correctamente, debería ver el

mensaje Found background image..., al ejecutar la orden anterior. Si no, quiere decir que la imagen no se ha

incorporado en el archivo grub.cfg.

En este caso, compruebe que:

La ruta y el nombre de la imagen en /etc/default/grub es correcta.

La imagen tiene un tamaño y formato adecuados (tga, png, jpg a 8 bits)La imagen se guarda en modo RGB y no indexado.

La modalidad consola no está habilitada en el archivo /etc/default/grub.La orden de grub-mkconfig se ha hecho para poner la información relativa en un segundo plano en el

archivo /boot/grub/grub.cfg.

Temas

A continuación se muestra un ejemplo para la configuración propuesta con el tema Starfield, incluido en el paquetesuministrado con Arch.

Modifique /etc/default/grub:

GRUB_THEME="/boot/grub/themes/starfield/theme.txt"

Regenere grub.cfg para aplicar los cambios. Si el tema se ha configurado correctamente, aparecerá en el

terminal el mensaje Found theme: /boot/grub/themes/starfield/theme.txt.

La imagen de fondo, por lo general, no se visualiza cuando se utiliza un tema.

Colores del menú

Como sucedía con GRUB Legacy, se pueden cambiar los colores del menú de GRUB. La lista de coloresdisponibles se pueden encontrar aquí (http://www.gnu.org/software/grub/manual/html_node/Theme-file-format.html#Theme-file-format). A continuación, un ejemplo:

Page 17: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 17/38

Modifique /etc/default/grub de la siguiente manera:

GRUB_COLOR_NORMAL="light-blue/black"

GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

Menú oculto

Una de las características de GRUB es la capacidad de ocultar el menú y hacer que sea visible pulsando la teclaEsc, si es necesario. También puede decidir si se debe mostrar la cuenta atrás.

Modifique el archivo /etc/default/grub como sigue. En el siguiente ejemplo, la cuenta atrás se establece en 5

segundos y se hace visible para el usuario:

GRUB_HIDDEN_TIMEOUT=5

GRUB_HIDDEN_TIMEOUT_QUIET=false

Desactivar el framebuffer

Si utiliza el controlador propietario de NVIDIA, puede que tenga que desactivar el framebuffer de GRUB, ya quepodría interferir con el controlador.

Para desactivarlo, edite /etc/default/grub y descomente la siguiente línea:

GRUB_TERMINAL_OUTPUT=console

Otra opción, si desea conservar el framebuffer para GRUB, es revertir al modo de texto justo antes de iniciarse elkernel. Para conseguir esto, modifique la variable en /etc/default/grub:

GRUB_GFXPAYLOAD_LINUX=text

Nomenclatura permanente de dispositivos de bloque

Un esquema de nomenclatura de nombres persistentes para dispositivos de bloque es usar UUID, que son únicos yglobales, para detectar particiones, en lugar de la «vieja» nomenclatura /dev/sd*. Las ventajas de este método

están tratadas en el artículo anteriormente enlazado.

La nomenclatura persistente a través de las UUID del sistema de archivos se utiliza por defecto en GRUB.

Nota: El archivo /boot/grub.cfg necesita regenerarse con las UUID nuevas en /etc/default/grubcada vez que se redimensiona o se formatea una partición. Recuerde esto al modificar las particiones y sistemasde archivos con un CD-Live.

Cuando se usan las UUID son controladas por una opción en /etc/default/grub:

Page 18: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 18/38

# GRUB_DISABLE_LINUX_UUID=true

Recordar el último sistema arrancado

GRUB puede recordar el último sistema arrancado y utilizarlo por defecto la próxima vez que ejecute el arranque.Esta característica es útil si tiene varios kernels (por ejemplo, el kernel actual de Arch y el LTS como fallback) omás sistemas operativos. Modifique /etc/default/grub y cambie el valor de GRUB_DEFAULT:

GRUB_DEFAULT=saved

Esto permitirá que GRUB arranque el sistema operativo guardado. Para activar la recuperación de la entradaseleccionada, añada la siguiente línea a /etc/default/grub:

GRUB_SAVEDEFAULT=true

Nota: La entradas del menú añadidas manualmente a /etc/grub.d/40_custom o

/boot/grub/custom.cfg (para Windows, por ejemplo) necesitan ir acompañadas de la opción savedefault.

Cambiar la entrada por defecto del menú

Para cambiar la entrada seleccionada por defecto, edite /etc/default/grub y cambie el valor de

GRUB_DEFAULT:

Utilizar números consecutivos :

GRUB_DEFAULT=0

Grub identifica las entradas generadas en el menú contando desde cero. Eso significa que 0 se refiere a la primeraentrada, la cual es el valor predeterminado, 1 para la segunda y así sucesivamente.

O utilizar los nombres en el menú :

GRUB_DEFAULT='Arch Linux, with Linux core repo kernel'

Partición root cifrada

Para asegurarse de que GRUB pasa automáticamente los parámetros al kernel necesarios para cifrar la particiónroot, agregue cryptdevice=/dev/device:etichetta a GRUB_CMDLINE_LINUX en /etc/default/grub.

Sugerencia: Si se ha efectuado la actualización desde una configuración GRUB Legacy funcional, compruebe /boot/grub/menu.lst.pacsave para la correcta identificación del dispositivo/etiqueta a añadir. Puede

Page 19: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 19/38

buscarlas después de la línea kernel /vmlinuz-linux.

Un ejemplo con root mapeado en /dev/mapper/root:

GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda2:root"

También, desactive el uso de la UUID para el sistema de archivos root:

GRUB_DISABLE_LINUX_UUID=true

Efectuar el arranque de una entrada no predeterminada por una sola vez

La orden grub-reboot es muy útil para arrancar otra entrada distinta de la predeterminada solo por una vez.

GRUB carga la entrada especificada como primer argumento de la orden, de modo que la próxima vez, cuando elsistema reinicie, arrancará el sistema operativo indicado. Lo más importante es que GRUB vuelve a cargar laentrada por defecto para todos los sucesivos arranques. Por tanto, no es necesario cambiar el archivo deconfiguración o seleccionar una entrada en el menú de GRUB.

Nota: Esta operación requiere la opción GRUB_DEFAULT=saved en /etc/default/grub (y despuésregenerar el archivo grub.cfg) o, en el caso de un archivo grub.cfg configurado manualmente, la línea set default="${saved_entry}".

Configuración avanzada

Este apartado cubre la edición manual de grub.cfg, escribiendo guiones personalizados en /etc/grub.d/ y

otros ajustes avanzados.

Creación manual de grub.cfg

Advertencia: La edición manual de este archivo está totalmente desaconsejado. El archivo grub.cfg esgenerado por la orden grub-mkconfig, lo cual es preferible a editar el archivo /etc/default /grub o uno

de los scripts contenidos en el directorio /etc/grub.d.

Un archivo grub.cfg básico contendrá las siguientes opciones:

(hdX,Y) indica la partición Y en el disco X. La numeración de partición comienza en 1, mientras que la del

disco comienza en 0

set default=N le permite elegir qué entrada se inicia por defecto

set timeout=M indica el límite de tiempo en segundos antes que la elección predefinida se iniciemenuentry "title" {opciones} es una entrada de arranque de nombre title

set root=(hdX,Y) establece la partición de arranque, es decir, la que contiene el kernel y los módulosde GRUB (no es necesario una partición /boot separada, puede estar contenida como un deirecoriodentro de la partición root /).

Page 20: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 20/38

Un ejemplo de configuración:

/boot/grub/grub.cfg

# Config file for GRUB - The GNU GRand Unified Bootloader

# /boot/grub/grub.cfg

# DEVICE NAME CONVERSIONS

#

# Linux Grub

# -------------------------

# /dev/fd0 (fd0)

# /dev/sda (hd0)

# /dev/sdb2 (hd1,2)

# /dev/sda3 (hd0,3)

#

# Timeout for menu

set timeout=5

# Set default boot entry as Entry 0

set default=0

# (0) Arch Linux

menuentry "Arch Linux" {

set root=(hd0,1)

linux /vmlinuz-linux root=/dev/sda3 ro

initrd /initramfs-linux.img

}

## (1) Windows

#menuentry "Windows" {

# set root=(hd0,3)

# chainloader +1

#}

Arranque dual

Nota: Si desea que GRUB busque sistemas operativos instalados, debe instalar el paquete os-prober(https://www.archlinux.org/packages/?name=os-prober).

Generación automática utilizando /etc/grub.d/40_custom y grub-mkconfig

La mejor manera de agregar otras entradas está editando el archivo /etc/grub.d/40_custom o

/boot/grub/custom.cfg. El contenido de estos archivos se agregan automáticamente al ejecuta r

grub-mkconfig. Después de añadir las nuevas líneas, ejecute:

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

o, para modalidad UEFI-GPT:

# grub-mkconfig -o /boot/efi/EFI/GRUB/grub.cfg

Page 21: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 21/38

para actualizar grub.cfg.

Por ejemplo, un típico archivo /etc/grub.d/40_custom, podría ser similar a uno como el siguiente, creado

para HP Pavilion 15-e056sl Notebook PC (http://h10025.www1.hp.com/ewfrf/wc/product?cc=us&destPage=product&lc=en&product=5402703&tmp_docname=), originalmente con Microsoft Windows 8preinstalado. Cada menuentry debe mantener una estructura similar a una de las de abajo. Tenga en cuenta que

la partición UEFI /dev/sda2 dentro de GRUB se llama hd0,gpt2 y ahci0,gpt2 (véase here para obtener

más información).

/etc/grub.d/40_custom:

#!/bin/sh

exec tail -n +3 $0

# Este archivo proporciona una manera fácil de agregar entradas personalizados al menú. Simplemente escriba las

# entradas del menú que desee agregar después de este comentario. Tenga cuidado de no cambiar

# la línea 'exec tail' de arriba.

menuentry "HP / Microsoft Windows 8.1" {

echo "Loading HP / Microsoft Windows 8.1..."

insmod part_gpt

insmod fat

insmod search_fs_uuid

insmod chain

search --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 763A-9CB6

chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi

}

menuentry "HP / Microsoft Control Center" {

echo "Loading HP / Microsoft Control Center..."

insmod part_gpt

insmod fat

insmod search_fs_uuid

insmod chain

search --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 763A-9CB6

chainloader (${root})/EFI/HP/boot/bootmgfw.efi

}

menuentry "System shutdown" {

echo "System shutting down..."

halt

}

menuentry "System restart" {

echo "System rebooting..."

reboot

}

Entrada de menú para GNU/Linux

Suponiendo que la otra distribución está en la partición sda2:

menuentry "Other Linux" {

set root=(hd0,2)

linux /boot/vmlinuz (añadir otras opciones aquí necesarias)

initrd /boot/initrd.img (si el otro kernel utiliza/necesita una)

Page 22: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 22/38

}

Entrada de menú para FreeBSD

Requiere que FreeBSD está instalado en una partición con UFS. Suponiendo que está instalado en sda4:

menuentry "FreeBSD" {

set root=(hd0,4)

chainloader +1

}

Entrada de menú para Windows XP

Asumimos que la partición de Windows es sda3. Recuerde que necesita señalar «set root» y «chainloader» con

relación a la partición del sistema de reserva que windows hizo cuando se instaló, no la partición donde Windowsestá instalado. Este ejemplo funciona si la partición de reserva del sistema es sda3.

# (2) Windows XP

menuentry "Windows XP" {

set root="(hd0,3)"

chainloader +1

}

Si el gestor de arranque de Windows está activo en un disco duro completamente diferente a GRUB, puede sernecesario engañar a Windows haciéndole creer que se trata de la primera unidad del disco duro. Esto es posiblecon drivemap. Suponiendo que GRUB está activo en hd0 y Windows en hd2, es necesario añadir lo siguiente

después de set root:

drivemap -s hd0 hd2

Entrada de menú para Windows instalado en modo UEFI-GPT

if [ "${grub_platform}" == "efi" ]; then

menuentry "Microsoft Windows Vista/7/8 x86_64 UEFI-GPT" {

insmod part_gpt

insmod fat

insmod search_fs_uuid

insmod chain

search --fs-uuid --set=root $hints_string $uuid

chainloader /EFI/Microsoft/Boot/bootmgfw.efi

}

fi

donde $hints_string y $uuid se obtienen de las siguientes dos órdenes. Orden para obtener $uuid:

# grub-probe --target=fs_uuid $esp/EFI/Microsoft/Boot/bootmgfw.efi

1ce5-7f28

Page 23: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 23/38

Orden para obtener $hints_string:

# grub-probe --target=hints_string $esp/EFI/Microsoft/Boot/bootmgfw.efi

--hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1

These two commands assume the ESP Windows uses is mounted at $esp. There might be case differences in the

path to Windows's EFI file, what with being Windows, and all.

Entrada de menú para «Apagar»

menuentry "System shutdown" {

echo "System shutting down..."

halt

}

Entrada de menú para «Reiniciar»

menuentry "System restart" {

echo "System rebooting..."

reboot

}

Entrada de menú para Windows instalado en modo BIOS-MBR

Nota: GRUB soporta el arranque de bootmgr y ya no es necesario cargar el sector de arranque de la particiónpara iniciar Windows en una configuración de BIOS-MBR.

Advertencia: La system partition, donde está bootmgr, no es la partición «real» de Windows (normalmenteC:). Al mostrar todos los UUID con blkid, la partición del sistema es la señalada como LABEL="SYSTEM RESERVED" o LABEL="SYSTEM" y cuenta con 100 a 200 MB de tamaño (como lapartición boot de Arch). Véase Wikipedia:System partition and boot partition para obtener más información.

A lo largo de esta sección, se asume que la partición de Windows es /dev/sda1. Una partición diferente,

cambiar todas las instancias de hd0,msdos1. En primer lugar, encontre el UUID del sistema de archivos NTFS dela SYSTEM PARTITION de Windows donde reside bootmgr y sus archivo. Por ejemplo, si bootmgr de

Windows está presente en /media/SYSTEM_RESERVED/bootmgr:

Para Windows Vista/7/8:

# grub-probe --target=fs_uuid /media/SYSTEM_RESERVED/bootmgr

69B235F6749E84CE

# grub-probe --target=hints_string /media/SYSTEM_RESERVED/bootmgr

--hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1

Page 24: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 24/38

Nota: Para Windows XP, sustituya bootmgr con NTLDR en la órdenes anteriores. Y tenga en cuenta quepuede no haber una partición SYSTEM_RESERVED separada; bastaría con analizar el archivo NTLDR en la

partición de Windows.

A continuación, agregue el siguiente código en /etc/grub.d/40_custom o /boot/grub/custom.cfg y

regenere grub.cfg con grub-mkconfig como se explicó anteriormente para iniciar Windows (XP, Vista, 7 o

8) instalado en modalidad BIOS-MBR:

Para Windows Vista/7/8:

if [ "${grub_platform}" == "pc" ]; then

menuentry "Microsoft Windows Vista/7/8 BIOS-MBR" {

insmod part_msdos

insmod ntfs

insmod search_fs_uuid

insmod ntldr

search --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 69B235F6749E84CE

ntldr /bootmgr

}

fi

Para Windows XP:

if [ "${grub_platform}" == "pc" ]; then

menuentry "Microsoft Windows XP" {

insmod part_msdos

insmod ntfs

insmod search_fs_uuid

insmod ntldr

search --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 69B235F6749E84CE

ntldr /bootmgr

}

fi

Nota: En algunos casos, al intalar GRUB antes de una instalación limpia de Windows 8, da como resultado queno arranque Windows, provocando un error con \boot\bcd (código de error 0xc000000f). Se puede

arreglar llamando a la consola de recuperación de Windows (cmd desde disco de instalación) y ejecutando:

x:\> "bootrec.exe /fixboot"

x:\> "bootrec.exe /RebuildBcd".

Do not use bootrec.exe /Fixmbr because it will wipe GRUB out.

/etc/grub.d/40_custom se puede utilizar como una plantilla para crear /etc/grub.d/nn_custom. Donde

nn define la prelación, que indica el orden en que los scritps se ejecutan. El orden de los scripts al ejecutarse

determina su lugar en el menú de arranque de grub.

Page 25: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 25/38

Nota: nn debe ser mayor que 06 para asegurarse de que los scripts necesarios se ejecutan primero.

Con Windows usando EasyBCD y NeoGRUB

Puede que NeoGRUB de EasyBCD no entienda el nuevo formato del menú de GRUB, por lo que será necesarioefectuar la carga de GRUB, reemplazando el contenido de su C:\NST\menu.lst con:

default 0

timeout 1

title Chainload into GRUB v2

root (hd0,7)

kernel /boot/grub/i386-pc/core.img

Por último, regenere el archivo grub.cfg utilizando grub-mkconfig.

Iniciar una imagen ISO directamente desde GRUB

Modifique los archivos /etc/grub.d/40_custom o /boot/grub/custom.cfg mediante la adición de una

entrada que permita arrancar la ISO que desea iniciar. Una vez hecho esto, actualice el menú de GRUB con laconocida orden grub-mkconfig -o /boot/grub/grub.cfg (hecho como root).

ISO de Arch Linux

Nota: El ejemplo parte del supuesto de que la ISO se encuentra en /archives en hd0,6.

Sugerencia: Para unidades de almacenamiento, utilizaremos algo como (hd1,$partition) o como /dev/sdbY para definir el parámetro img_dev o un nombre permanente para los dispositivos de bloques, porejemplo img_dev=/dev/disk/by-label/CORSAIR.

Ejemplo usando x86_64

menuentry "Archlinux-2013.05.01-dual.iso" --class iso {

set isofile="/archives/archlinux-2013.05.01-dual.iso"

set partition="6"

loopback loop (hd0,$partition)/$isofile

linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201305 img_dev=/dev/sda$partition img_loop=$isofile earlymodules=loop

initrd (loop)/arch/boot/x86_64/archiso.img

}

Ejemplo usando i686

menuentry "Archlinux-2013.05.01-dual.iso" --class iso {

set isofile="/archives/archlinux-2013.05.01-dual.iso"

set partition="6"

Page 26: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 26/38

loopback loop (hd0,$partition)/$isofile linux (loop)/arch/boot/i686/vmlinuz archisolabel=ARCH_201305 img_dev=/dev/sda$partition img_loop=$isofile earlymodules=loop

initrd (loop)/arch/boot/i686/archiso.img

}

ISO de Ubuntu

Nota: El ejemplo presume que la iso se encuentra en la carpeta /archives de hd0,6. Será necesariomodificar la ubicación y el disco duro/partición de las líneas siguientes para adaptarlos a su caso particular.

menuentry "ubuntu-13.04-desktop-amd64.iso" {

set isofile="/archives/ubuntu-13.04-desktop-amd64.iso"

loopback loop (hd0,6)/$isofile

linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile quiet noeject noprompt splash --

initrd (loop)/casper/initrd.lz

}

menuentry "ubuntu-12.04-desktop-amd64.iso" {

set isofile="/archives/ubuntu-12.04-desktop-amd64.iso"

loopback loop (hd0,6)/$isofile

linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet noeject noprompt splash --

initrd (loop)/casper/initrd.lz

}

Otras ISO

Otras configuraciones funcionales están disponibles en link Source (http://askubuntu.com/questions/141940/how-to-boot-live-iso-images).

LVM

Si utiliza LVM para su /boot, añada la siguiente línea antes de las diversas entradas:

insmod lvm

y especifique su root en menuentry de este modo:

set root=lvm/nombre_grupo_lvm-nombre_partición_lógica _de_arranque_de_lvm

Ejemplo:

# (0) Arch Linux

menuentry "Arch Linux" {

Page 27: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 27/38

insmod lvmset root=lvm/VolumeGroup-lv_boot

# you can only set following two lines

linux /vmlinuz-linux root=/dev/mapper/VolumeGroup-root ro

initrd /initramfs-linux.img

}

RAID

GRUB permite tratar los volúmenes en una configuración RAID de una manera sencilla. Añadimos insmod raid

a grub.cfg que hará referencia al volumen de forma nativa. Por ejemplo, /dev/md0 se convierte en:

set root=(md0)

mientras que un volumen RAID particionado (por ejemplo, /dev/md0p1) se convierte en:

set root=(md0,1)

To install grub when using RAID1 as the /boot partition (or using /boot housed on a RAID1 root partition), on

devices with GPT ef02/'BIOS boot partition', simply run grub-install on both of the drives, such as:

# grub-install --target=i386-pc --recheck --debug /dev/sda

# grub-install --target=i386-pc --recheck --debug /dev/sdb

Where the RAID1 array housing /boot is housed on /dev/sda and /dev/sdb.

Utilizar etiquetas

Puede utilizar las etiquetas (cadenas que identifican particiones de una manera legible por el usuario), usando laopción --label con la orden search. En primer lugar, coloque una etiqueta a las particiones:

# tune2fs -L ETIQUETA PARTICIÓN

A continuación, agregue una entrada usando la etiqueta:

menuentry "Arch Linux, session texte" {

search --label --set=root archroot

linux /boot/vmlinuz-linux root=/dev/disk/by-label/archroot ro

initrd /boot/initramfs-linux.img

}

Proteger con contraseña el menú de GRUB

Page 28: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 28/38

Si desea hacer GRUB más seguro, de modo que nadie pueda cambiar los parámetros de arranque o utilizar la líneade órdenes, puede agregar un nombre de usuario y contraseña para los archivos de configuración de GRUB. Paraello, ejecute grub-mkpasswd_pbkdf2. Es necesario introducir una contraseña y confirmarla:

grub-mkpasswd-pbkdf2

[...]

Your PBKDF2 is grub.pbkdf2.sha512.10000.C8ABD3E93C4DFC83138B0C7A3D719BC650E6234310DA069E6FDB0DD4156313DA3D0D9BFFC2846C21D5A2DDA515114CF6378F8A064C94198D0618E70D23717E82.509BFA8A4217EAD0B33C87432524C0B6B64B34FBAD22D3E6E6874D9B101996C5F98AB1746FE7C7199147ECF4ABD8661C222EEEDB7D14A843261FFF2C07B1269A

Después, añada las siguientes cadenas a /etc/grub.d/0_header:

/etc/grub.d/00_header

cat << EOF

set superusers="nombreusuario"

password_pbkdf2 nombreusuario <contraseña>

EOF

Donde <contraseña> corresponde a la cadena generada por grub-mkpasswd_pbkdf2.

Hay que regenerar el archivo de configuración. La línea de órdenes y los parámetros de arranque de grub ahoraestarán protegidos.

Los ajustes anteriores se pueden hacer menos restrictivos y personalizar mediante la adición de más usuarios, comose explica en el capítulo sobre «Seguridad» del manual de GRUB(https://www.gnu.org/software/grub/manual/grub.html#Security).

Ocultar GRUB y hacerlo aparecer mediante la tecla Mayús

Para reducir al mínimo el tiempo de arranque es posible ocultar el menú de GRUB durante el tiempo de espera, loque permite a GRUB ocultar el menú, haciéndolo aparecer unicamente cuando se presione la tecla Mayús durante

la fase de inicio de GRUB.

Para obtener este comportamiento, añada lo que sigue al archivo /etc/default/grub:

GRUB_FORCE_HIDDEN_MENU="true"

Y, a continuación, se debe crear el siguiente archivo:

/etc/grub.d/31_hold_shift

#! /bin/sh

set -e

# grub-mkconfig helper script.

Page 29: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 29/38

# Copyright (C) 2006,2007,2008,2009 Free Software Foundation, Inc.#

# GRUB is free software: you can redistribute it and/or modify

# it under the terms of the GNU General Public License as published by

# the Free Software Foundation, either version 3 of the License, or

# (at your option) any later version.

#

# GRUB is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

# GNU General Public License for more details.

#

# You should have received a copy of the GNU General Public License

# along with GRUB. If not, see <http://www.gnu.org/licenses/>.

prefix="/usr"

exec_prefix="${prefix}"

datarootdir="${prefix}/share"

export TEXTDOMAIN=grub

export TEXTDOMAINDIR="${datarootdir}/locale"

. "${datarootdir}/grub/grub-mkconfig_lib"

found_other_os=

make_timeout () {

if [ "x${GRUB_FORCE_HIDDEN_MENU}" = "xtrue" ] ; then

if [ "x${1}" != "x" ] ; then

if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then

verbose=

else

verbose=" --verbose"

fi

if [ "x${1}" = "x0" ] ; then

cat <<EOF

if [ "x\${timeout}" != "x-1" ]; then

if keystatus; then

if keystatus --shift; then

set timeout=-1

else

set timeout=0

fi

else

if sleep$verbose --interruptible 3 ; then

set timeout=0

fi

fi

fi

EOF

else

cat << EOF

if [ "x\${timeout}" != "x-1" ]; then

if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then

set timeout=0

fi

fi

EOF

fi

fi

fi

}

Page 30: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 30/38

adjust_timeout () {

if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then

cat <<EOF

if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then

EOF

make_timeout "${GRUB_HIDDEN_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_BUTTON}"

echo else

make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"

echo fi

else

make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"

fi

}

adjust_timeout

cat <<EOF

if [ "x\${timeout}" != "x-1" ]; then

if keystatus; then

if keystatus --shift; then

set timeout=-1

else

set timeout=0

fi

else

if sleep$verbose --interruptible 3 ; then

set timeout=0

fi

fi

fi

EOF

Combinar la utilización de UUID con scripts

Si desea utilizar la asignación de UUID para superar los mapeados poco fiables de los dispositivos realizadas porla BIOS, o si está teniendo dificultades con la sintaxis de GRUB, aquí hay un ejemplo que utiliza las UUID y unpequeño script para GRUB, para que apunte a las particiones correspondientes. Todo lo que uno debe hacer, essustituir el ejemplo con las UUID correctas para su sistema (el ejemplo se aplica a sistemas con una partición dearranque separada y debe modificarse en consecuencia en caso de particiones adicionales).

menuentry "Arch Linux 64" {

# Set the UUIDs for your boot and root partition respectively

set the_boot_uuid=ece0448f-bb08-486d-9864-ac3271bd8d07

set the_root_uuid=c55da16f-e2af-4603-9e0b-03f5f565ec4a

# (Note: This may be the same as your boot partition)

# Get the boot/root devices and set them in the root and grub_boot variables

search --fs-uuid $the_root_uuid --set=root

search --fs-uuid $the_boot_uuid --set=grub_boot

# Check to see if boot and root are equal.

# If they are, then append /boot to $grub_boot (Since $grub_boot is actually the root partition)

if [ $the_boot_uuid == $the_root_uuid ] ; then

set grub_boot=($grub_boot)/boot

else

set grub_boot=($grub_boot)

fi

Page 31: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 31/38

# $grub_boot now points to the correct location, so the following will properly find the kernel and initrd

linux $grub_boot/vmlinuz-linux root=/dev/disk/by-uuid/$the_root_uuid ro

initrd $grub_boot/initramfs-linux.img

}

Utilizar la shell de órdenes

Dado que el MBR es demasiado pequeño para contener todas los módulos de GRUB, solo el menú y los comanosbásicos residen allí. La mayor parte de la funcionalidad de GRUB está contenida en los módulos ubicados en /boot/grub, que se cargan cuando son necesarios. En caso de errores (por ejemplo, si la tabla de particiones se

altera), GRUB puede fallar al arrancar, e lanzar una shell en lugar del clásico menú.

GRUB ofrece diferentes tipos de shell. Si tiene problemas para leer el menú, pero el gestor de arranque es todavíacapaz de encontrar el disco donde GRUB reside, es probable que lance una shell «normal»:

sh:grub>

En caso de problemas más serios (GRUB no puede encontrar los archivos necesarios), puede aparecer la shell deemergencia:

grub rescue>

La shell de emergencia es una versión reducida de la normal, y ofrece, por lo tanto, un número reducido defuncionalidades. Trate de cargar el módulo normal, e iniciar la shell clásica:

grub rescue> set prefix=(hdX,Y)/boot/grub

grub rescue> insmod (hdX,Y)/boot/grub/i386-pc/normal.mod

rescue:grub> normal

Soporte para Pager

GRUB apoya pager (paginador o localizador) que permite la lectura de las órdenes que proveen «salidas»extensas (como la orden help). Tenga en cuenta que esta característica solo está disponible en la consola normal,

y no en una de emergencia. Para activar pager, escriba en una shell de órdenes de GRUB:

sh:grub> set pager=1

Usar el entorno de la shell de órdenes para arrancar distintos sistemas operativos

grub>

El entorno de la shell de órdenes de GRUB puede utilizarse para arrancar sistemas operativos. Un escenariocomún puede iniciar Windows / Linux localizado en una unidad/partición a través de chainloading.

Page 32: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 32/38

Chainloading significa cargar otro sistema de arranque desde el vigente, es decir, cargar en cadena.

El otro cargador de arranque puede estar incrustado en el principio del disco (MBR) o en el principio de unapartición.

Cargar una partition

set root=(hdX,Y)

chainloader +1

boot

X=0,1,2... Y=1,2,3...

Por ejemplo, para cargar Windows localizado en la primera particion del primer disco duro,

set root=(hd0,1)

chainloader +1

boot

Del mismo modo, puede ser cargado GRUB instalado en una partición.

Cargar un disco/unidad

set root=hdX

chainloader +1

boot

Carga normal

Véanse los ejemplos mostrados en el apartado de #Utilizar la consola de emergencia

Herramientas GUI de configuración

Es posible obtener estas herramientas gráficas instalando los siguientes paquetes:

grub-customizer — Para personalizar el gestor de arranque (GRUB o BURG)

https://launchpad.net/grub-customizer || grub-customizer(https://aur.archlinux.org/packages/grub-customizer/)

grub2-editor — Módulo de control de KDE4 para configurar el gestor de arrranque GRUB

http://kde-apps.org/content/show.php?content=139643 || grub2-editor(https://aur.archlinux.org/packages/grub2-editor/)

kcm-grub2 — Este módulo Kcm permite gestionar los ajustes más comunes de GRUB

Page 33: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 33/38

http://kde-apps.org/content/show.php?content=137886 || kcm-grub2(https://aur.archlinux.org/packages/kcm-grub2/)

startupmanager — Aplicación gráfica para cambiar la configuración de GRUB Legacy, GRUB, Usplash ySplashy

http://sourceforge.net/projects/startup-manager/ || startupmanager(https://aur.archlinux.org/packages/startupmanager/)

parttool para mostrar/ocultar particiones

Si tiene instalado Windows 9x con el disco C:\ oculto, GRUB dispone de las opciones hide/unhide usando

parttool. Por ejemplo, para efectuar el arranque del tercer disco C:\ de tres sistema Windows 9x instalados,

se inicia la consola y se escribe:

parttool hd0,1 hidden+ boot-

parttool hd0,2 hidden+ boot-

parttool hd0,3 hidden- boot+

set root=hd0,3

chainloader +1

boot

Utilizar la consola de emergencia

Véase primero cómo utilizar la shell más arriba. Si no es capaz de iniciar la shell estándar, una posible solución esarrancar un LiveCD o alguna otra distribución a modo de recuperación para corregir los errores de configuración yreinstalar GRUB. Sin embargo, un disco de recuperación no siempre es posible (ni necesario), y la consola deemergencia es sorprendentemente robusta.

Las órdenes disponibles en esta modalidad incluyen insmod, ls, set y unset. Este ejemplo utiliza set y

insmod. set cambia el valor de las variables, mientras que insmod añade nuevos módulos para ampliar la

funcionalidad básica.

Antes de comenzar, es necesario que conozca la ubicación de /boot (ya esté en una partición separada o en un

directorio dentro de la partición de root):

grub rescue> set prefix=(hdX,Y)/boot/grub

Donde X es el número de la unidad y la Y de la partición. Para ampliar las capacidades de la consola, inserte elmódulo linux.

grub rescue> insmod (hdX,Y)/boot/grub/linux.mod

Nota: Si está usando una partición de arranque separada, se omite /boot en la ruta. (Ejemplo:

set prefix=(hdX,Y)/grub y insmod (hdX,Y)/grub/linux.mod).

Page 34: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 34/38

Esto proporciona órdenes de linux y initrd, con las que debe estar familiarizado (véase #Configuración

avanzada).

Un ejemplo de inicio de Arch Linux:

set root=(hd0,5)

linux /boot/vmlinuz-linux root=/dev/sda5

initrd /boot/initramfs-linux.img

boot

De nuevo, en el caso de partición de arranque separada, cambie las órdenes en consecuencia:

set root=(hd0,5)

linux /vmlinuz-linux root=/dev/sda6

initrd /initramfs-linux.img

boot

Tras el lanzamiento de una instalación correcta de Arch Linux, puede arreglar grub.cfg y proceder a la

reinstalación de GRUB.

Para reinstalar GRUB en el MBR, cambie /dev/sda de acuerdo a sus propias necesidades. Consulte el

apartado sobre instalación para más detalles.

Solución de problemas

Algunas Bios de Intel no efectúan el arranque de la partición GPT

Algunas BIOS de Intel requieren, al menos, una partición MBR marcada como booteable en el arranque, cosa nohabitual en las configuraciones basadas en GPT, que provocan que la partición GPT no se inicie.

Es posible solucionar el problema mediante el uso de (por ejemplo) fdisk para marcar como bootable en el MBRuna de las particiones GPT (preferiblemente la partición de 1007KiB que ya se ha creado para GRUB). Esto sepuede lograr, utilizando fdisk, mediante las siguientes órdenes: Inicie fdisk sobre el disco donde va a realizar lainstalación, por ejemplo fdisk /dev/sda, presione a y seleccione la partición que desea marcar como

booteable (seguramente #1) pulsando el número correspondiente, para terminar pulse w para escribir los cambios

en el MBR.

Nota: Debemos tener en cuanta que para marcar como booteable una partición hay que hacerlo con la utilidad fdisk o similar, no se puede hacer con GParted o equivalentes, ya que estos últimos no establecen el indicador

de booteable en el MBR.

Para más información consulte esto (http://www.rodsbooks.com/gdisk/bios.html)

Activar mensajes de depuración de errores en GRUB

Añada:

Page 35: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 35/38

set pager=1

set debug=all

en grub.cfg.

Corregir el error de GRUB: «no suitable mode found»

Si recibe este error en la elección de una opción de arranque:

error: no suitable mode found

Booting however

A continuación, se debe iniciar el terminal gráfico GRUB (gfxterm), utilizando un modo de vídeo adecuado (

gfxmode). Este se transmite de GRUB al kernel de Linux usando la opción gfxpayload. En sistemas UEFI, si

la modalidad de video de GRUB no está inicializada, se mostrarán los mensajes de arranque del kernel (al menoshasta la activación de KMS).

Ahora, copie /usr/share/grub/unicode.pf2 en ${GRUB2_PREFIX_DIR} ( /boot/grub de los sistema

BIOS y UEFI). Si GRUB UEFI se instala con la opción --boot-directory activada, entonces la ruta es

/boot/efi/EFI/grub).

# cp /usr/share/grub/unicode.pf2 ${GRUB2_PREFIX_DIR}

Si el archivo /usr/share/grub/unicode.pf2 no existe, instale el paquete bdf-unifont

(https://www.archlinux.org/packages/?name=bdf-unifont) y proceda a la creación y copia del mismo

en ${GRUB2_PREFIX_DIR}.

# grub-mkfont -o unicode.pf2 /usr/share/fonts/misc/unifont.bdf

En el archivo grub.cfg, agregue las líneas siguientes para permitir a GRUB que pase correctamente la

modalidad de vídeo al kernel, de lo contrario obtendrá una pantalla en negro, aunque el arranque se haga connormalidad, sin que el sistema se bloquee:

Sistemas BIOS:

insmod vbe

Sistemas UEFI:

insmod efi_gop

insmod efi_uga

A continuación, agregue el siguiente código (común a los sistemas BIOS y UEFI)

Page 36: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 36/38

insmod font

if loadfont ${prefix}/fonts/unicode.pf2

then

insmod gfxterm

set gfxmode=auto

set gfxpayload=keep

terminal_output gfxterm

fi

Como puede ver, para que gfxterm funcione correctamente, la fuente unicode.pf2 debe existir en

${GRUB2_PREFIX_DIR}.

Mensaje de error msdos-style

grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding won't be possible!

grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists.

However, blocklists are UNRELIABLE and its use is discouraged.

grub-setup: error: If you really want blocklists, use --force.

Este problema se produce cuando se intenta instalar GRUB en VMWare. Más información aquí(https://bbs.archlinux.org/viewtopic.php?pid=581760#). Se espera una solución pronto.

También puede ocurrir cuando la partición comienza justo después del MBR (bloque 63), sin dejar un espacio dealrededor de 1 MB (2048 bloques) antes de la primera partición. Véase #Instrucciones específicas para MasterBoot Record (MBR)

GRUB UEFI vuelve a la shell

Si GRUB se carga, pero vuelve a regresar a la shell, sin arrojar error, el archiv grub.cfg puede estar en una

localización incorrecta o no existir en absoluto. Este problema puede producirse si GRUB UEFI se ha instaladocon la opción --boot-directory activada, y el archivo no existe, o si el número identificativo de la partición de

arranque ha cambiado (este valor es, de hecho, «codificado» en el archivo grubx64.efi).

GRUB UEFI no se carga

He aquí un ejemplo de EFI funcional:

# efibootmgr -v

BootCurrent: 0000

Timeout: 3 seconds

BootOrder: 0000,0001,0002

Boot0000* Grub HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\efi\grub\grub.efi)

Boot0001* Shell HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\EfiShell.efi)

Boot0002* Festplatte BIOS(2,0,00)P0: SAMSUNG HD204UI

Page 37: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 37/38

Si la pantalla deviene en negro durante unos segundos y GRUB pasa a la siguiente opción del arranque, como sedescribe en este post (https://bbs.archlinux.org/viewtopic.php?pid=981560#p981560), mover GRUB a la particiónraíz podría ayudar. La opción de arranque debería ser eliminada y regenerada después de la operación. El camporelativo a grub debería ahora ser similar a esto:

Boot0000* Grub HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\grub.efi)

Invalid signature

Si recibe el error «invalid signature» al intentar iniciar Windows, por ejemplo, si se ha alterado la tabla departiciones después de agregar otras particiones o discos duros, trate de eliminar la configuración de GRUB sobrelos dispositivos y deje que la regenere él mismo:

# mv /boot/grub/device.map /boot/grub/device.map-old

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

grub-mkconfig debería ahora mostrar todas las opciones de arranque, incluyendo Windows. Si el problema

está resuelto, elimine /boot/grub/device.map-old.

Bloqueos al arrancar

Si el arranque se bloquea sin ningún mensaje de error, después de que GRUB cargue el kernel y el ramdisk inicial,pruebe eliminando add_efi_memmap de los parámetros del kernel.

Restaurar GRUB Legacy

Mueva los archivos de GRUB Legacy o GRUB:

# mv /boot/grub /boot/grub.nonfunctional

Restaure la copia de seguridad de GRUB Legacy en /boot:

# cp -af /boot/grub-legacy /boot/grub

Sustituya el MBR y los siguientes 62 sectores del disco sda con la anterior copia de seguridad:

Advertencia: La orden anterior restaura la tabla de particiones, así que proceda con cautela o sobrescribirá latabla de particiones modificada. Se estropeará su sistema.

# dd if=/path/to/backup/first-sectors of=/dev/sdX bs=512 count=1

Una solución más segura es restaurar solo el códio de arranque del MBR con la orden:

Page 38: GRUB (Español) - ArchWiki

24/5/2014 GRUB (Español) - ArchWiki

https://wiki.archlinux.org/index.php/GRUB_(Espa%C3%B1ol)#Entrada_de_men.C3.BA_para_Windows_XP 38/38

# dd if=/path/to/backup/mbr-boot-code of=/dev/sdX bs=446 count=1

Arch no es detectado por otros Sistemas Operativos

Algunos usuarios han informado que otras distribuciones tienen problemas para encontrar Arch Linuxautomáticamente con os-prober. Si surge este problema, es posible mejorar la detección con la creación del

archivo /etc/lsb-release. Este archivo y las herramientas de actualización están disponibles con el paquete

{pkg|lsb-release}} de los repositorios oficiales.

Memoria insuficiente/error de sistaxis al ejecutar grub-mkconfig

Nota: Esta es la solución para FS#37904 (https://bugs.archlinux.org/task/37904).

Añada GRUB_DISABLE_SUBMENU=y en /etc/default/grub y reconstruya grub.cfg.

Véase también

1. Manual Oficial de GRUB - http://www.gnu.org/software/grub/manual/grub.html

2. Página wiki de Ubuntu sobre GRUB - https://help.ubuntu.com/community/Grub3. Página wiki de GRUB donde explica cómo compilarlo para sistemas UEFI -

http://help.ubuntu.com/community/UEFIBooting4. Página de Wikipedia sobre la partición de inicio del BIOS.5. http://members.iinet.net/~herman546/p20/GRUB2%20Configuration%20File%20Commands.html -

descripción bastante completa de cómo configurar GRUB.

Retrieved from "https://wiki.archlinux.org/index.php?title=GRUB_(Español)&oldid=314096"Category: Boot loaders (Español)

This page was last modified on 9 May 2014, at 17:21.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.