Difference between revisions of "GRUB (Español)"

From ArchWiki
Jump to: navigation, search
(Crear un archivo de configuración)
(simplification and beautification of wikilinks, fixing whitespace, capitalization and section fragments (https://github.com/lahwaacz/wiki-scripts/blob/master/link-checker.py (interactive)))
 
(67 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[Category:Boot loaders (Español)]]
 
[[Category:Boot loaders (Español)]]
 
[[ar:GRUB]]
 
[[ar:GRUB]]
[[cs:GRUB2]]
+
[[cs:GRUB]]
 
[[de:GRUB]]
 
[[de:GRUB]]
 +
[[el:GRUB]]
 
[[en:GRUB]]
 
[[en:GRUB]]
[[fr:GRUB2]]
+
[[fr:GRUB]]
[[id:GRUB2]]
+
[[he:GRUB]]
[[it:GRUB2]]
+
[[id:GRUB]]
[[ru:GRUB2]]
+
[[it:GRUB]]
 +
[[ja:GRUB]]
 +
[[nl:GRUB]]
 +
[[pt:GRUB]]
 +
[[ru:GRUB]]
 
[[tr:GRUB2]]
 
[[tr:GRUB2]]
[[zh-CN:GRUB2]]
+
[[uk:GRUB]]
[[zh-TW:GRUB2]]
+
[[zh-cn:GRUB]]
{{Article summary start|Sumario}}
+
[[zh-tw:GRUB]]
{{Article summary text|Este artículo describe varios aspectos de la versión 2 de GRand Unified Bootloader (GRUB).}}
+
{{Related articles start (Español)}}
{{Article summary heading|Descripción}}
+
{{Related|Arch Boot Process (Español)}}
{{Article summary text|Para poder iniciar Arch Linux, es necesario tener instalado, en el [[Master_Boot_Record_(Español)|Master Boot Record (MBR)]] o en la [[GUID_Partition_Table_(Español)|GUID Partition Table (GPT)]], un gestor de arranque compatible con Linux como '''GRUB'''(2), [[Syslinux_(Español)|Syslinux]], [[LILO|LILO]] o [[GRUB_Legacy|GRUB Legacy]]. El gestor de arranque es responsable de cargar el kernel y el [[Mkinitcpio_(Español)|ramdisk inicial]] antes de iniciar el [[Arch_Boot_Process_(Español)|proceso de arranque]].}}
+
{{Related|Boot loaders (Español)}}
{{Article summary heading|Relacionado}}
+
{{Related|Master Boot Record (Español)}}
{{Article summary wiki|BURG}} - BURG es un gestor de arranque de nueva concepción basado en GRUB v2. Es un nuevo formato que permite ser compilado por numerosos sistemas operativos y dispone de un sistema de menú altamente configurable que funciona tanto en modalidad gráfica, como textual.
+
{{Related|GUID Partition Table (Español)}}
{{Article summary wiki|GRUB Legacy}} - La versión anterior, ahora obsoleta.
+
{{Related|Unified Extensible Firmware Interface (Español)}}
{{Article summary heading|Resursos}}
+
{{Related|GRUB Legacy}}
{{Article summary wiki|GRUB EFI Examples}}
+
{{Related|GRUB/EFI examples}}
{{Article summary link|GNU GRUB - GNU Project|http://www.gnu.org/software/grub/}}
+
{{Related|GRUB/Tips and tricks (Español)}}
{{Article summary end}}
+
{{Related articles end}}
 +
{{TranslationStatus (Español)|GRUB|2015-06-23|379250}}
  
 
[https://www.gnu.org/software/grub/ GRUB] —no confundir con [[GRUB Legacy]]— es la nueva generación de GRand Unified Bootloader (GRUB). GRUB deriva de [http://www.nongnu.org/pupa/ 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 [https://www.gnu.org/software/grub/grub-faq].
 
[https://www.gnu.org/software/grub/ GRUB] —no confundir con [[GRUB Legacy]]— es la nueva generación de GRand Unified Bootloader (GRUB). GRUB deriva de [http://www.nongnu.org/pupa/ 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 [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.
 
  
 
==Prefacio ==
 
==Prefacio ==
 +
 +
* 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 kérnel de Línux, que, a su vez, inicializa el resto del sistema operativo.
  
 
* El nombre de ''GRUB'' oficialmente se refiere a la versión 2 del software, consulte [https://www.gnu.org/software/grub/]. Si se está buscando el artículo sobre la versión legacy, consulte [[GRUB Legacy]].
 
* El nombre de ''GRUB'' oficialmente se refiere a la versión 2 del software, consulte [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|Btrfs]] para la partición root (sin necesidad de una partición {{ic|/boot}} separada con sistema de archivos distinto) compatible con los algoritmos de compresión zlib o LZO.
+
* GRUB soporta el uso del sistema de archivos [[Btrfs]] para la partición root (sin necesidad de una partición {{ic|/boot}} separada con sistema de archivos distinto) compatible con los algoritmos de compresión zlib o LZO.
  
===Nota para los usuarios de GRUB Legacy===
+
* GRUB no soporta particiones root formateadas con [[F2FS]], por lo que será necesario crear una partición {{ic|/boot}} separada usando un sistema de archivos compatible.
  
* La actualización de [[GRUB Legacy]] a GRUB es un proceso muy similar al de una instalación limpia de GRUB, argumento tratado [[GRUB_(Español)#Instalación|aquí]].
+
==Sistemas BIOS==
  
* Hay diferencias en las órdenes de GRUB Legacy y GRUB. Le recomendamos que se familiarice con los [https://www.gnu.org/software/grub/manual/grub.html#Commands órdenes de GRUB] antes de continuar. (Por ejemplo, «find» (encontrar) ha sido reemplazado por «search» (buscar)).
+
===Instrucciones específicas para GUID Partition Table (GPT)===
  
* GRUB es ahora ''modular'', y ya no requiere «stage 1.5». En consecuencia, el gestor de arranque tiene una capacidad limitada y los módulos son cargados desde el disco duro en caso de necesidad (por ejemplo, si necesita soporte de [[LVM]] o RAID).
+
En una configuración BIOS/[[GUID Partition Table (Español)|GPT]] es necesaria crear una [http://www.gnu.org/software/grub/manual/html_node/BIOS-installation.html BIOS boot partition]. GRUB incrusta su propio {{ic|core.img}} en esta partición.
 
+
* Las reglas de la nomenclatura de los dispositivos cambian de GRUB Legacy a GRUB: Los discos duros está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, {{ic|/dev/sda1}} hace referencia a {{ic|(hd0,msdos1)}} (para sistemas que usan MBR), o  a {{ic|(hd0,gpt1)}} (para los sistemas que usan GPT).
+
 
+
* Si se utiliza systemd sin el paquete systemd-sysvcompat, y se tiene insertada la línea {{ic|<nowiki>init=/usr/lib/systemd/systemd</nowiki>}} en su antiguo menu.lst de grub, el archivo grub.cfg generado automáticamentethe puede no contener este parámetro del kernel (causando el mensaje «ERROT: Root device mounted successfully, but /sbin/init does not exist» en el arranque). En este caso, edite la entrada de Arch Linux que muestra grub, añada {{ic|<nowiki>init=/usr/lib/systemd/systemd</nowiki>}} a los parámetros del kernel, y luego [[GRUB_(Español)#Argumentos_adicionales|hágalo permanente]].
+
 
+
* 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. Si no desea volver a redimensionar el sistema, cambie a [[Syslinux (Español)|Syslinux]], en su lugar, que requiere menos espacio, (ocupa alrededor de ~1.5 MB en /boot).
+
 
+
====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 {{ic|/dev/sd'''X'''}} 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án dedicados a la tabla de particiones. Si no desea sobrescribirla, durante una eventual recuperación, se recomienda hacer 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 [[GRUB_(Español)#Restaurar_GRUB_Legacy|cómo restaurar GRUP Legacy]].
+
 
+
===Requisitos previos para GRUB ===
+
 
+
====Sistemas BIOS====
+
 
+
=====Instrucciones específicas para GUID Partition Table (GPT)=====
+
 
+
Para acloparse a la [[GUID Partition Table (Español)|BIOS-GPT]], GRUB requiere una partición propia ([http://www.gnu.org/software/grub/manual/html_node/BIOS-installation.html#BIOS-installation BIOS Boot Partition]), en la que se ubica su {{ic|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ón se utiliza por GRUB solo en las configuraciones de  BIOS-GPT, y no es necesario cuando se utiliza el método clá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 o GNU Parted sin asignarle un sistema de archivos. El tamaño de 1007 KiB permitirá a la partición ser alineada correctamente a 1024 KiB. Si es necesario, la partición también puede estar ubicada en otro lugar del disco, pero debe estar zona correspondiente a los primeros 2 TiB. Ajuste la partición al código tipo {{ic|ef02}}, si se utiliza la herramienta (c)gdisk, o {{ic|set <BOOT_PART_NUM> bios_grub on}}, si se usa GNU Parted.
+
  
 
{{Nota|
 
{{Nota|
*Se debe crear la partición mencionada antes de ejecutar la orden {{ic|grub-install}} o {{ic|grub-setup}}.
+
* Antes de intentar este método tenga en cuenta que no todos los sistemas serán capaces de soportar este esquema de particionado. Lea más sobre [[GUID_Partition_Table_(Español)#Sistemas_BIOS|GUID partition table]].
*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.}}
+
* Esta partición adicional solo la necesita GRUB, en un esquema de particionado BIOS/GPT. Anteriormente, GRUB, en un esquema de particionado BIOS/MBR, usaba el espacio pos-MBR para insertar su {{ic|core.img}}. Sin embargo, GRUB para GPT, no utiliza el espacio pos-GPT porque dicho espacio no se ajusta a las especificaciones de GPT sobre los límites de 1_mebibyte/2048_sector del disco.
 +
* Para sistemas [[Unified Extensible Firmware Interface (Español)|UEFI]] esta partición adicional no es necesaria ya que no se lleva a cabo en este caso su incustración en los sectores de arranque.}}
  
=====Instrucciones específicas para Master Boot Record (MBR)=====
+
Cree una partición de  un mebibyte ({{ic|1=+1M}} con {{ic|fdisk}} o {{ic|gdisk}}) en el disco, sin formatearla con un sistema de archivos y asignándole el tipo de partición BIOS boot ({{ic|BIOS boot}} con fdisk, {{ic|ef02}} con gdisk (o {{ic|bios_grub}} si utiliza {{ic|parted}}). Esta partición puede estar colocada en cualquier parte del disco, pero tiene que estar en los primeros 2 TiB. Esta partición debe ser creada antes instalar GRUB. Cuando la partición esté lista, instale el gestor de arranque de acuerdo con las instrucciones de abajo.
  
Por lo general, el espacio usable después del [[Master Boot Record (Español)|MBR]] (después de los 512 bytes dedicados a ella, y antes de la primera partición), es de 31 Kb, de modo que si hay algún problema de alineación de los cilindros se resuelven en la tabla de particiones. Sin embargo, se recomienda mantener una distancia de aproximadamente 1 MiB que proporcionará el espacio suficiente para contener {{ic|core.img}} de GRUB ({{bug|24103}}). Es recomendable utilizar una herramienta de particionado que permita la alineación de una partición de 1 MiB después del MBR, de modo que se pueda obtener el espacio necesario, y resolver otros problemas fuera de los primeros 512 bytes (que son ajenos a la incrustación de {{ic|core.img}}).
+
También se puede utilizar el espacio pos-GPT como la partición de arranque BIOS, aunque, como se dijo, no se ajustará a las especificaciones de GPT sobre la alineación de la partición. Debido a que no se puede acceder con regularidad a la partición es posible ignorar el impacto sobre el rendimiento (aunque algunas utilidades de disco mostrarán una advertencia al respecto). Con {{ic|fdisk}} o {{ic|gdisk}} cree una partición '''n'''ew (nueva) que se iniciará en el sector 34 y se extenderá hasta el 2047 y asígnele el tipo indicado. Para tener las particiones visibles al comienzo, considere la posibilidad de crear esta partición la última.
  
====Sistemas UEFI====
+
===Instrucciones específicas para Master Boot Record (MBR)===
  
{{Nota|Es recomendable consultar las páginas [[Unified Extensible Firmware Interface (Español)|UEFI]], [[GUID Partition Table (Español)|GPT]] y [[UEFI_Bootloaders]] antes de seguir esta parte.}}
+
Por lo general, el espacio usable después del [[Master Boot Record (Español)|MBR]] (después de los 512 bytes dedicados a ella, y antes de la primera partición), en cualquier sistema particionado con MBR (o etiquetado como 'msdos') es de 31 Kb, de modo que si hay algún problema de alineación de los cilindros se resuelven en la tabla de particiones. Sin embargo, se recomienda mantener una distancia de aproximadamente 1  a 2 MiB que proporcionará el espacio suficiente para contener {{ic|core.img}} de GRUB ({{bug|24103}}). Es recomendable utilizar una herramienta de particionado que permita la alineación de una partición de 1 MiB después del MBR, de modo que se pueda obtener el espacio necesario, y resolver otros problemas fuera de los primeros 512 bytes (que son ajenos a la incrustación de {{ic|core.img}}).
  
=====Crear y montar UEFI SYSTEM PARTITION  =====  
+
===Instalación ===
  
Siga las instrucciones sobre [[Unified Extensible Firmware Interface (Español)|cómo crear una partición UEFI del sistema]] para crear una UEFI System Partition. A continuación, proceda a montar la partición UEFI System Partition en {{ic|/boot/efi}}. Si dicha partición está montada en algún otro punto de montaje, sustituya {{ic|/boot/efi}} en consecuencia en las órdenes siguientes:
+
[[pacman (Español)|Instala]] el paquete {{Pkg|grub}}. Este reemplazará a {{AUR|grub-legacy}}, si está instalado.
  
# mkdir -p /boot/efi
+
{{Nota|La simple instalación del paquete mencionado no actualiza el archivo {{ic|/boot/grub/i386-pc/core.img}} o los módulos de GRUB en {{ic|/boot/grub/i386-pc}}. Para ello es necesario actualizarlo de forma explícita utilizando {{ic|grub-install}}, como se explica a continuación.}}
# mount -t vfat <UEFI_SYSTEM_PARTITION> /boot/efi
+
 
+
Cree una carpeta {{ic|/boot/efi/EFI}}:
+
# mkdir /boot/efi/EFI
+
 
+
==Instalación ==
+
 
+
===Sistemas BIOS===
+
 
+
GRUB puede ser [[pacman (Español)|instalado]] con el paquete {{Pkg|grub}} disponible en los [[Official Repositories (Español)|repositorios oficiales]]. Este reemplazará a {{Pkg|grub-legacy}} , si está instalado.
+
 
+
{{Nota|La simple instalación del paquete mencionado no actualiza el archivo {{ic|/boot/grub/i386-pc/core.img}} o los módulos de GRUB en {{ic|/boot/grub/i386-pc}}. Para ello es necesario actualizarlo de forma manual utilizando {{ic|grub-install}}, como se explica a continuación.}}
+
  
 
==== Instalar los archivos de arranque de grub====
 
==== Instalar los archivos de arranque de grub====
  
Hay tres formas de instalar los archivos de arranque de GRUB en un sistema BIOS :
+
Hay cuatro formas de instalar los archivos de arranque de GRUB en un sistema BIOS :
  
*[[#Instalación en la «BIOS Boot Partition» con el esquema de particionado GPT]] (recomendado con [[GUID_Partition_Table_(Español)|GPT]]),
+
*[[#Instalación en el disco|Instalación en el disco]] (recomendado),
*[[#Instalación en la región de 440 bytes del MBR]] (recomendado con [[Master Boot Record (Español)|MBR]]),
+
* [[#Instalación en una llave USB|Instalación en una llave USB]] (para rescate)
*[[#Instalación en una partición o disco sin particiones]] (no 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 [[GRUB Legacy]] o [[Syslinux (Español)|Syslinux]], que permitirá interactuar con {{ic|/boot/grub/i386-pc/core.img}}).
+
*[[#Generar únicamente core.img|Generar únicamente core.img]] (el método más seguro, pero requiere de un gestor de arranque diferente, como [[Syslinux (Español)]], que permitirá interactuar con {{ic|/boot/grub/i386-pc/core.img}}).
  
 
{{Nota|Véase http://www.gnu.org/software/grub/manual/grub.html#BIOS-installation para documentación adicional.}}
 
{{Nota|Véase http://www.gnu.org/software/grub/manual/grub.html#BIOS-installation para documentación adicional.}}
  
===== Instalación en la ''«BIOS Boot Partition»'' con el esquema de particionado GPT =====
+
===== Instalación en el disco =====
  
Los discos particionados con [[GUID_Partition_Table_(Español)|GUID Partition Table]] no tienen reservado un «seguimiento del arranque».  Por lo tanto, es necesario crear una partición de arranque de la BIOS  &mdash;la «BIOS Boot Partition» ({{ic|ef02}})&mdash; donde residirá la imagen principal de GRUB.
+
{{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 {{ic|/boot/grub}} y los respectivos códigos instalados en la región de los primeros 440 bytes del [[wikipedia:es:Registro_de_arranque_principal|MBR]] (no debe confundirse con la tabla de particiones MBR).}}
  
Usando GNU Parted, se puede hacer esta operación, usando una orden como la siguiente:
+
Para instalar {{ic|grub}} en la región de los 440 bytes relativa al código de arranque, también llamada Master Boot Record (siglas en inglés de ''«registro de arranque principal»''), tenemos que poblar la carpeta {{ic|/boot/grub}}, crear {{ic|/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, en el caso de disco particionado con MBR (o BIOS Boot Partition en el caso de GPT, indicada con la etiqueta {{ic|bios_grub}} con parted y con el código {{ic|EF02}} con gdisk), ejecute:
  
  # parted /dev/disk set <número de la partición> bios_grub on
+
  # grub-install --target=i386-pc --recheck --debug /dev/sd''x''
 +
# grub-mkconfig -o /boot/grub/grub.cfg
  
Si está utilizando gdisk, establezca el tipo de partición a {{ic|ef02}}. Con los programas de particionado que requieren establecer la GUID directamente, esta última debe mostrar el valor {{ic|‘21686148-6449-6e6f-744e656564454649’}}.
+
{{Nota| El parámetro {{ic|1=--target=i386-pc}} alecciona a {{ic|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.}}
  
{{Advertencia|Tenga mucho cuidado de qué partición se selecciona cuando se marca como una ''BIOS Boot Partition''.  Cuando GRUB encuentra una BIOS Boot Partition durante la instalación, automáticamente sobreescribe parte de ella. Asegúrese de que la partición no contiene ningún otro dato.}}
+
Si utiliza [[LVM (Español)]] para {{ic|/boot}}, puede instalar GRUB en varios discos físicos.
  
Para configurar {{ic|grub}} en un disco GPT, hay que darle contenido al directorio {{ic|/boot/grub}}, generar el archivo {{ic|/boot/grub/i386-pc/core.img}}, e incrustarlo en la BIOS Boot Partition, para hacer todo lo cual ejecutaremos:
+
===== Instalación en una llave USB =====
  
# modprobe dm-mod
+
Se presume que la primera partición de su llave USB está formateada con FAT32 y es /dev/sdy1
# grub-install --target=i386-pc --recheck --debug /dev/sda
+
  
donde {{ic|/dev/sda}} es el disco de destino de la instalación.
+
# mkdir -p /mnt/usb ; mount /dev/sdy1 /mnt/usb
 +
# grub-install --target=i386-pc --recheck --debug --boot-directory=/mnt/usb/boot /dev/sdy
 +
# grub-mkconfig -o /mnt/usb/boot/grub/grub.cfg
  
Continúe con el apartado sobre [[GRUB_(Español)#Crear_un_archivo_de_configuraci.C3.B3n|cómo crear un archivo de configuración]].
+
# opcional, copia de respaldo de los archivos de configuración de grub.cfg
 +
# mkdir -p /mnt/usb/etc/default
 +
# cp /etc/default/grub /mnt/usb/etc/default
 +
# cp -a /etc/grub.d /mnt/usb/etc
  
=====Instalación en la región de 440 bytes del MBR=====
+
  #  sync ; umount /mnt/usb
 
+
Para instalar {{ic|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 {{ic|/boot/grub}}, crear {{ic|/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, y generar el archivo de configuración, para lo cual ejecutaremos:
+
 
+
  # modprobe dm-mod
+
  # grub-install --recheck /dev/sdX
+
 
+
donde {{ic|/dev/sdX}} es la partición de destino (En el caso de particionamientos MBR, se refiere al primer disco SATA). Si utiliza [[LVM]] para la partición {{ic|/boot}}, puede instalar GRUB en todos los discos físicos.
+
 
+
{{Advertencia|Asegúrese de revisar el contenido de la carpeta {{ic|/boot}} si se utiliza la segunda orden. El parámetro {{ic| boot-directory}} a veces puede crear una segunda carpeta {{ic|/boot}} dentro de la ya existente. La instalación incorrecta de GRUB, se vería así: {{ic|/boot/boot/grub/}}.}}
+
 
+
Continúe en [[GRUB (Español)#Crear un archivo de configuración]].
+
  
 
=====Instalación en una partición o disco sin particiones=====
 
=====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 rotura, sobre todo durante las actualizaciones, y no es tratado por los desarrolladores de Arch.}}
+
{{Advertencia|GRUB '''desaconseja seriamente''' ser instalado 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), hay que ejecutar (suponiendo que el dispositivo es {{ic|/dev/sdaX}} y que corresponde a la partición {{ic|/boot}}):
 
Para instalar grub en el sector de arranque de una partición o disco sin particiones (por ejemplo, superfloppy), hay que ejecutar (suponiendo que el dispositivo es {{ic|/dev/sdaX}} y que corresponde a la partición {{ic|/boot}}):
  
# modprobe dm-mod
 
# grub-install --target=i386-pc --recheck --debug --force /dev/sdaX
 
 
  # chattr -i /boot/grub/i386-pc/core.img
 
  # 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
 
  # chattr +i /boot/grub/i386-pc/core.img
 +
 +
{{Nota|
 +
* El dispositivo {{ic|/dev/sdaX}} es usado únicamente como ejemplo.
 +
* El parámetro {{ic|1=--target=i386-pc}} instruye a {{ic|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 {{ic|--force}} para permitir el uso de blocklists, pero no se debe usar {{ic|1=--grub-setup=/bin/true}} (lo que equivale a generar únicamente {{ic|core.img}}).
 
Necesitará la opción {{ic|--force}} para permitir el uso de blocklists, pero no se debe usar {{ic|1=--grub-setup=/bin/true}} (lo que equivale a generar únicamente {{ic|core.img}}).
Line 179: Line 139:
  
 
La solución propuesta consiste en establecer una etiqueta permanente a {{ic|/boot/grub/i386-pc/core.img}}, de modo que la posición de {{ic|core.img}} en el disco no se vea alterada. La etiqueta permanente de {{ic|/boot/grub/i386-pc/core.img}} es necesaria establecerla solo si {{ic|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 la generación de {{ic|core.img}} sin incorporarla en ningún sector de arranque (mencionado anteriormente).
 
La solución propuesta consiste en establecer una etiqueta permanente a {{ic|/boot/grub/i386-pc/core.img}}, de modo que la posición de {{ic|core.img}} en el disco no se vea alterada. La etiqueta permanente de {{ic|/boot/grub/i386-pc/core.img}} es necesaria establecerla solo si {{ic|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 la generación de {{ic|core.img}} sin incorporarla en ningún sector de arranque (mencionado anteriormente).
 +
 +
Por desgracia, el archivo grub.cfg creado no contendrá el UUID apropiado que permita el arranque, aunque no se emitan informes de errores. Vea https://bbs.archlinux.org/viewtopic.php?pid=1294604#p1294604.
 +
Con el fin de solucionar este problema ejecute las siguientes órdenes:
 +
 +
# mount /dev/sdxY /mnt        #Partición root.
 +
# mount /dev/sdxZ /mnt/boot  #Partición boot (si se tiene una).
 +
# arch-chroot /mnt
 +
# pacman -S linux
 +
# grub-mkconfig -o /boot/grub/grub.cfg
  
 
=====Generar únicamente core.img =====
 
=====Generar únicamente core.img =====
  
Para completar la carpeta {{ic|/boot/grub}} y generar un {{ic|/boot/grub/i386-pc/core.img}} '''sin''' instalar {{ic|grub}} en el MBR, añada {{ic|1=--grub-setup=/bin/true}} a {{ic|grub-install}}:
+
Para completar la carpeta {{ic|/boot/grub}} y generar un archivo {{ic|/boot/grub/i386-pc/core.img}} '''sin''' instalar {{ic|grub}} en el MBR, añada {{ic|1=--grub-setup=/bin/true}} a {{ic|grub-install}}:
  
# modprobe dm-mod
 
 
  # grub-install --target=i386-pc --grub-setup=/bin/true --recheck --debug /dev/sda
 
  # grub-install --target=i386-pc --grub-setup=/bin/true --recheck --debug /dev/sda
  
A continuación, puede realizar el traslado de la {{ic|core.img}} de GRUB desde GRUB Legacy o syslinux como un kernel de Linux o un kernel multiarranque.
+
{{Nota|
 +
* El dispositivo {{ic|/dev/sdaX}} es usado únicamente como ejemplo.
 +
* El parámetro {{ic|1=--target=i386-pc}} instruye a {{ic|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.
 +
}}
  
====Crear un archivo de configuración====
+
A continuación, puede realizar el traslado de {{ic|core.img}} de GRUB desde GRUB Legacy o syslinux como si fuese un kérnel de Línux o un kérnel multiarranque.
  
Por último, generaremos un archivo de configuración de GRUB (puede encontrar más información en la sección «Configuración»):
+
==Sistemas UEFI==
  
  # grub-mkconfig -o /boot/grub/grub.cfg
+
{{Nota|
 +
*Es recomendable consultar las páginas [[Unified Extensible Firmware Interface (Español)|UEFI (Español)]], [[GUID Partition Table (Español)|GPT (Español)]] y [[Boot loaders (Español)]] antes de seguir esta parte.
 +
*Al instalar utilizar UEFI es importante iniciar la instalación con el ordenador en la modalidad UEFI. El soporte de instalación de Arch Linux dispone de UEFI con capacidad de arranque.}}
  
{{Nota|La ubicación exacta es {{ic|/boot/grub/grub.cfg}}, NO {{ic|/boot/grub/i386-pc/grub.cfg}}.}}
+
=== Comprobar si se está utilizando GPT y una partición EFI del sistema (ESP) ===
  
Si GRUB muestra el error «no suitable mode found» durante el arranque, consulte [[GRUB_(Español)#Corregir_el_error_de_GRUB:_.C2.ABno_suitable_mode_found.C2.BB|cómo corregir el error GRUB: «no suitable mode found»]].
+
Se necesita una partición de sistema EFI (ESP) en cada disco que quiera arrancar con EFI. Una tabla de particiones GPT no es estrictamente necesaria, pero es muy recomendable y es el único método actualmente apoyado en este artículo. Si va a instalar Archlinux en un equipo EFI-compatible con un sistema operativo ya funcionando, como Windows 8, por ejemplo, es muy probable que ya tenga una ESP. Para comprobar si usa GPT y una ESP (siglas en inglés de ''EFI System partition'' —partición EFI del sistema—), utilice {{ic|parted}} como root para imprimir la tabla de particiones del disco que desea arrancar (en el ejemplo utilizado aquí se denomina {{ic|/dev/sda}}.)
  
Si {{ic|grub-mkconfig}} no llegara a prosperar, convierta su {{ic|/boot/grub/menu.lst}} a {{ic|/boot/grub/grub.cfg}} con :
+
# parted /dev/sda print
  
# grub-menulst2cfg /boot/grub/menu.lst /boot/grub/grub.cfg
+
Si se utiliza GPT, la orden debe informar: «Partition Table: GPT». Para saber si se usa la modalidad EFI, busque una pequeña partición (de 512 MiB o menos), con un sistema de archivos vfat y la etiqueta «boot» activada. En ella, debe haber una carpeta llamada «EFI». Si se cumplen estos criterios, esta es la ESP. Tome nota del número de la partición, pues tendrá que saber cuál es para que pueda montarla, más adelante, durante la instalación de GRUB en ella.
  
Por ejemplo:
+
=== Crear una EFI System partition ===
  
{{hc|/boot/grub/menu.lst|<nowiki>
+
Si no se tiene una ESP, tendrá que crearla. Siga las instrucciones de [[Unified Extensible Firmware Interface (Español)#EFI System Partition]] para saber cómo crear una.
default=0
+
timeout=5
+
  
title  Arch Linux Stock Kernel
+
=== Instalación ===
root  (hd0,0)
+
kernel /vmlinuz-linux root=/dev/sda2 ro
+
initrd /initramfs-linux.img
+
  
title  Arch Linux Stock Kernel Fallback
+
{{Nota|Es bien sabido que los fabricantes de placas base no implementan los firmware de UEFI de modo homogéneo. Los ejemplos de instalación descritos a continuación están destinados a trabajar en la más amplia gama de sistemas UEFI posibles. Se anima a los usuarios que experimenten problemas, a pesar de la aplicación de los métodos descritos, a compartir información detallada de sus casos específicos de hardware, cuando hayan encontrado solución a sus problemas. Para estos casos especiales se ha proporcionado un página de [[GRUB EFI Examples|ejemplos para GRUB EFI]].}}
root  (hd0,0)
+
kernel /vmlinuz-linux root=/dev/sda2 ro
+
initrd /initramfs-linux-fallback.img
+
</nowiki>}}
+
  
{{hc|/boot/grub/grub.cfg|<nowiki>
+
Esta sección asume que está instalando GRUB para sistemas x86_64 (x86_64-efi). Para sistemas i686, sustituya {{ic|x86_64-efi}} con {{ic|i386-efi}} donde proceda.
set default='0'; if [ x"$default" = xsaved ]; then load_env; set default="$saved_entry"; fi
+
set timeout=5
+
  
menuentry 'Arch Linux Stock Kernel' {
+
Asegúrese de que está en una shell de [[bash]]. Por ejemplo, cuando se arranca desde la ISO de Arch:
  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' {
+
# arch-chroot /mnt /bin/bash
  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'
+
}
+
</nowiki>}}
+
  
Si se ha reiniciado el sistema, olvidándose de crear {{ic|/boot/grub/grub.cfg}} ejecute el arranque en la shell de órdenes de GRUB y escriba:
+
[[pacman (Español)|Instale]] los paquetes {{Pkg|grub}} y {{Pkg|efibootmgr}}. ''GRUB'' es el gestor de arranque, ''efibootmgr'' crea las entradas stub {{ic|.efi}} con capacidad de arranque usadas por el script de instalación de GRUB.
  
  sh:grub> insmod legacycfg
+
Los siguientes pasos instalan la aplicación GRUB UEFI en {{ic|'''$esp'''/EFI/grub}}, instala los módulos en {{ic|/boot/grub/x86_64-efi}}, y coloca el stub {{ic|grubx64.efi}} booteable en {{ic|'''$esp'''/EFI/grub_uefi}}.
sh:grub> legacy_configfile ${prefix}/menu.lst
+
  
Ello arranca Arch Linux y, luego, vuelva a crear {{ic|/boot/grub/grub.cfg}} de manera adecuada.
+
En primer lugar, le decimos a GRUB que utilice UEFI, que establezca el directorio de arranque y que establezca el ID. del gestor de arranque. Cambie {{ic|$esp}} con su partición efi (normalmente {{ic|/boot}}):
  
{{Nota|La opción anterior solo funciona en los sistemas BIOS, no en los sistemas UEFI.}}
+
# grub-install --target=x86_64-efi --efi-directory='''$esp''' --bootloader-id='''grub_uefi''' --recheck
  
==== Multiarranque para sistemas BIOS ====
+
La identificación del gestor de arranque es el que aparece en las opciones de arranque para identificar la opción de arranque de GRUB EFI; asegurarse de que esto es algo que pueda reconocer más tarde.
  
El multiarranque debería funcionar una vez instalado grub, pero es necesario tener instalada una utilidad adicional: os-prober. Instale dicho programa, y vuelva a ejecutar grub-mkconfig -o /boot/grub/grub.cfg. Si esta operación automática falla, puede intentar añadir manualmente una entrada siguiendo las instrucciones de abajo.
+
Después de lo anterior, la instalación completa el directorio principal de GRUB localizado en {{ic|/boot/grub/}}.  
  
{{Nota|Si no se encuentra Windows, pruebe montando la partición de arranque}}
+
No se olvide de [[#Generar el archivo de configuración principal]] después de finalizar la configuración adicional dependiendo de su [[#Configuración]].  
 
+
=====Inicio de Microsoft Windows en sistemas BIOS-MBR =====
+
 
+
{{Nota|GRUB soporta arrancar directamente de {{ic|bootmgr}} y la carga del sector de arranque no es necesaria para que Windows ejecute su configuración de la BIOS-MBR}}
+
 
+
{{Advertencia|Tenga en cuenta que {{ic|bootmgr}} está contenida en la partición etiquetada como '''system partition''', no en la "principal" que aloja el sistema de archivos de Windows (generalmente C:). Puede localizar todos los UUID usando la orden {{ic|blkid}}, donde la partición del sistema es el que tiene la etiqueta {{ic|LABEL&#61;"SYSTEM RESERVED"}} y que no es más grande de 100MB (similar a la partición de boot de Arch). Consulte para más información [[wikipedia:System partition and boot partition]].}}
+
 
+
A lo largo de esta sección, se asume que la partición de Windows es /dev/sda1. Para una partición diferente, cambie todos los ejemplos de hd0,msdos1. Primero, encuentre el UUID del sistema de archivos NTFS de la partición SYSTEM PARTITION de Windows, donde {{ic|bootmgr}} y sus archivos residen. Por ejemplo, si el {{ic|bootmgr}} de Windows se encuentra en {{ic|/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
+
 
+
{{Nota|Para Windows XP, sustituya {{ic|bootmgr}} por {{ic|NTLDR}} en las órdenes anteriores. Y tenga en cuenta que puede no haber una partición SYSTEM_RESERVED separada; basta con buscar el archivo NTLDR en la partición principal de Windows.}}
+
 
+
A continuación, agregue el anterior código en el archivo {{ic|/etc/grub.d/40-custom}} o {{ic|/boot/grub/custom.cfg}} y regenere {{ic|grub.cfg}} con {{ic|grub-mkconfig}}, como se explicó anteriormente, para cargar Windows (XP, Vista, 7 o 8) instalado en la modalidad BIOS-MBR:
+
 
+
Para Windows Vista/7/8:
+
 
+
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
+
}
+
 
+
Para Windows XP:
+
 
+
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 /ntldr
+
}
+
 
+
{{Nota| En algunos casos (por ejemplo, si GRUB se instala antes que Windows 8), puede obtenerse un error con \boot\bcd (código de error 0xc000000f) de que no se puede iniciar Windows. Es posible resolver el problema iniciando la consola de recuperación de Windows (si se utiliza el disco de instalación) y ejecutar:
+
x:\> "bootrec.exe /fixboot"
+
x:\> "bootrec.exe /RebuildBcd".
+
{{Advertencia| No utilice "bootrec.exe /Fixmbr" por que cancelará GRUB.}}
+
}}
+
 
+
El archivo {{ic|/etc/grub.d/40_custom}} se puede utilizar como una plantilla para crear {{ic|/etc/grub.d/nn_custom}}. Donde {{ic|nn}} define la prioridad, indicando el orden en que los scripts son ejecutados. El orden de ejecución de los scripts determina la posición de las entradas en el menú de arranque de grub.
+
 
+
{{Nota| {{ic|nn}} debe tener un valor mayor que 06 para garantizar que los scripts necesarios del sistema sean ejecutados primero.}}
+
 
+
===Sistemas UEFI===
+
 
+
{{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 [[GRUB EFI Examples|ejemplos para GRUB EFI]] para estos casos especiales.}}
+
 
+
Primero, instale el package {{Pkg|grub}} y, a continuación, siga las siguientes instrucciones.
+
 
+
{{Nota|La simple instalación de este paquete no actualiza el archivo {{ic|core.efi}} ni los módulos de GRUB ubicados en la UEFI System Partition. Es necesario hacerlo manualmente usando {{ic|grub-install}} como se explica a continuación.}}
+
 
+
====Instalar los archivos de arranque ====
+
 
+
===== Método recomendado =====
+
  
 
{{Nota|
 
{{Nota|
*Presumimos que estamos usando las siguientes órdenes al instalar GRUB para {{ic|x86_64-efi}} (para {{ic|IA32-efi}} sustituya {{ic|x86_64}} con {{ic|i386}} en las órdenes siguientes).
+
* Mientras que algunas distribuciones requieren un directorio {{ic|/boot/efi}} o {{ic|/boot/EFI}}, Arch no lo necesita.
*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 [[Unified_Extensible_Firmware_Interface_(Español)#Crear_un_USB_booteable_de_UEFI_desde_la_ISO|esta guía]] o grub-install mostrará errores}}
+
* {{ic|--efi-directory}} y {{ic|--bootloader-id}} son específicos de GRUB UEFI. {{ic|--efi-directory}} especifica el punto de montaje de la ESP. Este sustituye a {{ic|--root-directory}}, que está obsoleto. {{ic|--bootloader-id}} especifica el nombre del directorio utilizado para guardar el archivo {{ic|grubx64.efi}}.
 +
* Es posible que note la ausencia de una opción <device_path> (por ejemplo: {{ic|/dev/sda}}) en la orden {{ic|grub-install}}. De hecho cualquier <device_path> proporcionado será ignorado por el script de instalación de GRUB, dado que los gestores de arranque de UEFI no utilizan un MBR o sector de arranque de la partición en absoluto.
 +
}}
  
La UEFI system partition debe ser instalada en {{ic|/boot/efi}} para que el script de instalación de GRUB la reconozca:
+
Véase [[#UEFI (Español)|solución de problemas de UEFI]] en caso de problemas.
  
# mkdir -p /boot/efi
+
=== Lecturas complementarias ===
# mount -t vfat /dev/sdXY /boot/efi
+
  
A continuación, instale el aplicación UEFI de GRUB y sus módulos en {{ic|/boot/grub/x86_64-efi}} (recomendado) usando:
+
A continuación se muestra otra información pertinente relativa a la instalación de Arch a través de UEFI
 
+
# modprobe dm-mod
+
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck --debug
+
 
+
{{Nota|
+
* Si no especifica las opciones {{ic|--target}} o {{ic|--directory}}, {{ic|grub-install}} no logrará determinar el tipo de firmware sobre el que GRUB será instalado, lo que mostrará el siguiente mensaje de error: {{ic|source_dir doesn't exist. Please specify --target or --directory}}
+
* Las opciones {{ic|--efi-directory}} y {{ic|--bootloader-id}} son específicas de GRUB UEFI. La opción {{ic|--efi-directory}} indica el punto de montaje de la partición UEFI del sistema, que reemplaza la opción {{ic|--root-directory}}, la cual está obsoleta. La opción {{ic|--bootloader-id}} indica el nombre del directorio usado para hospedar al archivo {{ic|grubx64.efi}}.
+
* Si se observa con cuidado, no hay ninguna opción relativa a <device_path> (Por ejemplo: {{ic|/dev/sda}}) durante la ejecución de la orden {{ic|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. Puede continuar con la [[#Configuración]].
+
==== Método alternativo de instalación====
  
===== Método alternativo =====
+
Por lo general, GRUB guarda todos los archivos, incluyendo los archivos de configuración, en {{ic|/boot}}, independientemente del lugar donde se monta EFI System Partition.
  
Si desea guardar todos los archivos de arranque de GRUB dentro de la misma partición del sistema UEFI, añada {{ic|--boot-directory&#61;/boot/efi/EFI}} para la orden segunda:
+
Si desea guardar estos archivos dentro de la misma partición UEFI del sistema, añada {{ic|1=--boot-directory=$esp}} a la orden grub-install:
  
# modprobe dm-mod
+
  # grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=grub --boot-directory=$esp --recheck --debug
  # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --boot-directory=/boot/efi/EFI --recheck --debug
+
  
De este modo, los módulos de GRUB vendrán instalados en {{ic|/boot/efi/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:
+
De este modo, los archivos de GRUB vendrán instalados en {{ic|$esp/grub}} en lugar de {{ic|/boot/grub}}. 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 /boot/efi/EFI/grub/grub.cfg
+
  # grub-mkconfig -o $esp/grub/grub.cfg
  
 
El resto de la configuración es idéntica.
 
El resto de la configuración es idéntica.
  
==== Crear entrada de GRUB en el gestor de arranque del firmware ====
+
==== Solución alternativa a firmware de UEFI ====
  
A partir de la versión 2.00 de grub-efi-x86_64, {{ic|grub-install}} intentará crear automáticamente una entrada de menú en el gestor de arranque. Si no es así, véase [[Beginners'_Guide (Español)#GRUB|la guía para principiantes]] para obtener instrucciones sobre cómo usar {{ic|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 la modalidad UEFI, como se indica en [[Unified_Extensible_Firmware_Interface_(Español)#Crear_un_USB_booteable_de_UEFI_desde_la_ISO]]
+
Algunos firmware UEFI requieren que el código de arranque {{ic|.efi}} tenga un nombre específico y está colocado en un lugar específico: {{ic|$esp/EFI/boot/bootx64.efi}} (donde {{ic|$esp}} es el punto de montaje de la partición UEFI). Si no se hace así, se traducirá, en estos casos, en una instalación que no arranca. Afortunadamente, esto no va a causar ningún problema con otros firmware que no necesitan estas condiciones.
  
====Construir una aplicación UEFI Standalone para GRUB====
+
Para solucionar de momento este escollo, debe crear primero el directorio necesario, y luego copiar el código {{ic|.efi}} de grub, renombrándolo adecuadamente durante este proceso:
  
Es posible crear una aplicación UEFI standalone (grubx64_standalone.efi), que incluye todos los módulos necesarios en el interior de un memdisk, eliminando virtualmente la necesidad de contar con un directorio separado que contenga todos los módulos UEFI de GRUB y otros archivos relacionados. Para lograr el objetivo, vamos a utilizar la orden {{ic|grub-mkstandalone}}, incluida en el paquete {{Pkg|grub}}.
+
# mkdir $esp/EFI/boot
 +
# cp $esp/EFI/arch_grub/grubx64.efi $esp/EFI/boot/bootx64.efi
  
La forma más sencilla de hacerlo es a través de la orden de instalación que se mencionó anteriormente, sin embargo, teniendo cuidado de especificar los módulos que desea incluir. Por ejemplo:
+
==== Crear una entrada de GRUB en el gestor de arranque del firmware ====
  
# grub-mkstandalone --directory="/usr/lib/grub/x86_64-efi/" --format="x86_64-efi" --compression="xz" \
+
{{ic|grub-install}} intentará crear automáticamente una entrada de menú en el gestor de arranque. Si no es así, véase [[Unified Extensible Firmware Interface (Español)#efibootmgr]] para obtener instrucciones sobre cómo usar {{ic|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 la modalidad UEFI, como se indica en [[Unified Extensible Firmware Interface (Español)#Crear un USB arrancable con UEFI desde la ISO]]
--output="/boot/efi/EFI/arch_grub/grubx64_standalone.efi" <archivos adicionales que se desea incluir>
+
  
El archivo {{ic|grubx64_standalone.efi}} asume que {{ic|grub.cfg}} se encuentra en su $prefix, es decir, {{ic|(memdisk)/boot/grub}}. El memdisk se incluye a continuación en la aplicación EFI. El script {{ic|grub-mkstandlone}} le permite especificar los archivos a incluir en la imagen memdisk como argumentos del script (en <archivos adicionales que se desea incluir>).
+
==== GRUB Standalone ====
  
Si, por ejemplo, el archivo {{ic|grub.cfg}} se encuentra en {{ic|/home/usuario/Desktop/grub.cfg}}, se creará un directorio temporal {{ic|/home/usuario/Desktop/boot/grub}} y se copiará el archivo {{ic|/home/usuario/Desktop/grub.cfg}} en {{ic|/home/usuario/Desktop/boot/grub/grub.cfg}} y, finalmente, se colocará en {{ic|/home/usuario/Desktop/boot/grub/grub.cfg}} con la orden {{ic|cd}} y, a continuación, ejecutaremos:
+
Esta sección asume que está creando un GRUB independiente para sistemas x86_64 (x86_64-efi). Para los sistemas i686, sustituya {{ic|x86_64-efi}} con {{ic|i386-efi}} en su caso.
  
# grub-mkstandalone --directory="/usr/lib/grub/x86_64-efi/" --format="x86_64-efi" --compression="xz" \
+
Es posible crear una aplicación {{ic|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 contener todos los módulos de UEFI GRUB y otros archivos relacionados. Esto se hace usando la orden {{ic|grub-mkstandalone}} (incluida en {{Pkg|grub}}) como sigue:
--output="/boot/efi/EFI/arch_grub/grubx64_standalone.efi" "boot/grub/grub.cfg"
+
  
La razón de usar {{ic|cd}} en {{ic|/home/user/Desktop/boot/grub/}} es que hace pasar la ruta del archivo como {{ic|boot/grub/grub.cfg}} (nótese la ausencia de una barra - boot/ vs /boot/) y ello por que {{ic|dir1/dir2/file}} se incluye como {{ic|(memdisk)/dir1/dir2/file}} por el script {{ic|grub-mkstandalone}}.
+
# 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
  
Si pasa {{ic|/home/user/Desktop/grub.cfg}} en el archivo se incluirá como {{ic|(memdisk)/home/user/Desktop/grub.cfg}}. Si pasa {{ic|/home/user/Desktop/boot/grub/grub.cfg}} en el archivo se incluirá como {{ic|(memdisk)/home/user/Desktop/boot/grub/grub.cfg}}. Esa es la razón para ejecutar cd en {{ic|/home/user/Desktop/boot/grub/}} que pasa a {{ic|boot/grub/grub.cfg}}, para incluir el archivo como {{ic|(memdisk)/boot/grub/grub.cfg}}, que es lo que {{ic|grub.efi}} espera que el archivo sea.
+
A continuación, copie el archivo de configuración de GRUB a {{ic|$esp/EFI/grub/grub.cfg}} y cree una entrada en el gestor de arranque de UEFI para {{ic|$esp/EFI/grub/grubx64_standalone.efi}} utilizando [[Unified_Extensible_Firmware_Interface_(Español)#efibootmgr|efibootmgr]].
  
Ahora tendrá que crear una entrada en UEFI Boot Manager para {{ic|/boot/efi/EFI/arch_grub/grubx64_standalone.efi}} usando {{ic|efibootmgr}}. Consulte [[GRUB2_(Español)#Crear_entrada_de_GRUB_en_el_gestor_de_arranque_del_firmware|Cómo crear una entrada de GRUB en el gestor de arranque del firmware]].
+
{{Nota|La opción {{ic|1=--modules="part_gpt part_msdos"}} (con las comillas) es necesaria para que la característica {{ic|${cmdpath} }} funcione correctamente.}}
  
==== Multiarranque en sistemas UEFI ====
+
{{Advertencia|Puede encontrarse que el archivo {{ic|grub.cfg}} no se carga debido a que falta una barra {{ic|${cmdpath} }} (por ejemplo, {{ic|(hd1,msdos2)EFI/Boot}} en lugar de {{ic|(hd1,msdos2)/EFI/Boot}}), razón por lo que no se lanza en un shell de GRUB. Si esto sucede, verifique cúal es el ajuste de {{ic|${cmdpath} }} (con la orden {{ic|echo ${cmdpath} }}) y luego cargue manualmente la configuración manual del archivo (por ejemplo, {{ic|configfile (hd1,msdos2)/EFI/Boot/grub.cfg}}).}}
  
===== Ejecutar la carga de Microsoft Windows en sistemas de UEFI-GPT =====
+
==== Información Técnica ====
  
Se puede encontrar el UUID del sistema de archivos FAT32 en la partición UEFI del sistema, donde residen los archivos del gestor de arranque UEFI de Windows. Por ejemplo, si el archivo {{ic|bootmgfw.efi}} se encuentra en {{ic|/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi}} (se ignora la diferencia entre letras mayúsculas y minúsculas, dado que son irrelevantes en un sistema de archivos FAT), ejecute:
+
El archivo GRUB EFI siempre espera que su archivo de configuración esté en {{ic|${prefix}/grub.cfg}}. Sin embargo, en el archivo EFI de GRUB standalone, el {{ic|${prefix} }} se encuentra dentro de un archivo tar incrustado en el propio archivo EFI de GRUB standalone (dentro de grub se reconoce por {{ic|"(memdisk)"}}, sin comillas).  Este archivo tar contiene todos los archivos que se almacenan normalmente en {{ic|/boot/grub}} en el caso de una instalación normal de GRUB EFI.
  
# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
+
Debido a esta incorporación del contenido de {{ic|/boot/grub}} dentro de la propia imagen standalone, dicho contenido no está presente en {{ic|/boot/grub}} (externo) para nada. Así, tanto el archivo EFI de GRUB standalone, {{ic|1=${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 {{ic|1=${prefix}/grub.cfg==(memdisk)/boot/grub/grub.cfg}}.  
1ce5-7f28
+
  
# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
+
Para asegurarse que el archivo EFI de GRUB standalone lea el archivo {{ic|grub.cfg}} externo ubicado en el mismo directorio que el archivo EFI (reconocido en grub como {{ic|${cmdpath} }}), crearemos un simple archivo {{ic|/tmp/grub.cfg}} que oblique a GRUB a utilizar {{ic|${cmdpath}/grub.cfg}} como su archivo de configuración (al ejecutar la orden {{ic|configfile ${cmdpath}/grub.cfg}} en {{ic|(memdisk)/boot/grub/grub.cfg}}). Entonces indicamos a grub-mkstandalone que copie el archivo {{ic|/tmp/grub.cfg}} a {{ic|${prefix}/grub.cfg}} (que en realidad es {{ic|(memdisk)/boot/grub/grub.cfg}}) utilizando la opción {{ic|1="/boot/grub/grub.cfg=/tmp/grub.cfg"}}.
--hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt
+
  
A continuación, agregue el siguiente código a {{ic|/etc/grub.d/40_custom}} para ejecutar la carga de Windows x86_64 (Vista SP1+, 7 o 8) instalado en el sistema UEFI-GPT:
+
De esta manera el archivo EFI de GRUB standalone y el archivo {{ic|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), lo que los hace portables.
  
menuentry "Microsoft Windows Vista/7/8 x86_64 UEFI-GPT" {
+
== Generar el archivo de configuración principal ==
  insmod part_gpt
+
  insmod fat
+
  insmod search_fs_uuid
+
  insmod chain
+
  search --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 1ce5-7f28
+
  chainloader /efi/Microsoft/Boot/bootmgfw.efi
+
}
+
  
Por último, regenere {{ic|/boot/grub/grub.cfg}}
+
Después de la instalación, necesita crear el archivo de configuración principal {{ic|grub.cfg}}. El proceso de generación puede estar influenciada por una variedad de opciones presentes en {{ic|/etc/default/grub}} y de scripts en {{ic|/etc/grub.d/}}, lo cual se trata en la sección [[#Configuración]]
  
# grub-mkconfig -o /boot/grub/grub.cfg
+
Si no se ha hecho una configuración adicional, la generación automática determinará el sistema de archivos raíz del sistema que el archivo de configuración arrancará. Para que esto tenga éxito es importante que el sistema o bien sea arrancable o bien se haga dentro de chroot.  
 
+
==Configuración==
+
 
+
Es posible generar {{ic|grub.cfg}} de forma automática o modificarlo manualmente.
+
 
+
{{Nota|
+
*Para sistemas EFI, si GRUB se ha instalado con la opción de {{ic|--boot-directory}} activa, {{ic|grub.cfg}} debe ser colocado en el mismo directorio de {{ic|grubx64.efi}}. De lo contrario, {{ic|grub.cfg}} se posicionará en {{ic|/boot/grub}}, al igual que ocurre con la versión BIOS de GRUB.
+
*[http://members.iinet.net/~herman546/p20/GRUB2%20Configuration%20File%20Commands.html Aquí] puede encontar una guía completa sobre cómo configurar GRUB.}}
+
  
=== Generación automática utilizando grub-mkconfig ===
+
{{Nota|Recuerde que {{ic|grub.cfg}} tiene que ser regenerado después de realizar cualquier cambio en los archivos {{ic|/etc/default/grub}} o {{ic|/etc/grub.d/*}}.}}
  
El equivalente del viejo {{ic|menu.lst}} está representado por los archivos {{ic|/etc/default/grub}} y {{ic|/etc/grub.d/*}}. Estos archivos son utilizados generalmente por {{ic|grub-mkconfig}} para generar {{ic|/boot/grub/grub.cfg}}. Por defecto, las fuentes del script para la salida estándar. Para generar un archivo {{ic|grub.cfg}} use la siguiente orden:
+
Utilice la utilidad ''grub-mkconfig'' para generar el archivo {{ic|grub.cfg}}:
  
 
  # grub-mkconfig -o /boot/grub/grub.cfg
 
  # grub-mkconfig -o /boot/grub/grub.cfg
  
{{ic|/etc/grub.d/10_linux}} se establece para agregar automáticamente las entradas del menú para Arch Linux que funcionan una vez instalado, en cualquier configuración. Para otros sistemas operativos puede ser necesario añadir entradas a {{ic|/etc/grub.d/40_custom}} o {{ic|/boot/grub/custom.cfg}}.
+
{{Nota|
 +
* La ruta del archivo es {{ic|/boot/grub/grub.cfg}}, no {{ic |/boot/grub/i386-pc/grub.cfg}}.
 +
* Si se está tratando de ejecutar ''grub-mkconfig'' en entorno chroot o en un contenedor ''systemd-nspawn'', es posible que advierta que no funciona, avisándole de que ''grub-probe'' no puede obtener el "canonical path of /dev/sdaX". En este caso, pruebe usando ''arch-chroot'' como se describe [https://bbs.archlinux.org/viewtopic.php?pid&#61;1225067#p1225067 aquí].
 +
}}
  
====Argumentos adicionales ====
+
Por defecto, los scripts de generación añaden automáticamente las entradas de menú para Arch Linux a cualquier configuración generada. Véase [[#Arranque dual]] para configuraciones avanzadas.
  
Si necesita pasar parámetros especiales a la imagen del kernel, es necesario colocarlos en la variable {{ic|GRUB_CMDLINE_LINUX}} contenida en el archivo {{ic|/etc/default/grub}}. Esto es análogo a colocar los parámetros directamente en la línea del kernel, como ocurría con el antiguo GRUB Legacy.
+
== Configuración ==
  
Por ejemplo, para permitir restaurar el sistema después de la hibernación, se utilizará el parámetro {{ic|1=GRUB_CMDLINE_LINUX="resume=/dev/sdaX"}}, donde {{ic|sdaX}} muestra la partición swap.
+
Esta sección cubre solo la edición del archivo de configuración {{ic|/etc/default/grub}}. Véase [[GRUB/Tips and tricks (Español)]] si necesita más opciones.
  
También es posible usar {{ic|<nowiki>GRUB_CMDLINE_LINUX="resume=/dev/disk/by-uuid/${swap_uuid}"</nowiki>}}, donde {{ic|${swap_uuid} }} se refiere a [[Persistent_block_device_naming|UUID]] de la propia partición swap.
+
Recuerde siempre [[#Generar el archivo de configuración principal]] después de realizar cambios en {{ic|/etc/default/grub}}.
  
Si necesita pasar más de un parámetro, se separan las opciones con un espacio: por ejemplo, si desea utilizar las funciones «resume» y «systemd», tendremos:
+
=== Argumentos adicionales ===
{{ic|<nowiki>GRUB_CMDLINE_LINUX="resume=/dev/sdaX init=/bin/systemd"</nowiki>}}
+
  
Consulte el artículo sobre los [[Kernel parameters (Español)|parámetros del kernel]] para obtener más información.
+
Para pasar argumentos adicionales personalizados a la imagen de Línux, se pueden ajustar las variables {{ic|GRUB_CMDLINE_LINUX}} + {{ic|GRUB_CMDLINE_LINUX_DEFAULT}} en {{ic|/etc/default/grub}}.  Los dos parámetros se anexan al archivo y se pasan al kérnel al generar las entradas de arranque regulares. Para la ''recuperación'' del sistema, solo se usa la variable {{ic|GRUB_CMDLINE_LINUX}}.  
  
===Creación manual de grub.cfg ===
+
No es necesario el uso de ambos, pero puede ser útil . Por ejemplo , podría utilizar {{ic|<nowiki>GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sdaX</nowiki> quiet"}} cuando {{ic|sda'''X'''}} 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 de reanudación y sin el parámetro ''quiet'' que no mostraría los mensajes del kérnel durante el arranque desde esa entrada. Sin embargo, las otras entradas del menú (regulares) seguirían teniendo las demás opciones.
  
{{Advertencia|La edición manual de este archivo está totalmente desaconsejado. El archivo {{ic|grub.cfg}} es generado por la orden {{ic|grub-mkconfig}}, lo cual es preferible a editar el archivo {{ic|/etc/default /grub}} o uno de los scripts contenidos en el directorio {{ic|/etc/grub.d.}}}}
+
Para generar la entrada de recuperación en GRUB también hay que comentar {{ic|<nowiki>#GRUB_DISABLE_RECOVERY=true</nowiki>}} en {{ic|/etc/default/grub}}.  
  
Un archivo {{ic|grub.cfg}} básico contendrá las siguientes opciones:
+
También se puede usar {{ic|<nowiki>GRUB_CMDLINE_LINUX="resume=/dev/disk/by-uuid/${swap_uuid}"</nowiki>}}, cuando {{ic|${swap_uuid} }} es la [[Persistent block device naming (Español)|UUID]] de la partición de intercambio.
* {{ic|(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
+
* {{ic|1=set default=N}} le permite elegir qué entrada se inicia por defecto
+
* {{ic|1=set timeout=N}} indica el límite de tiempo en segundos antes que la elección predefinida se inicie
+
* {{ic|1=menuentry "title" {opciones}}} es una entrada de arranque de nombre {{ic|title}}
+
* {{ic|1=set root=(hdX,Y)}} establece la partición de arranque, es decir, la que contiene el kernel y los módulos de GRUB (no es necesario una partición separada: {{ic|/boot}} puede estar contenido dentro de la partición root).
+
  
Un ejemplo de configuración:
+
Las entradas múltiples se separan por espacios dentro de comillas dobles. Por lo tanto, si desea usar tanto la función de reanuación como systemd, se vería así:
 +
{{ic|<nowiki>GRUB_CMDLINE_LINUX="resume=/dev/sdaX init=/usr/lib/systemd/systemd"</nowiki>}}
  
{{hc|/boot/grub/grub.cfg
+
Véase [[Kernel parameters (Español)]] para obtener más información.
|2=
+
# 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===  
 
===Arranque dual===  
{{Nota | Si desea que GRUB busque sistemas operativos instalados, debe descargar el paquete {{Pkg|os-prober}}.}}
 
  
====Utilizar grub-mkconfig ====
+
{{Sugerencia|Si desea que ''grub-mkconfig'' busque sistemas operativos instalados, debe instalar el paquete {{Pkg|os-prober}}.}}
La mejor manera de agregar más entradas es modificar el archivo {{ic|/etc/grub.d/40_custom}} o {{ic|/boot/grub/custom.cfg}}, de modo que se agregan automáticamente al archivo {{ic|grub.cfg}} cuando se lanza {{ic|grub-mkconfig}}. Después de hacer los cambios, ejecute:
+
  
# grub-mkconfig -o /boot/grub/grub.cfg
+
==== Generación automática utilizando /etc/grub.d/40_custom y grub-mkconfig ====
  
para generar un archivo {{ic|grub.cfg}} actualizado.
+
La mejor manera de agregar otras entradas está editando el archivo {{ic|/etc/grub.d/40_custom}} o {{ic|/boot/grub/custom.cfg}}. El contenido de estos archivos se agregan automáticamente al ejecuta r{{ic|grub-mkconfig}}.
 +
Después de añadir las nuevas líneas, ejecute:
 +
{{bc|<nowiki># grub-mkconfig -o /boot/grub/grub.cfg</nowiki>}}
 +
o, para modalidad UEFI-GPT:
 +
{{bc|<nowiki># grub-mkconfig -o /boot/efi/EFI/GRUB/grub.cfg</nowiki>}}
 +
para actualizar {{ic|grub.cfg}}.
  
=====Con GNU/Linux =====
+
Por ejemplo, un típico archivo {{ic|/etc/grub.d/40_custom}}, podría ser similar a uno como el siguiente, creado para [http://h10025.www1.hp.com/ewfrf/wc/product?cc=us&destPage=product&lc=en&product=5402703&tmp_docname= HP Pavilion 15-e056sl Notebook PC], originalmente con Microsoft Windows 8 preinstalado. Cada {{ic|menuentry}} debe mantener una estructura similar a una de las de abajo. Tenga en cuenta que la partición UEFI {{ic|/dev/sda2}} dentro de GRUB se llama {{ic|hd0,gpt2}} y {{ic|ahci0,gpt2}} (véase [[#Windows Installed in UEFI-GPT Mode menu entry|esto]] para obtener más información).
Si la otra distribución está en {{ic|/dev/sda2}}:
+
  
menuentry "Other Linux" {
+
{{hc|/etc/grub.d/40_custom|<nowiki>#!/bin/sh
  set root=(hd0,2)
+
exec tail -n +3 $0
  linux /boot/vmlinuz (añadir aquí otras opciones necesarias al kernel)
+
# This file provides an easy way to add custom menu entries.&nbsp; Simply type the
  initrd /boot/initrd.img (si otro kernel usa/necesita una)
+
# menu entries you want to add after this comment.&nbsp; Be careful not to change
}
+
# the 'exec tail' line above.
  
=====Con FreeBSD =====
+
menuentry "HP / Microsoft Windows 8.1" {
Requiere que FreeBSD está instalado en una partición formateada con UFS. Si FreeBSD está en {{ic|sda4}}:
+
echo "Cargando HP / Microsoft Windows 8.1..."
 +
insmod part_gpt
 +
insmod fat
 +
insmod search_fs_uuid
 +
insmod chain
 +
search --fs-uuid --no-floppy --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 763A-9CB6
 +
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
 +
}
  
menuentry "FreeBSD" {
+
menuentry "HP / Microsoft Control Center" {
  set root=(hd0,4)
+
echo "Cargando HP / Microsoft Control Center..."
  chainloader +1
+
insmod part_gpt
}
+
insmod fat
 +
insmod search_fs_uuid
 +
insmod chain
 +
search --fs-uuid --no-floppy --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 763A-9CB6
 +
chainloader /EFI/HP/boot/bootmgfw.efi
 +
}
  
=====Con Windows =====
+
menuentry "Apagar sistema" {
Partimos de la base de que la partición de windows es {{ic|sda3}}. Recuerde que es necesario señalar la partición reservada del sistema a la orden {{ic|set root}} y {{ic|chainloader}} , es decir, la que crea Windows durante la instalación, y que no es la partición en la que Windows en realidad reside. El ejemplo propuesto solo funciona si la partición reservada es {{ic|sda3}}.
+
echo "Apagando el sistema..."
 +
halt
 +
}
  
# (2) Windows XP
+
menuentry "Reiniciar sistema" {
menuentry "Windows XP" {
+
echo "Reiniciando el sistema..."
  set root="(hd0,3)"
+
reboot
  chainloader +1
+
}</nowiki>}}
}
+
  
Si el bootloader de Windows está en otro disco duro diferente que GRUB, puede que tenga que engañar a Windows haciéndole creer que reside en la primera unidad. Esto fue posible con el antiguo GRUB Legacy con {{ic|drivemap}}. Suponiendo que GRUB se encuentra en {{ic|hd0}} y Windows en  {{ic|hd2}}, debe agregar la siguiente línea después de {{ic|set root}}:
+
===== Entrada de menú para GNU/Línux =====
  
drivemap -s hd0 hd2
+
Suponiendo que la otra distribución está en la partición {{ic|sda2}}:
  
====Con Windows usando EasyBCD y NeoGRUB====
+
{{bc|<nowiki>menuentry "Otro Línux" {
 +
set root=(hd0,2)
 +
linux /boot/vmlinuz (añadir otras opciones aquí necesarias)
 +
initrd /boot/initrd.img (si el otro kérnel utiliza/necesita una)
 +
}</nowiki>}}
  
Puede que NeoGRUB no entienda el nuevo formato del menú de GRUB, por lo que será necesario efectuar la carga de GRUB, reemplazando el contenido de su {{ic|C:\NST\menu.lst}} con:
+
De otra forma, puede dejar que grub busque la partición correcto por la ''UUID'' o ''label'':
  
default 0
+
{{bc|<nowiki>menuentry "Otro Línux" {
timeout 1
+
        # suponiendo que la UUID es 763A-9CB6
 +
search --set=root --fs-uuid 763A-9CB6
  
title      Chainload into GRUB v2
+
        # buscar por label OTRO_LINUX (asegúrese de que la etiqueta de la partición no es ambigua)
root        (hd0,7)
+
        #search --set=root --label OTRO_LINUX
kernel      /boot/grub/i386-pc/core.img
+
  
===Configuración del aspecto ===
+
linux /boot/vmlinuz (añadir otras opciones aquí necesarias, por ejemplo: root=UUID=763A-9CB6)
 +
initrd /boot/initrd.img (si el otro kérnel utiliza/necesita una)
 +
}</nowiki>}}
  
En GRUB puede cambiar el aspecto del menú.
+
===== Entrada de menú para FreeBSD =====
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 este [[GRUB (Español)#Corregir el error de GRUB: «no suitable mode found»|apartado]]. La modalidad de vídeo establecida a continuación, se pasará al kernel a través de {{ic|gfxpayload}}; por lo tanto, esta solicitud asegurará que cada configuración del aspecto tenga efecto.
+
  
====Ajustar la resolución del framebuffer ====
+
Requiere que FreeBSD está instalado en una partición con UFS. Suponiendo que está instalado en {{ic|sda4}}:
  
GRUB permite ajustar el framebuffer tanto para él mismo como para el kernel. El antiguo parámetro {{ic|1=vga=}} está en desuso. El método recomendado es modificar {{ic|/etc/default/grub}} de la siguiente manera:
+
====== Cargar directamente el kérnel ======
  
 
{{bc|1=
 
{{bc|1=
GRUB_GFXMODE=1024x768x32
+
menuentry 'FreeBSD' {
GRUB_GFXPAYLOAD_LINUX=keep
+
insmod ufs2
 +
set root='hd0,gpt4,bsd1'
 +
## o 'hd0,msdos4,bsd1', si utiliza una tabla de particiones estilo IBM-PC (MS-DOS)
 +
kfreebsd /boot/kernel/kernel
 +
kfreebsd_loadenv /boot/device.hints
 +
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s4a
 +
set kFreeBSD.vfs.root.mountfrom.options=rw
 +
}
 
}}
 
}}
  
Para que los cambios tengan efecto, ejecute:
+
====== Cargar en cadena el registro de arranque embebido ======
  # grub-mkconfig -o /boot/grub/grub.cfg
+
  
La opción {{ic|gfxpayload}} se asegurará de que la resolución se mantendrá y pasará al kernel.
+
{{bc|1=
 +
menuentry 'FreeBSD' {
 +
insmod ufs2
 +
set root='hd0,gpt4,bsd1'
 +
chainloader +1
 +
}
 +
}}
  
{{Nota|
+
===== Entrada de menú para Windows XP =====
*Si este ejemplo no funciona, pruebe a sustituir{{ic|1=gfxmode="1024x768x32"}} con {{ic|1=vbemode="0x105"}}.
+
*Para una lista de todos las modalidades de vídeo disponibles es suficiente ejecutar la orden {{ic|hwinfo --framebuffer}} (hwinfo está disponible en [community], mientras que para el prompt de GRUB se utiliza la orden {{ic|vbeinfo}} (es necesario cargar el módulo vbe en primer lugar).}}
+
  
Si este método falla, la antigua opción {{ic|1=vga=}} sigue siendo válida. Añadimos {{ic|1=vga=}} a la opción {{ic|1=GRUB_CMDLINE_LINUX_DEFAULT}} en {{ic|/etc/default/grub}}. Por ejemplo: {{ic|1="GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vga=792"}} establece una resolución de {{ic|1024x768}}
+
Asumimos que la partición de Windows es {{ic|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 Windows está instalado. Este ejemplo funciona si la partición de reserva del sistema es {{ic|sda3}}.
  
Puede elegir entre las siguientes resoluciones: {{ic|640×480}}, {{ic|800×600}}, {{ic|1024×768}}, {{ic|1280×1024}}, {{ic|1600×1200}}, {{ic|1920×1200}}
+
{{bc|<nowiki># (2) Windows XP
 +
menuentry "Windows XP" {
 +
set root="(hd0,3)"
 +
chainloader +1
 +
}</nowiki>}}
  
====Introducir 915resolution ====
+
Si el gestor de arranque de Windows está activo en un disco duro completamente diferente a donde está instalado GRUB, puede ser necesario engañar a Windows haciéndole creer que se trata de la primera unidad del disco duro. Esto es posible con {{ic|drivemap}}. Suponiendo que GRUB está activo en {{ic|hd0}} y Windows en {{ic|hd2}}, es necesario añadir lo siguiente después de {{ic|set root}}:
  
Si está usando tarjeta de vídeo de Intel, puede ocurrir que ni {{ic|# hwinfo --framebuffer}} ni {{ic|vbeinfo}} muestre la resolución deseada. En este caso, puede utilizar este arreglo, para cambiar temporalmente la BIOS de la tarjeta de vídeo mediante la adición de la resolución requerida. Consulte la página [http://915resolution.mango-lang.org/ 915resolution].
+
{{bc|<nowiki>drivemap -s hd0 hd2</nowiki>}}
  
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:
+
===== Entrada de menú para Windows instalado en modo UEFI-GPT =====
  
{{hc|sh:grub> 915resolution -l|
+
{{Nota|Estas «menuentry» (''entradas'') solo funcionarán en el modo de inicio de UEFI y solo si el valor de bits de Windows coincide con el valor de bits de UEFI. Sin embarbo, esto '''NO FUNCIONA''' en grub(2) instalado en sistemas BIOS. Véase [[Windows_and_Arch_Dual_Boot#Windows_UEFI_vs_BIOS_limitations|esto]] y [[Windows_and_Arch_Dual_Boot#Bootloader_UEFI_vs_BIOS_limitations|esto]] para más información.}}
Intel 800/900 Series VBIOS Hack : version 0.5.3
+
[...]
+
'''Mode 30''' : 640x480, 8 bits/pixel
+
[...]
+
}}
+
  
La salida será similar a la siguiente:
+
{{bc|<nowiki>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</nowiki>}}
  
Intel 800/900 Series VBIOS Hack : version 0.5.3
+
donde {{ic|$hints_string}} y {{ic|$uuid}} se obtienen de las siguientes dos órdenes. Orden para obtener {{ic|$uuid}}:
...
+
Mode 30 : 640x480, 8 bits/pixel
+
...
+
  
La orden antes descrita sobreescribirá la modalidad {{ic|30}} con la resolución de {{ic|1440x900}}.
+
{{bc|<nowiki># grub-probe --target=fs_uuid $esp/EFI/Microsoft/Boot/bootmgfw.efi
{{hc|/etc/grub.d/00_header|
+
1ce5-7f28</nowiki>}}
[...]
+
'''915resolution 30 1440 900  # Inserted line'''
+
set gfxmode&#61;${GRUB_GFXMODE}
+
[...]
+
}}
+
  
Ahora tendrá que establecer el valor en {{ic|GRUB_GFXMODE}}, como se explicó anteriormente, reconstruir el archivo de configuración de GRUB y reiniciar para comprobar cómo han salido los cambios:
+
Orden para obtener {{ic|$hints_string}}:
  
# grub-mkconfig -o /boot/grub/grub.cfg
+
{{bc|<nowiki># grub-probe --target=hints_string $esp/EFI/Microsoft/Boot/bootmgfw.efi
  # reboot
+
  --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1</nowiki>}}
  
==== Imagen de fondo y fuentes bitmap====
+
Estas dos órdenes asumen que la ESP que utiliza Windows está montada en $esp. Puede haber casos diferentes en la ruta al archivo EFI de Windows, lo que afectaría al comienzo de Windows, y al resto.
  
GRUB es compatible con imágenes de fondo y fuentes de mapa de bits en el formato {{ic|pf2}}. la fuente unifont está incluida en el paquete {{Pkg|grub-common}} con el nombre {{ic|unicode.pf2}} o, solo para carácteres ASCII, con el nombre {{ic|ascii.pf2}}.
+
===== Entrada de menú para «Apagar» =====
  
Los formatos de imagen soportados incluyen tga, png e jpeg siempre que los respectivos módulos se cargan. La resolución máxima aplicable depende del hardware en uso.
+
{{bc|<nowiki>menuentry "Apagar sistema" {
 +
echo "Apagando el sistema..."
 +
halt
 +
}</nowiki>}}
  
Antes de continuar, siga las disposiciones indicadas en [[GRUB2_(Español)#Ajustar_la_resoluci.C3.B3n_del_framebuffer|este apartado]].
+
===== Entrada de menú para «Reiniciar» =====
  
A continuación, edite el archivo {{ic|/etc/default/grub}} como sigue:
+
{{bc|<nowiki>menuentry "Reiniciar sistema" {
 +
echo "Reiniciando el sistema..."
 +
reboot
 +
}</nowiki>}}
  
GRUB_BACKGROUND="/boot/grub/miaimmagine"
+
===== Entrada de menú para Windows instalado en modo BIOS-MBR =====
#GRUB_THEME="/path/to/gfxtheme"
+
GRUB_FONT="/path/to/font.pf2"
+
  
{{Nota | Si va a instalar GRUB en una partición separada, {{ic|/boot/grub/mi_imagen}} se convierte en {{ic|/grub/mi_imagen}}}}
+
{{Poor writing|This section does not fit into the others, should be slimmed down a bit.}}
  
Para aplicar los cambios a {{ic|grub.cfg}}, ejecute:
+
{{Nota|GRUB soporta el arranque de {{ic|bootmgr}} y ya no es necesario  cargar el sector de arranque de la partición para iniciar Windows en una configuración de BIOS-MBR.}}
  
# grub-mkconfig -o /boot/grub/grub.cfg
+
{{Advertencia|La '''system partition''', donde está {{ic|bootmgr}}, no es la partición «real» de Windows (normalmente C:). Al mostrar las particiones con la orden {{ic|blkid}}, dicha partición del sistema es la señalada como {{ic|LABEL&#61;"SYSTEM RESERVED"}} o {{ic|LABEL&#61;"SYSTEM"}} y cuenta con 100 a 200 MB de tamaño (como la partición boot de Arch). Véase [[Wikipedia:System partition and boot partition]] para obtener más información.}}
  
Si la inserción de la imagen se realiza correctamente, debería ver el mensaje {{ic|Found background image...}}, al ejecutar la orden anterior. Si no, quiere decir que la imagen no se ha incorporado en el archivo {{ic|grub.cfg}}.
+
A lo largo de esta sección, se asume que la partición de Windows es {{ic|/dev/sda1}}. Una partición diferente, cambiar todas las instancias de hd0,msdos1. En primer lugar, encontre el UUID del sistema de archivos NTFS de la SYSTEM PARTITION de Windows donde reside {{ic|bootmgr}} y sus archivo. Por ejemplo, si {{ic|bootmgr}} de Windows está presente en {{ic|/media/SYSTEM_RESERVED/bootmgr}}:
  
En este caso, compruebe que:
+
Para Windows Vista/7/8/8.1:
* La ruta y el nombre de la imagen en {{ic|/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 {{ic|/etc/default/grub}}.
+
* La orden de {{ic|grub-mkconfig}} se ha hecho para poner la información relativa en un segundo plano en el archivo {{ic|/boot/grub/grub.cfg}}.
+
  
====Temas====
+
# grub-probe --target=fs_uuid /media/SYSTEM_RESERVED/bootmgr
 +
69B235F6749E84CE
  
A continuación se muestra un ejemplo para la configuración propuesta con el tema Starfield, incluido en el paquete suministrado con Arch.
+
# grub-probe --target=hints_string /media/SYSTEM_RESERVED/bootmgr
 +
--hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1
  
Modifique {{ic|/etc/default/grub}}:
+
{{Nota|Para Windows XP, sustituya {{ic|bootmgr}} con {{ic|NTLDR}} en la órdenes anteriores. Y tenga en cuenta que puede no haber una partición SYSTEM_RESERVED separada; bastaría con analizar el archivo NTLDR en la partición de Windows.}}
  
GRUB_THEME="/boot/grub/themes/starfield/theme.txt"
+
A continuación, agregue el siguiente código en {{ic|/etc/grub.d/40_custom}} o {{ic|/boot/grub/custom.cfg}} y regenere {{ic|grub.cfg}} con {{ic|grub-mkconfig}} como se explicó anteriormente para iniciar Windows (XP, Vista, 7 o 8) instalado en modalidad BIOS-MBR:
  
Aplique los cambios:
+
{{Nota|Estas entradas solo funcionarán en la modalidad de arranque de Legacy BIOS. NO FUNCIONARÁN en grub(2) instalado en modalidad UEFI. Véase [[Windows_and_Arch_Dual_Boot#Windows_UEFI_vs_BIOS_limitations|esto]] y [[Windows_and_Arch_Dual_Boot#Bootloader_UEFI_vs_BIOS_limitations|esto]].}}
  
grub-mkconfig -o /boot/grub/grub.cfg
+
Para Windows Vista/7/8/8.1:
  
Si el tema se ha configurado correctamente, aparecerá en el terminal el mensaje {{ic|Found theme: /boot/grub/themes/starfield/theme.txt}}. La imagen de fondo, por lo general, no se visualiza cuando se utiliza un tema.
+
if [ "${grub_platform}" == "pc" ]; then
 +
  menuentry "Microsoft Windows Vista/7/8/8.1 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
  
====Colores del menú====
+
Para Windows XP:
  
Como sucedía con GRUB Legacy, se pueden cambiar los colores del menú de GRUB. La lista de colores disponibles se pueden encontrar [http://www.gnu.org/software/grub/manual/html_node/Theme-file-format.html#Theme-file-format aquí]. A continuación, un ejemplo:
+
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
  
Modifique {{ic|/etc/default/grub}} de la siguiente manera:
+
{{Nota|En algunos casos, al intalar GRUB antes de una instalación limpia de Windows 8, da como resultado que no arranque Windows, provocando un error con {{ic|\boot\bcd}} (código de error {{ic|0xc000000f}}). Se puede arreglar llamando a la consola de recuperación de Windows (cmd desde disco de instalación) y ejecutando:
  GRUB_COLOR_NORMAL="light-blue/black"
+
  x:\> "bootrec.exe /fixboot"  
  GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
+
  x:\> "bootrec.exe /RebuildBcd".
 +
'''No''' haga uso de {{ic|bootrec.exe /Fixmbr}} porque dejará GRUB al margen.}}
  
Para hacer efectivos los los cambios, ejecute:
+
El archivo {{ic|/etc/grub.d/40_custom}} se puede utilizar como una plantilla para crear {{ic|/etc/grub.d/nn_custom}}. Donde {{ic|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.
# grub-mkconfig -o /boot/grub/grub.cfg
+
  
====Menú oculto ====
+
{{Nota|{{ic|nn}} debe ser mayor que 06 para asegurarse de que los scripts necesarios se ejecutan primero.}}
  
Una de las características de GRUB es la capacidad de ocultar el menú y hacer que sea visible pulsando la tecla  {{ic|Esc}}, si es necesario. También puede decidir si se debe mostrar la cuenta atrás.
+
====Con Windows usando EasyBCD y NeoGRUB====
  
Modifique el archivo {{ic|/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:
+
{{Merge|NeoGRUB|New page has been created, so this section should be merged there.}}
+
GRUB_HIDDEN_TIMEOUT=5
+
GRUB_HIDDEN_TIMEOUT_QUIET=false
+
+
  
Y, luego, ejecute:
+
Puede que NeoGRUB de EasyBCD no entienda el nuevo formato del menú de GRUB, por lo que será necesario efectuar la carga de GRUB, reemplazando el contenido de su {{ic|C:\NST\menu.lst}} con:
# grub-mkconfig -o /boot/grub/grub.cfg
+
  
====Desactivar el framebuffer ====
+
default 0
 +
timeout 1
  
Si utiliza el controlador propietario de NVIDIA, puede que tenga que desactivar el framebuffer de GRUB, ya que podría interferir con el controlador.
+
title      Cargar en cadena con GRUB v2
 +
root        (hd0,7)
 +
kernel      /boot/grub/i386-pc/core.img
  
Para desactivarlo, edite {{ic|/etc/default/grub}} y descomente la siguiente línea:
+
Por último, [[#Generar el archivo de configuración principal|regenere el archivo principal de GRUB]].
  
GRUB_TERMINAL_OUTPUT=console
+
====parttool para mostrar/ocultar particiones====
  
A continuación, ejecute:
+
Si tiene instalado Windows 9x con el disco {{ic|C:\}} oculto, GRUB  dispone de las opciones {{ic|hide/unhide}} usando {{ic|parttool}}. Por ejemplo, para efectuar el arranque del tercer disco {{ic|C:\}} de tres sistema Windows 9x instalados, se inicia la consola y se escribe:
  
grub-mkconfig -o /boot/grub/grub.cfg
+
{{bc|1=
 +
parttool hd0,1 hidden+ boot-
 +
parttool hd0,2 hidden+ boot-
 +
parttool hd0,3 hidden- boot+
 +
set root=hd0,3
 +
chainloader +1
 +
boot
 +
}}
  
Otra opción, si desea conservar el framebuffer para GRUB, es revertir al modo de texto justo antes de iniciarse el kernel. Para conseguir esto, modifique la variable en {{ic|/etc/default/grub}}:
+
===LVM ===
GRUB_GFXPAYLOAD_LINUX=text
+
  
y reconstruya el archivo de configuración como se indicó antes.
+
Si utiliza [[LVM (Español)]] para {{ic|/boot}}, asegúrese de que el módulo {{ic|lvm}} se carga antes:
  
===Otras opciones ===
+
{{hc|/etc/default/grub|2=
====LVM ====
+
GRUB_PRELOAD_MODULES="lvm"
 +
}}
  
Si utiliza [[LVM]] para su {{ic|/boot}}, añada la siguiente línea antes de las diversas entradas:
+
y especifíque el parámetro del kérnel {{ic|root}}:
insmod lvm
+
y especifique su root en menuentry de este modo:
+
set root=lvm/''lvm_group_name''-''lvm_logical_boot_partition_name''
+
  
Ejemplo:
+
{{hc|/etc/default/grub|2=
{{bc|1=
+
GRUB_CMDLINE_LINUX_DEFAULT="root=lvm/''lvm_group_name''-''lvm_logical_boot_partition_name'' ..."
# (0) Arch Linux
+
menuentry "Arch Linux" {
+
insmod lvm
+
set root=(VolumeGroup-lv_boot)
+
# you can only set following two lines
+
linux /vmlinuz-linux root=/dev/mapper/VolumeGroup-root ro
+
initrd /initramfs-linux.img
+
}
+
 
}}
 
}}
  
====RAID ====
+
===RAID ===
  
 
GRUB permite tratar los volúmenes en una configuración RAID de una manera sencilla. Añadimos {{ic|insmod raid}} a {{ic|grub.cfg}} que hará referencia al volumen de forma nativa. Por ejemplo, {{ic|/dev/md0}} se convierte en:
 
GRUB permite tratar los volúmenes en una configuración RAID de una manera sencilla. Añadimos {{ic|insmod raid}} a {{ic|grub.cfg}} que hará referencia al volumen de forma nativa. Por ejemplo, {{ic|/dev/md0}} se convierte en:
Line 704: Line 573:
 
  set root=(md0,1)
 
  set root=(md0,1)
  
==== Nomenclatura permanente de dispositivos de bloque====
+
Para instalar GRUB cuando se utiliza RAID 1 como partición {{ic|/boot}} (o usando {{ic|/boot}} alojado en una partición root RAID1), en dispositivos con GPT ef02/'BIOS boot partition', basta ejecutar ''grub-install'' en ambas unidades, así:
 +
# grub-install --target=i386-pc --recheck --debug /dev/sda
 +
# grub-install --target=i386-pc --recheck --debug /dev/sdb
  
Un esquema de nomenclatura de [[Persistent block device naming|nombres persistentes para dispositivos de bloque]] es usar UUID, que son únicos y globales, para detectar particiones, en lugar de la «vieja» nomenclatura {{ic|/dev/sd*}}. Las ventajas de este método están tratadas en el artículo anteriormente enlazado.  
+
donde la matriz RAID1 que aloja {{ic|/boot}} se encuentra en {{ic|/dev/sda}} y {{ic|/dev/sdb}}.
  
La nomenclatura persistente a través de las UUID del sistema de archivos se utiliza por defecto en GRUB.
+
=== Múltiples entradas ===
  
{{Nota|El archivo {{ic|/boot/grub.cfg}} necesita regenerarse con las UUID nuevas en {{ic|/etc/default/grub}} cada vez que se redimensiona o se formatea una partición. Recuerde esto al modificar las particiones y sistemas de archivos con un CD-Live.}}
+
Para obtener consejos sobre la gestión de múltiples entradas de GRUB, por ejemplo cuando se utiliza kernels tanto {{Pkg|linux}} como {{Pkg|linux-lts}}, vea [[GRUB/Tips and tricks#Multiple entries]].
  
Cuando se usan las UUID son controladas por una opción en {{ic|/etc/default/grub}}:
+
=== Encriptación ===
  
{{bc|1=# GRUB_DISABLE_LINUX_UUID=true}}
+
==== Partición raíz ====
  
En cualquier caso, no se olvide de aplicar los cambios:
+
Para cifrar el sistema de archivos root, es necesario editar {{ic|/etc/default/grub}} con los parámetros necesarios para desbloquear el sistema de archivos cifrados durante el arranque. Por ejemplo, si el hook {{ic|encrypt}} es usado en [[mkinitcpio (Español)]], el parámetro {{ic|cryptdevice}} debe ser añadido a la orden {{ic|GRUB_CMDLINE_LINUX<nowiki>=</nowiki>""}}. En el siguiente ejemplo, la partición {{ic|sda2}} se ha cifrado como {{ic|/dev/mapper/cryptroot}}:
{{bc|# grub-mkconfig -o /boot/grub/grub.cfg}}
+
  
====Utilizar etiquetas====
+
{{hc|/etc/default/grub|2=
 
+
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda2:cryptroot"
Puede utilizar las etiquetas (cadenas que identifican particiones de una manera legible por el usuario), usando la opción {{ic|--label}} con la orden {{ic|search}}. En primer lugar, coloque una etiqueta a las particiones:
+
 
+
# tune2fs -L a <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
+
}
+
 
+
====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) o más sistemas operativos. Modifique {{ic|/etc/default/grub}} y cambie el valor de {{ic|GRUB_DEFAULT}}:
+
 
+
GRUB_DEFAULT=saved
+
 
+
Esto permitirá que GRUB arranque el sistema operativo guardado. Para activar la recuperación de la entrada seleccionada, añada la siguiente línea a {{ic|/etc/default/grub}}:
+
 
+
GRUB_SAVEDEFAULT=true
+
 
+
{{Nota|La entradas del menú añadidas manualmente a {{ic|/etc/grub.d/40_custom}} o {{ic|/boot/grub/custom.cfg}} (para Windows, por ejemplo) necesitan ir acompañadas de la opción {{ic|savedefault}}. Recuerde regenerar ([[#Crear_un_archivo_de_configuración]]) el archivo de configuración.}}
+
 
+
==== Cambiar la entrada por defecto del menú ====
+
 
+
Para cambiar la entrada seleccionada por defecto, edite {{ic|/etc/default/grub}} y cambie el valor de {{ic|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 primera entrada, 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'
+
 
+
{{Nota|Recuerde regenerar ([[#Crear_un_archivo_de_configuración]]) el archivo de configuración.}}
+
 
+
====Seguridad ====
+
 
+
Si desea hacer GRUB más seguro, de modo que nadie pueda cambiar los parámetros de arranque o utilizar la línea de órdenes, puede agregar un nombre de usuario y contraseña para los archivos de configuración de GRUB. Para ello, ejecute {{ic|grub-mkpasswd_pbkdf2}}. Es necesario introducir una contraseña y confirmarla:
+
 
+
{{hc|grub-mkpasswd-pbkdf2|
+
[...]
+
Your PBKDF2 is grub.pbkdf2.sha512.10000.C8ABD3E93C4DFC83138B0C7A3D719BC650E6234310DA069E6FDB0DD4156313DA3D0D9BFFC2846C21D5A2DDA515114CF6378F8A064C94198D0618E70D23717E82.509BFA8A4217EAD0B33C87432524C0B6B64B34FBAD22D3E6E6874D9B101996C5F98AB1746FE7C7199147ECF4ABD8661C222EEEDB7D14A843261FFF2C07B1269A
+
 
}}
 
}}
  
Después, añada las siguientes cadenas a {{ic|/etc/grub.d/0_header}}:
+
Una vez que {{ic|/etc/default/grub}} ha sido enmendado, entonces será necesario [[#Generar el archivo de configuración principal]].
{{hc|/etc/grub.d/00_header|
+
cat << EOF
+
  
set superusers<nowiki>=</nowiki>"'''username'''"
+
Para más información sobre la configuración del gestor de arranque para los dispositivos cifrados, ver [[Dm-crypt/System configuration#Boot loader]].
password_pbkdf2 '''username''' '''<password>'''
+
  
EOF
+
{{Sugerencia|Si está actualizando la configuración GRUB Legacy a GRUB, compruebe {{ic|/boot/grub/menu.lst.pacsave}} para la correcta identificación del dispositivo/etiqueta a añadir. Búsquelos después del texto {{ic|kernel /vmlinuz-linux}}.}}
}}
+
  
Donde <password> corresponde a la cadena generada por {{ic|grub-mkpasswd_pbkdf2}}.
+
==== Partición de arranque ====
  
Hay que regenerar el archivo de configuración. La línea de órdenes y los parámetros de arranque de grub ahora estarán protegidos.
+
El [https://dada.cs.washington.edu/doc/grub2-tools-2.02/grub.html#Simple-configuration parámetro] {{ic|GRUB_ENABLE_CRYPTODISK}} de GRUB se puede utilizar para permitir a GRUB que pida una contraseña para abrir un dispositivo de bloque [[LUKS]] para leer su configuración y cargar cualquier [[initramfs]] y [[kernel]] desde él. Esta opción trata de resolver el problema de tener una [[Dm-crypt/Specialties#Securing_the_unencrypted_boot_partition|partición de arranque sin cifrar]].
  
Los ajustes anteriores se pueden hacer menos restrictivos y personalizar mediante la adición de más usuarios, como se explica en el capítulo sobre «Seguridad» del [https://www.gnu.org/software/grub/manual/grub.html#Security manual de GRUB].
+
La función se activa añadiendo:
 +
GRUB_ENABLE_CRYPTODISK=y
 +
para {{ic|/etc/default/grub}}. Después de esta configuración es necesario ejecutar ''grub-mkconfig'' para [[#Generar el archivo de configuración principal]] mientras la partición {{ic|/boot}} cifrada está montada.
 +
{{Nota|{{ic|1=GRUB_ENABLE_CRYPTODISK=1}} [https://savannah.gnu.org/bugs/?41524 no funcionará] en oposición a la solicitud mostrada en GRUB 2.02-beta2.}}
  
====Partición root cifrada ====
+
Dependiendo de la configuración de su sistema, tenga en cuenta lo siguiente:
  
Para asegurarse de que GRUB pasa automáticamente los parámetros al kernel necesarios para cifrar la partición root, agregue {{ic|1=cryptdevice=/dev/device:etichetta}} a {{ic|GRUB_CMDLINE_LINUX}} en {{ic|/etc/default/grub}}.
+
* Para que la caraterística funcione no es necesario que {{ic|/boot}} se encuentre en una partición separada, también puede permanecer dentro del árbol de directorios {{ic|/}} del sistema. Sin embargo, en ambos casos se requiere la introducción de dos contraseñas para arrancar. La primera para GRUB, para desbloquear el punto de arranque {{ic|/boot}} en la fase temprana del arranque, la segunda para desbloquear el propio sistema de archivos raíz como se describe en [[#Partición raíz]].
  
{{Sugerencia|Si se ha efectuado la actualización desde una configuración GRUB Legacy funcional, compruebe {{ic|/boot/grub/menu.lst.pacsave}} para la correcta identificación del dispositivo/etiqueta a añadir. Puede buscarlas después de la línea {{ic|kernel /vmlinuz-linux}}.}}
+
* Con el fin de realizar las actualizaciones del sistema que afecten al punto de montaje {{ic|/boot}}, hay que asegurarse de que {{ic|/boot}} cifrado esté desbloqueado para volver a montarlo para el initramfs y el kérnel durante el arranque. Con una partición {{ic|/boot}} separada, esto se puede lograr añadiendo una entrada a {{ic|/etc/crypttab}} con un archivo de claves. Ver [[Dm-crypt/System configuration#crypttab]].
  
Un ejemplo con root mapeado en {{ic|/dev/mapper/root}}:
+
* Si utiliza una distribución de teclado especial, una instalación predeterminada de GRUB no lo sabrá. Esto es relevante para saber cómo introducir la contraseña para desbloquear el dispositivo de bloque de LUKS.
  
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda2:root"
+
==Utilizar la shell de órdenes==
  
También, desactive el uso de la UUID para el sistema de archivos root:
+
Dado que el MBR es demasiado pequeño para contener todas los módulos de GRUB, solo el menú y los comanos básicos residen allí. La mayor parte de la funcionalidad de GRUB está contenida en los módulos ubicados en {{ic|/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_DISABLE_LINUX_UUID=true
+
GRUB ofrece diferentes tipos de shell. Si tiene problemas para leer el menú, pero el gestor de arranque es todavía capaz de encontrar el disco donde GRUB reside, es probable que lance una shell «normal»:
  
A continuación, tiene que volver a generar el archivo de configuración de grub.
+
sh:grub>
  
==== Efectuar el arranque de una entrada no predeterminada por una sola vez ====
+
En caso de problemas más serios (GRUB no puede encontrar los archivos necesarios), puede aparecer la shell de emergencia:
  
La orden {{ic|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 el sistema reinicie, arrancará el sistema operativo indicado. Lo más importante es que GRUB vuelve a cargar la entrada por defecto para todos los sucesivos arranques. Por tanto, no es necesario cambiar el archivo de configuración o seleccionar una entrada en el menú de GRUB.
+
grub rescue>
  
{{Nota|Esta operación requiere la opción {{ic|1=GRUB_DEFAULT=saved}} en {{ic|/etc/default/grub}} (y después regenerar el archivo {{ic|grub.cfg}}) o, en el caso de un archivo {{ic|grub.cfg}} configurado manualmente, la línea {{ic|1=set default="${saved_entry}"}}.}}
+
La shell de emergencia es una versión reducida de la normal, y ofrece, por lo tanto, un número reducido de funcionalidades. Trate de cargar el módulo {{ic|normal}}, e iniciar la shell clásica:
  
==== Ocultar GRUB y hacerlo aparecer mediante la tecla shift ====
+
{{bc|1=
 
+
grub rescue> set prefix=(hdX,Y)/boot/grub
Para reducir al mínimo el tiempo de arranque es posible ocultar el menú de GRUB durante el tiempo de espera, lo que permite a GRUB ocultar el menú, haciéndolo aparecer unicamente cuando se presione la tecla {{ic|Shift}} durante la fase de inicio de GRUB.
+
grub rescue> insmod (hdX,Y)/boot/grub/i386-pc/normal.mod
 
+
rescue:grub> normal
Para obtener este comportamiento, añada lo que sigue al archivo {{ic|/etc/default/grub}}:
+
 
+
  GRUB_FORCE_HIDDEN_MENU="true"
+
 
+
Y, a continuación, se debe crear el siguiente archivo:
+
 
+
{{hc|/etc/grub.d/31_hold_shift|
+
<nowiki>
+
#! /bin/sh
+
set -e
+
 
+
# grub-mkconfig helper script.
+
# 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
+
}
+
 
+
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
+
</nowiki>
+
 
}}
 
}}
  
===Iniciar una imagen ISO directamente desde GRUB ===
+
===Soporte para Pager===
  
Modifique los archivos {{ic|/etc/grub.d/40_custom}} o {{ic|/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 la conocida orden {{ic|grub-mkconfig -o /boot/grub/grub.cfg}} (hecho como root).
+
GRUB apoya pager (paginador o localizador) que permite la lectura de las órdenes que proveen ''«salidas»'' extensas (como la orden {{ic|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:
  
====ISO de Arch Linux ====
+
  sh:grub> set pager=1
  
{{Nota|El ejemplo parte del supuesto de que la ISO se encuentra en {{ic|/archives}} en {{ic|hd0,6}}.}}
+
=== Usar el entorno de la shell de órdenes para arrancar distintos sistemas operativos ===
{{Sugerencia|Para unidades de almacenamiento, utilizaremos algo como {{ic|(hd1,$partition)}} o como {{ic|/dev/sdb'''Y'''}} para definir el parámetro {{ic|img_dev}} o [[Persistent_block_device_naming|un nombre permanente para los dispositivos de bloques]], por ejemplo {{ic|img_dev&#61;/dev/disk/by-label/CORSAIR}}.}}
+
  
'''Ejemplo usando x86_64'''
+
  grub>
  menuentry "Archlinux-2013.01.04-dual.iso" --class iso {
+
  set isofile="/archives/archlinux-2013.01.04-dual.iso"
+
  loopback loop (hd0,6)$isofile
+
  linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201301 img_dev=/dev/sda6 img_loop=$isofile earlymodules=loop
+
  initrd (loop)/arch/boot/x86_64/archiso.img
+
}
+
  
'''Ejemplo usando i686'''
+
El entorno de la shell de órdenes de GRUB puede utilizarse para arrancar sistemas operativos.
menuentry "Archlinux-2013.01.04-dual.iso" --class iso {
+
Un escenario común puede iniciar Windows/Línux localizado en una unidad/partición a través de '''chainloading'''.
  set isofile="/archives/archlinux-2013.01.04-dual.iso"
+
  loopback loop (hd0,6)$isofile
+
  linux (loop)/arch/boot/i686/vmlinuz archisolabel=ARCH_201301 img_dev=/dev/sda6 img_loop=$isofile earlymodules=loop
+
  initrd (loop)/arch/boot/i686/archiso.img
+
}
+
  
====ISO de Ubuntu  ====
+
''Chainloading'' significa cargar otro sistema de arranque desde el vigente, es decir, cargar en cadena.
  
{{Nota|El ejemplo presume que la iso se encuentra en la carpeta {{ic|/archives}} de {{ic|hd0,6}}. Será necesario modificar la ubicación y el disco duro/partición de las líneas siguientes para adaptarlos a su caso particular.}}
+
El otro cargador de arranque puede estar incrustado en el principio del disco (MBR) o en el principio de una partición.
  
menuentry "ubuntu-13.04-desktop-amd64.iso" {
+
==== Cargar una partition ====
  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 root=(hdX,Y)
  set isofile="/archives/ubuntu-12.04-desktop-amd64.iso"
+
chainloader +1
  loopback loop (hd0,6)/$isofile
+
  boot
  linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet noeject noprompt splash --
+
  initrd (loop)/casper/initrd.lz
+
  }
+
  
==== Otras ISO ====
+
X=0,1,2...
 +
Y=1,2,3...
  
Otras configuraciones funcionales están disponibles en [http://askubuntu.com/questions/141940/how-to-boot-live-iso-images link Source].
+
Por ejemplo, para cargar Windows localizado en la primera particion del primer disco duro,
  
==Utilizar la shell==
+
set root=(hd0,1)
 +
chainloader +1
 +
boot
  
Dado que el MBR es demasiado pequeño para contener todas los módulos de GRUB, solo el menú y los comanos básicos residen allí. La mayor parte de la funcionalidad de GRUB está contenida en los módulos ubicados en {{ic|/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ú.
+
Del mismo modo, puede ser cargado GRUB instalado en una partición.
  
GRUB ofrece diferentes tipos de shell. Si tiene problemas para leer el menú, pero el gestor de arranque es todavía capaz de encontrar el disco donde GRUB reside, es probable que lance una shell «normal»:
+
==== Cargar un disco/unidad ====
  
  sh:grub>
+
  set root=hdX
 +
chainloader +1
 +
boot
  
En caso de problemas más serios (GRUB no puede encontrar los archivos necesarios), puede aparecer la shell de emergencia:
+
==== Cargar en cadena Windows/Línux instalados en modalidad UEFI  ====
  
  grub rescue>
+
  insmod ntfs
 +
set root=(hd0,gpt4)
 +
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
 +
boot
  
La shell de emergencia es una versión reducida de la normal, y ofrece, por lo tanto, un número reducido de funcionalidades. Trate de cargar el módulo {{ic|normal}}, e iniciar la shell clásica:
+
''insmod ntfs'' se utiliza para cargar el módulo del sistema de archivos NTFS para cargar Windows.
 +
(hd0,gpt4) o /dev/sda4 es la EFI System Partition (ESP).
 +
La entrada en la línea ''chainloader'' especifica la ruta del archivo .efi para ser cargado.
  
{{bc|1=
+
==== Carga normal ====
grub rescue> set prefix=(hdX,Y)/boot/grub
+
grub rescue> insmod (hdX,Y)/boot/grub/normal.mod
+
rescue:grub> normal
+
}}
+
  
===Soporte para Pager===
+
Véanse los ejemplos mostrados en el apartado de [[#Utilizar la consola de emergencia]]
 
+
GRUB apoya pager (paginador o localizador) que permite la lectura de las órdenes que proveen ''«salidas»'' extensas (como la orden {{ic|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
+
 
+
==Herramientas GUI de configuración==
+
 
+
Es posible obtener estas herramientas gráficas instalando los siguientes paquetes:
+
* {{App|grub-customizer|Para personalizar el gestor de arranque (GRUB o BURG)|https://launchpad.net/grub-customizer|{{AUR|grub-customizer}}}}
+
* {{App|grub2-editor|Módulo de control de KDE4 para configurar el gestor de arrranque GRUB|http://kde-apps.org/content/show.php?content&#61;139643|{{AUR|grub2-editor}}}}
+
* {{App|kcm-grub2|Este módulo Kcm permite gestionar los ajustes más comunes de GRUB|http://kde-apps.org/content/show.php?content&#61;137886|{{AUR|kcm-grub2}}}}
+
* {{App|startupmanager|Aplicación gráfica para cambiar la configuración de GRUB Legacy, GRUB, Usplash y Splashy|http://sourceforge.net/projects/startup-manager/|{{AUR|startupmanager}}}}
+
 
+
==parttool para mostrar/ocultar particiones==
+
 
+
Si tiene instalado Windows 9x con el disco {{ic|C:\}} oculto, GRUB  dispone de las opciones {{ic|hide/unhide}} usando {{ic|parttool}}. Por ejemplo, para efectuar el arranque del tercer disco {{ic|C:\}} de tres sistema Windows 9x instalados, se inicia la consola y:
+
 
+
{{bc|1=
+
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==
+
===Utilizar la consola de emergencia===
  
Véase primero [[#Utilizar la shell|cómo utilizar la shell]] más arriba. Si no es capaz de iniciar la shell estándar, una posible solución es arrancar un LiveCD o algún otro disco de reparación para corregir los errores de configuración y reinstalar GRUB. Sin embargo, un disco de recuperación no siempre es posible (ni necesario), y la consola de emergencia es sorprendentemente robusta.
+
Véase primero [[#Utilizar la shell de órdenes]] más arriba. Si no es capaz de iniciar la shell estándar, una posible solución es arrancar un LiveCD o alguna otra distribución a modo de recuperación para corregir los errores de configuración y reinstalar GRUB. Sin embargo, un disco de recuperación no siempre es posible (ni necesario), y la consola de emergencia es sorprendentemente robusta.
  
Las órdenes disponibles en esta modalidad incluyen {{ic|insmod}}, {{ic|ls}}, {{ic|set}} e {{ic|unset}}. Este ejemplo utiliza {{ic|set}} y {{ic|insmod}}. {{ic|set}} cambia el valor de las variables, mientras que {{ic|insmod}} añade nuevos módulos para ampliar la funcionalidad básica.
+
Las órdenes disponibles en esta modalidad incluyen {{ic|insmod}}, {{ic|ls}}, {{ic|set}} y {{ic|unset}}. Este ejemplo utiliza {{ic|set}} y {{ic|insmod}}. {{ic|set}} cambia el valor de las variables, mientras que {{ic|insmod}} añade nuevos módulos para ampliar la funcionalidad básica.
  
Antes de comenzar, es necesario que conozca la ubicación de la partición de {{ic|/boot}} (ya esté separada o en un subdirectorio de la partición de root):
+
Antes de comenzar, es necesario que conozca la ubicación de {{ic|/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
 
  grub rescue> set prefix=(hdX,Y)/boot/grub
Line 1,029: Line 706:
 
  grub rescue> insmod (hdX,Y)/boot/grub/linux.mod
 
  grub rescue> insmod (hdX,Y)/boot/grub/linux.mod
  
{{Nota|Si está usando una partición de arranque separada, se omite {{ic|/boot}} en la ruta. (Ejemplo: {{ic|1=set prefix=(hdX,Y)/grub}} y {{ic|1=insmod (hdX,Y)/grub/linux.mod}}).}}
+
{{Nota|Si está usando una partición de arranque separada, se omite {{ic|/boot}} en la ruta. (por ejemplo, {{ic|1=set prefix=(hdX,Y)/grub}}).}}
  
 
Esto proporciona órdenes de {{ic|linux}} y {{ic|initrd}}, con las que debe estar familiarizado (véase [[#Configuración]]).
 
Esto proporciona órdenes de {{ic|linux}} y {{ic|initrd}}, con las que debe estar familiarizado (véase [[#Configuración]]).
Line 1,044: Line 721:
 
  initrd /initramfs-linux.img
 
  initrd /initramfs-linux.img
 
  boot
 
  boot
 +
 +
{{Nota|Si se experimentó {{ic|error: premature end of file /YOUR_KERNEL_NAME}} durante la ejecución de la orden {{ic|linux}}, pruebe usuando {{ic|linux16}} en su lugar.}}
  
 
Tras el lanzamiento de una instalación correcta de Arch Linux, puede arreglar {{ic|grub.cfg}} y proceder a la reinstalación de GRUB.
 
Tras el lanzamiento de una instalación correcta de Arch Linux, puede arreglar {{ic|grub.cfg}} y proceder a la reinstalación de GRUB.
  
Para reinstalar GRUB en el MBR, cambie {{ic|/dev/sda}} de acuerdo a sus propias necesidades. Consulte el apartado sobre [[#Instalación|instalación del gestor de arranque]] para más detalles.
+
Para reinstalar GRUB y arreglar completamente el problema, cambie {{ic|/dev/sda}} de acuerdo a sus propias necesidades. Consulte el apartado sobre [[#Instalación]] para más detalles.
 
+
== Combinar UUID y scripting==
+
 
+
Si desea utilizar la asignación de UUID para superar los mapeados poco fiables de los dispositivos  realizadas por la BIOS, o si está teniendo dificultades con la sintaxis de GRUB, aquí hay un ejemplo que utiliza las UUID, y un pequeño script para GRUB para que apunte a las particiones correspondientes. Todo lo que uno debe hacer, es sustituir el ejemplo con las UUID correctas para su sistema (el ejemplo se aplica a sistemas con una partición de arranque 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
+
   
+
          # $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
+
  }
+
  
 
==Solución de problemas ==
 
==Solución de problemas ==
  
=== Algunas Bios de Intel no efectúan el arranque de la partición GPT ===
+
=== 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 no habitual en las configuraciones basadas en GPT, que causan que la partición GPT no se inicie.
+
==== MBR ====
 +
 
 +
Algunas BIOS de Intel requieren, al menos, una partición MBR marcada como booteable en el arranque, cosa no habitual 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 MBR una de las particiones GPT (preferiblemente la partición de 1007KiB que ya se ha creado para GRUB). Esto se puede lograr, utilizando fdisk, mediante las siguientes órdenes:  Inicie fdisk sobre el disco donde va a realizar la instalación, por ejemplo {{ic|fdisk /dev/sda}}, presione {{ic|a}} y seleccione la partición que desea marcar como booteable (seguramente #1) pulsando el número correspondiente, para terminar pulse {{ic|w}} para escribir los cambios en el MBR.
 
Es posible solucionar el problema mediante el uso de (por ejemplo) fdisk para marcar como bootable en el MBR una de las particiones GPT (preferiblemente la partición de 1007KiB que ya se ha creado para GRUB). Esto se puede lograr, utilizando fdisk, mediante las siguientes órdenes:  Inicie fdisk sobre el disco donde va a realizar la instalación, por ejemplo {{ic|fdisk /dev/sda}}, presione {{ic|a}} y seleccione la partición que desea marcar como booteable (seguramente #1) pulsando el número correspondiente, para terminar pulse {{ic|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 {{ic|fdisk}} o similar, no se puede hacer con GParted o equivalentes, ya que estos últimos no establecen el indicador de booteable en el MBR.}}
+
{{Nota|Debemos tener en cuenta que para marcar como booteable una partición hay que hacerlo con la utilidad {{ic|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 [http://www.rodsbooks.com/gdisk/bios.html esto]
 
Para más información consulte [http://www.rodsbooks.com/gdisk/bios.html esto]
  
=== Activar mensajes de depuración en GRUB ===
+
==== Ruta EFI ====
 +
 
 +
Algunos firmware UEFI requieren un archivo de arranque en una ubicación conocida antes de poder mostrar las entradas de arranque UEFI NVRAM. Si este es el caso, {{ic|grub-install}} indicará a {{ic|efibootmgr}} que ha añadido una entrada para arrancar GRUB, sin embargo, la entrada no se mostrará en el selector VisualBIOS para el esquema del orden de arranque. La solución es colocar un archivo en uno de los lugares conocidos. Suponiendo que la partición EFI es en {{ic|/boot/efi/}}, la siguiente orden solucionará el problema:
 +
 
 +
mkdir /boot/efi/EFI/boot
 +
cp /boot/efi/EFI/grub/grubx64.efi /boot/efi/EFI/boot/bootx64.efi
 +
 
 +
Esta solución funcionó para una placa base Intel DH87MC con firmware fechado en enero de 2014.
 +
 
 +
=== Activar mensajes de depuración de errores en GRUB ===
 +
 
 +
{{Nota|Este cambio se sobrescribe al [[#Generar el archivo de configuración principal]].}}
 +
 
 
Añada:
 
Añada:
 
  set pager=1
 
  set pager=1
Line 1,103: Line 768:
 
  Booting however
 
  Booting however
  
A continuación, se debe iniciar el terminal gráfico GRUB ({{ic|gfxterm}}), utilizando un modo de vídeo adecuado ({{ic|gfxmode}}). Este se transmite de GRUB al kernel de Linux usando la opción {{ic|gfxpayload}}.
+
A continuación, se debe iniciar el terminal gráfico GRUB ({{ic|gfxterm}}), utilizando un modo de vídeo adecuado ({{ic|gfxmode}}). Este se transmite de GRUB al kérnel de Línux usando la opción {{ic|gfxpayload}}.
En sistemas UEFI, si la modalidad de video de GRUB no está inicializada, se mostrarán los mensajes de arranque del kernel (al menos hasta la activación de KMS).
+
En sistemas UEFI, si la modalidad de video de GRUB no está inicializada, se mostrarán los mensajes de arranque del kérnel (al menos hasta la activación de KMS).
  
Ahora, copie {{ic|/usr/share/grub/unicode.pf2}} en {{ic|1=${GRUB2_PREFIX_DIR}}} ({{ic|/boot/grub}} de los sistema BIOS y UEFI. Si GRUB UEFI se instala con la opción {{ic|--boot-directory}} habilitada, entonces la ruta es {{ic|/boot/efi/EFI/grub}}).
+
Ahora, copie {{ic|/usr/share/grub/unicode.pf2}} en {{ic|1=${GRUB2_PREFIX_DIR} }} ({{ic|/boot/grub}} de los sistema BIOS y UEFI). Si GRUB UEFI se instala con la opción {{ic|--boot-directory}} activada, entonces la ruta es {{ic|$esp/EFI/grub}}):
  
 
  # cp /usr/share/grub/unicode.pf2 ${GRUB2_PREFIX_DIR}
 
  # cp /usr/share/grub/unicode.pf2 ${GRUB2_PREFIX_DIR}
  
Si el archivo {{ic|/usr/share/grub/unicode.pf2}} no existe, instale el paquete {{Pkg|bdf-unifont}} y proceda a la creación y copia del mismo en {{ic|1=${GRUB2_PREFIX_DIR}}}.
+
Si el archivo {{ic|/usr/share/grub/unicode.pf2}} no existe, instale el paquete {{Pkg|bdf-unifont}} y proceda a la creación y copia del mismo en {{ic|1=${GRUB2_PREFIX_DIR} }}.
  
 
  # grub-mkfont -o unicode.pf2 /usr/share/fonts/misc/unifont.bdf
 
  # grub-mkfont -o unicode.pf2 /usr/share/fonts/misc/unifont.bdf
  
En el archivo {{ic|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 periódicamente, sin que el sistema se bloquee:
+
En el archivo {{ic|grub.cfg}}, agregue las líneas siguientes para permitir a GRUB que pase correctamente la modalidad de vídeo al kérnel, de lo contrario obtendrá una pantalla en negro, aunque el arranque se haga con normalidad, sin que el sistema se bloquee:
  
 
Sistemas BIOS:
 
Sistemas BIOS:
Line 1,137: Line 802:
 
  fi
 
  fi
  
Como puede ver, para que {{ic|gfxterm}} funcione correctamente, la fuente {{ic|unicode.pf2}} debe existir en {{ic|1=${GRUB2_PREFIX_DIR}}}.
+
Como puede ver, para que {{ic|gfxterm}} funcione correctamente, la fuente {{ic|unicode.pf2}} debe existir en {{ic|1=${GRUB2_PREFIX_DIR} }}.
  
 
===Mensaje de error msdos-style===
 
===Mensaje de error msdos-style===
Line 1,150: Line 815:
 
También puede ocurrir cuando la partición comienza justo después del MBR (bloque 63), sin dejar un espacio de alrededor de 1 MB (2048 bloques) antes de la primera partición. Véase [[#Instrucciones específicas para Master Boot Record (MBR)]]
 
También puede ocurrir cuando la partición comienza justo después del MBR (bloque 63), sin dejar un espacio de alrededor de 1 MB (2048 bloques) antes de la primera partición. Véase [[#Instrucciones específicas para Master Boot Record (MBR)]]
  
===GRUB UEFI vuelve a la shell===
+
=== UEFI ===
  
Si GRUB se carga, pero vuelve a regresar a la shell, sin arrojar error, el archivo  {{ic|grub.cfg}} pueden estar en una posición incorrecta o no existir en absoluto. Este problema puede producirse si GRUB UEFI se ha instalado con la opción {{ic|--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 {{ic|grubx64.efi}}).
+
==== Errores comunes de instalación ====
  
=== GRUB UEFI no se carga ===
+
* Si tiene un problema cuando se ejecuta grub-install con sysfs o procfs y le avisa que debe ejecutar {{ic|modprobe efivars}}, pruebe [[Unified Extensible Firmware Interface (Español)#Variables de UEFI]].
 +
* Sin las opciones {{ic|--target}} o {{ic|--directory}}, no se puede determinar en qué firmware se instalará. En tales casos, {{ic|grub-install}} advertirá que {{ic|source_dir does not exist. Please specify --target or --directory}}.
 +
* Si después de ejecutar grub-install le dice que la partición no se ve como una partición EFI, entonces es muy probable que la partición no esté formateada con {{ic|Fat32}}.
 +
 
 +
==== Salta la shell de recate ====
 +
 
 +
Si GRUB carga, pero le deja en la consola de rescate sin errores, puede ser debido a que falte o esté fuera de lugar el archivo {{ic|grub.cfg}}. Esto sucederá si GRUB UEFI se instaló con {{ic|--boot-directory}} y {{ic|grub.cfg}} no se encuentra o si el número de la partición donde reside la partición de arranque ha cambiado (que está codificada en el archivo {{ic|grubx64.efi}}).
 +
 
 +
==== GRUB UEFI no se carga ====
  
 
He aquí un ejemplo de EFI funcional:
 
He aquí un ejemplo de EFI funcional:
Line 1,167: Line 840:
 
}}
 
}}
  
Si la pantalla deviene en negro durante unos segundos y GRUB pasa a la siguiente opción del arranque, como se describe [https://bbs.archlinux.org/viewtopic.php?pid=981560#p981560 en este post], mover GRUB a la partición raíz podría ayudar. La opción de arranque debería ser eliminada y recreada después de la operación. El campo relativo a grub debería ahora ser similar a esto:
+
Si la pantalla deviene en negro durante unos segundos y GRUB pasa a la siguiente opción del arranque, como se describe [https://bbs.archlinux.org/viewtopic.php?pid=981560#p981560 en este post], mover GRUB a la partición raíz podría ayudar. La opción de arranque debería ser eliminada y regenerada después de la operación. El campo relativo a grub debería ahora ser similar a esto:
  
 
   Boot0000* Grub HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\grub.efi)
 
   Boot0000* Grub HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\grub.efi)
Line 1,173: Line 846:
 
===Invalid signature===
 
===Invalid signature===
  
Si recibe el error ''«invalid signature»'' al intentar iniciar Windows, por ejemplo, si se ha alterado la tabla de particiones después de agregar otras particiones o discos duros, trate de eliminar la configuración de los dispositivos de GRUB y deje que la regenere él mismo:
+
Si recibe el error ''«invalid signature»'' al intentar iniciar Windows, por ejemplo, si se ha alterado la tabla de particiones después de agregar otras particiones o discos duros, trate de eliminar la configuración de GRUB sobre los dispositivos y deje que la regenere él mismo:
  
 
  # mv /boot/grub/device.map /boot/grub/device.map-old
 
  # mv /boot/grub/device.map /boot/grub/device.map-old
Line 1,181: Line 854:
  
 
=== Bloqueos al arrancar ===
 
=== 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, prueble eliminado {{ic|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
+
Si el arranque se bloquea sin ningún mensaje de error, después de que GRUB cargue el kérnel y el ramdisk inicial, pruebe eliminando {{ic|add_efi_memmap}} de los parámetros del kérnel.
  
* Restaure la copia de seguridad de GRUB Legacy en {{ic|/boot}}:
+
=== Arch no es detectado por otros sistemas operativos===
  
# cp -af /boot/grub-legacy /boot/grub
+
Algunos usuarios han informado que otras distribuciones tienen problemas para encontrar Arch Linux automáticamente con {{ic|os-prober}}. Si surge este problema, es posible mejorar la detección con la creación del archivo {{ic|/etc/lsb-release}}. Este archivo y las herramientas de actualización están disponibles con el paquete {{Pkg|lsb-release}} de los [[Official repositories (Español)|repositorios oficiales]].
  
* Sustituya el MBR y los siguientes 62 sectores del disco sda con la anterior copia de seguridad:
+
=== Advertencias cuando se instala en entorno chroot ===
{{Advertencia|La orden anterior restaura la tabla de particiones, así que proceda con cautela o sobreescribirá la tabla 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:
+
Durante la instalación de GRUB en un sistema LVM dentro de un entorno chroot (por ejemplo, durante la instalación del sistema), puede recibir advertencias como {{ic|/run/lvm/lvmetad.socket: connect failed: No such file or directory}} o {{ic|WARNING: failed to connect to lvmetad: No such file or directory. Falling back to internal scanning.}} Esto se debe a que {{ic|/run}} no está disponible dentro del entorno chroot. Estas advertencias no impedirán que el sistema arranque, siempre que todo se haya hecho correctamente, por lo que puede continuar con la instalación.
  
  # dd if=/path/to/backup/mbr-boot-code of=/dev/sdX bs=446 count=1
+
=== GRUB carga lentamente ===
  
=== Arch no es detectado por otros Sistemas Operativos===
+
GRUB puede tardar mucho tiempo en cargarse cuando el espacio en disco es pequeño. Compruebe si tiene suficiente espacio libre en el disco en su partición {{ic|/boot}} o {{ic|/}} cuando está teniendo problemas.
Algunos usuarios han informado que otras distribuciones tienen problemas para encontrar Arch Linux automáticamente con {{ic|os-prober}}. Si surge este problema, es posible mejorar la detección con la creación del archivo {{ic|/etc/lsb-release}}. Este archivo y las herramientas de actualización están disponibles con el paquete {pkg|lsb-release}} de los [[Official Repositories (Español)|repositorios oficiales]].
+
  
==Referencias ==
+
=== error: unknown filesystem ===
  
# Manual Oficial de GRUB - http://www.gnu.org/software/grub/manual/grub.html
+
GRUB puede monstrar la salida {{ic|error: unknown filesystem}} y negarse a arrancar por varias razones. Si está seguro de que todas las [[UUID]]  son correctas y todos los sistemas de archivos son válidos y soportados, puede ser debido a que su [[#GUID_Partition_Table_.28GPT.29_specific_instructions|BIOS Boot Partition]] se encuentra fuera de los primeros 2TB de su unidad [https://bbs.archlinux.org/viewtopic.php?id=195948]. Utilice una herramienta de particionado de su elección para asegurarse de que esta partición se encuentra totalmente dentro de los primeros 2TB, y luego reinstale y reconfigure GRUB.
# Página wiki de Ubuntu sobre GRUB - https://help.ubuntu.com/community/Grub
+
# Página wiki de GRUB donde explica cómo compilarlo para sistemas UEFI - http://help.ubuntu.com/community/UEFIBooting
+
# Página de Wikipedia sobre la [[Wikipedia:BIOS Boot partition|partición de inicio del BIOS.]]
+
  
 
==Véase también ==
 
==Véase también ==
  
# [https://github.com/the-ridikulus-rat/My_Shell_Scripts/blob/master/grub/grub_bios.sh A Linux Bash Shell script to compile and install GRUB for BIOS from BZR Source]
+
* Manual oficial de GRUB - http://www.gnu.org/software/grub/manual/grub.html
# [https://github.com/the-ridikulus-rat/My_Shell_Scripts/blob/master/grub/grub_uefi.sh A Linux Bash Shell script to compile and install GRUB for UEFI from BZR Source]
+
* Página wiki de Ubuntu sobre GRUB - https://help.ubuntu.com/community/Grub
 +
* Página wiki de GRUB donde explica cómo compilarlo para sistemas UEFI - http://help.ubuntu.com/community/UEFIBooting
 +
* Página de Wikipedia sobre la [[Wikipedia:BIOS Boot partition|partición de inicio de la BIOS.]]
 +
* http://members.iinet.net/~herman546/p20/GRUB2%20Configuration%20File%20Commands.html - descripción bastante completa de cómo configurar GRUB.

Latest revision as of 14:33, 8 April 2016

Estado de la traducción: este artículo es una versión traducida de GRUB. Fecha de la última traducción/revisión: 2015-06-23. Puedes ayudar a actualizar la traducción, si adviertes que la versión inglesa ha cambiado: ver cambios.


GRUB —no confundir con GRUB Legacy— es la nueva generación de GRand Unified Bootloader (GRUB). GRUB deriva de 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].

Contents

Prefacio

  • 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 kérnel de Línux, que, a su vez, inicializa el resto del sistema operativo.
  • El nombre de GRUB oficialmente se refiere a la versión 2 del software, consulte [2]. 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.

Sistemas BIOS

Instrucciones específicas para GUID Partition Table (GPT)

En una configuración BIOS/GPT es necesaria crear una BIOS boot partition. GRUB incrusta su propio core.img en esta partición.

Nota:
  • Antes de intentar este método tenga en cuenta que no todos los sistemas serán capaces de soportar este esquema de particionado. Lea más sobre GUID partition table.
  • Esta partición adicional solo la necesita GRUB, en un esquema de particionado BIOS/GPT. Anteriormente, GRUB, en un esquema de particionado BIOS/MBR, usaba el espacio pos-MBR para insertar su core.img. Sin embargo, GRUB para GPT, no utiliza el espacio pos-GPT porque dicho espacio no se ajusta a las especificaciones de GPT sobre los límites de 1_mebibyte/2048_sector del disco.
  • Para sistemas UEFI esta partición adicional no es necesaria ya que no se lleva a cabo en este caso su incustración en los sectores de arranque.

Cree una partición de un mebibyte (+1M con fdisk o gdisk) en el disco, sin formatearla con un sistema de archivos y asignándole el tipo de partición BIOS boot (BIOS boot con fdisk, ef02 con gdisk (o bios_grub si utiliza parted). Esta partición puede estar colocada en cualquier parte del disco, pero tiene que estar en los primeros 2 TiB. Esta partición debe ser creada antes instalar GRUB. Cuando la partición esté lista, instale el gestor de arranque de acuerdo con las instrucciones de abajo.

También se puede utilizar el espacio pos-GPT como la partición de arranque BIOS, aunque, como se dijo, no se ajustará a las especificaciones de GPT sobre la alineación de la partición. Debido a que no se puede acceder con regularidad a la partición es posible ignorar el impacto sobre el rendimiento (aunque algunas utilidades de disco mostrarán una advertencia al respecto). Con fdisk o gdisk cree una partición new (nueva) que se iniciará en el sector 34 y se extenderá hasta el 2047 y asígnele el tipo indicado. Para tener las particiones visibles al comienzo, considere la posibilidad de crear esta partición la última.

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 la primera partición), en cualquier sistema particionado con MBR (o etiquetado como 'msdos') es de 31 Kb, de modo que si hay algún problema de alineación de los cilindros se resuelven en la tabla de particiones. Sin embargo, se recomienda mantener una distancia de aproximadamente 1 a 2 MiB que proporcionará el espacio suficiente para contener core.img de GRUB (FS#24103). Es recomendable utilizar una herramienta de particionado que permita la alineación de una partición de 1 MiB después del MBR, de modo que se pueda obtener el espacio necesario, y resolver otros problemas fuera de los primeros 512 bytes (que son ajenos a la incrustación de core.img).

Instalación

Instala el paquete grub. Este reemplazará a grub-legacyAUR, si está instalado.

Nota: La simple instalación del paquete mencionado no actualiza el archivo /boot/grub/i386-pc/core.img o 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.

Instalar los archivos de arranque de grub

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

Nota: Véase http://www.gnu.org/software/grub/manual/grub.html#BIOS-installation para documentación adicional.
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 los respectivos códigos instalados en la región de los primeros 440 bytes del MBR (no debe confundirse con la tabla de particiones MBR).

Para instalar grub en la región de los 440 bytes relativa al código de arranque, también llamada Master Boot Record (siglas en inglés de «registro de arranque principal»), 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, en el caso de disco particionado con MBR (o BIOS Boot Partition en el caso de GPT, indicada con la etiqueta bios_grub con parted y con el código EF02 con gdisk), ejecute:

# grub-install --target=i386-pc --recheck --debug /dev/sdx
# grub-mkconfig -o /boot/grub/grub.cfg
Nota: 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 (Español) para /boot, puede instalar GRUB en varios discos físicos.

Instalación en una llave USB

Se presume que la primera partición de su llave USB está formateada con FAT32 y es /dev/sdy1

# mkdir -p /mnt/usb ; mount /dev/sdy1 /mnt/usb 
# grub-install --target=i386-pc --recheck --debug --boot-directory=/mnt/usb/boot /dev/sdy
# grub-mkconfig -o /mnt/usb/boot/grub/grub.cfg
# opcional, copia de respaldo de los archivos de configuración de grub.cfg
# mkdir -p /mnt/usb/etc/default
# cp /etc/default/grub /mnt/usb/etc/default
# cp -a /etc/grub.d /mnt/usb/etc
#  sync ; umount /mnt/usb
Instalación en una partición o disco sin particiones
Advertencia: GRUB desaconseja seriamente ser instalado 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), hay que 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.

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, consulte https://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 la generación de core.img sin incorporarla en ningún sector de arranque (mencionado anteriormente).

Por desgracia, el archivo grub.cfg creado no contendrá el UUID apropiado que permita el arranque, aunque no se emitan informes de errores. Vea https://bbs.archlinux.org/viewtopic.php?pid=1294604#p1294604. Con el fin de solucionar este problema ejecute las siguientes órdenes:

# mount /dev/sdxY /mnt        #Partición root.
# mount /dev/sdxZ /mnt/boot   #Partición boot (si se tiene una).
# arch-chroot /mnt
# pacman -S linux
# grub-mkconfig -o /boot/grub/grub.cfg
Generar únicamente core.img

Para completar la carpeta /boot/grub y generar un archivo /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 core.img de GRUB desde GRUB Legacy o syslinux como si fuese un kérnel de Línux o un kérnel multiarranque.

Sistemas UEFI

Nota:
  • Es recomendable consultar las páginas UEFI (Español), GPT (Español) y Boot loaders (Español) antes de seguir esta parte.
  • Al instalar utilizar UEFI es importante iniciar la instalación con el ordenador en la modalidad UEFI. El soporte de instalación de Arch Linux dispone de UEFI con capacidad de arranque.

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 de particiones GPT no es estrictamente necesaria, pero es muy recomendable y es el único método actualmente apoyado en este artículo. Si va a instalar Archlinux en un equipo EFI-compatible con un sistema operativo ya funcionando, como Windows 8, por ejemplo, es muy probable que ya tenga una ESP. Para comprobar si usa GPT y una ESP (siglas en inglés de EFI System partition —partición EFI del sistema—), 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, busque una pequeña partición (de 512 MiB o menos), con un sistema de archivos vfat y la etiqueta «boot» activada. En ella, debe haber una carpeta llamada «EFI». Si se cumplen estos criterios, esta es la ESP. Tome nota del número de la partición, pues tendrá que saber cuál es para que pueda montarla, más adelante, durante la instalación de GRUB en ella.

Crear una EFI System partition

Si no se tiene una ESP, tendrá que crearla. Siga las instrucciones de Unified Extensible Firmware Interface (Español)#EFI System Partition para saber cómo crear una.

Instalación

Nota: Es bien sabido que los fabricantes de placas base no implementan los firmware de UEFI de modo homogéneo. Los ejemplos de instalación descritos a continuación están destinados a trabajar en la más amplia gama de sistemas UEFI posibles. Se anima a los usuarios que experimenten problemas, a pesar de la aplicación de los métodos descritos, a compartir información detallada de sus casos específicos de hardware, cuando hayan encontrado solución a sus problemas. Para estos casos especiales se ha proporcionado un página de ejemplos para GRUB EFI.

Esta sección asume que está instalando GRUB para sistemas x86_64 (x86_64-efi). Para sistemas i686, sustituya x86_64-efi con i386-efi donde proceda.

Asegúrese de que está en una shell de bash. Por ejemplo, cuando se arranca desde la ISO de Arch:

# arch-chroot /mnt /bin/bash

Instale los paquetes grub y efibootmgr. GRUB es el gestor de arranque, efibootmgr crea las entradas stub .efi con capacidad de arranque usadas por el script de instalación de GRUB.

Los siguientes pasos instalan la aplicación GRUB UEFI en $esp/EFI/grub, instala los módulos en /boot/grub/x86_64-efi, y coloca el stub grubx64.efi booteable en $esp/EFI/grub_uefi.

En primer lugar, le decimos a GRUB que utilice UEFI, que establezca el directorio de arranque y que establezca el ID. del gestor de arranque. Cambie $esp con su partición efi (normalmente /boot):

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

La identificación del gestor de arranque es el que aparece en las opciones de arranque para identificar la opción de arranque de GRUB EFI; asegurarse de que esto es algo que pueda reconocer más tarde.

Después de lo anterior, la instalación completa el directorio principal de GRUB localizado en /boot/grub/.

No se olvide de #Generar el archivo de configuración principal después de finalizar la configuración adicional dependiendo de su #Configuración.

Nota:
  • Mientras que algunas distribuciones requieren un directorio /boot/efi o /boot/EFI, Arch no lo necesita.
  • --efi-directory y --bootloader-id son específicos de GRUB UEFI. --efi-directory especifica el punto de montaje de la ESP. Este sustituye a --root-directory, que está obsoleto. --bootloader-id especifica el nombre del directorio utilizado para guardar el archivo grubx64.efi.
  • Es posible que note la ausencia de una opción <device_path> (por ejemplo: /dev/sda) en la orden grub-install. De hecho cualquier <device_path> proporcionado será ignorado por el script de instalación de GRUB, dado que los gestores de arranque de UEFI no utilizan un MBR o sector de arranque de la partición en absoluto.

Véase solución de problemas de UEFI en caso de problemas.

Lecturas complementarias

A continuación se muestra otra información pertinente relativa a la instalación de Arch a través de UEFI

Método alternativo de instalación

Por lo general, GRUB guarda todos los archivos, incluyendo los archivos de configuración, en /boot, independientemente del lugar donde se monta EFI System Partition.

Si desea guardar estos archivos dentro de la misma partición UEFI del sistema, añada --boot-directory=$esp a la orden grub-install:

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

De este modo, los archivos de GRUB vendrán instalados en $esp/grub en lugar de /boot/grub. 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/grub/grub.cfg

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

Solución alternativa a firmware de UEFI

Algunos firmware UEFI requieren que el código de arranque .efi tenga un nombre específico y está colocado en un lugar específico: $esp/EFI/boot/bootx64.efi (donde $esp es el punto de montaje de la partición UEFI). Si no se hace así, se traducirá, en estos casos, en una instalación que no arranca. Afortunadamente, esto no va a causar ningún problema con otros firmware que no necesitan estas condiciones.

Para solucionar de momento este escollo, debe crear primero el directorio necesario, y luego copiar el código .efi de grub, renombrándolo adecuadamente durante este proceso:

# mkdir $esp/EFI/boot
# cp $esp/EFI/arch_grub/grubx64.efi  $esp/EFI/boot/bootx64.efi

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 Unified Extensible Firmware Interface (Español)#efibootmgr 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 la modalidad UEFI, como se indica en Unified Extensible Firmware Interface (Español)#Crear un USB arrancable con UEFI desde la ISO

GRUB Standalone

Esta sección asume que está creando un GRUB independiente para sistemas x86_64 (x86_64-efi). Para los sistemas i686, sustituya x86_64-efi con i386-efi en su caso.

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 contener todos los módulos de UEFI GRUB y otros archivos relacionados. Esto se hace usando la orden grub-mkstandalone (incluida en 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

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.

Nota: La opción --modules="part_gpt part_msdos" (con las comillas) es necesaria para que la característica ${cmdpath} funcione correctamente.
Advertencia: Puede encontrarse que el archivo grub.cfg no se carga debido a que falta una barra ${cmdpath} (por ejemplo, (hd1,msdos2)EFI/Boot en lugar de (hd1,msdos2)/EFI/Boot), razón por lo que no se lanza en un shell de GRUB. Si esto sucede, verifique cúal es el ajuste de ${cmdpath} (con la orden echo ${cmdpath} ) y luego cargue manualmente la configuración manual del archivo (por ejemplo, configfile (hd1,msdos2)/EFI/Boot/grub.cfg).

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), lo que los hace portables.

Generar el archivo de configuración principal

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 la sección #Configuración

Si no se ha hecho una configuración adicional, la generación automática determinará el sistema de archivos raíz del sistema que el archivo de configuración arrancará. Para que esto tenga éxito es importante que el sistema o bien sea arrancable o bien se haga dentro de chroot.

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 es /boot/grub/grub.cfg, no /boot/grub/i386-pc/grub.cfg.
  • Si se está tratando de ejecutar grub-mkconfig en entorno chroot o en un contenedor systemd-nspawn, es posible que advierta que no funciona, avisándole de que grub-probe no puede obtener el "canonical path of /dev/sdaX". En este caso, pruebe usando arch-chroot como se describe aquí.

Por defecto, los scripts de generación añaden automáticamente las entradas de menú para Arch Linux a cualquier configuración generada. Véase #Arranque dual para configuraciones avanzadas.

Configuración

Esta sección cubre solo la edición del archivo de configuración /etc/default/grub. Véase GRUB/Tips and tricks (Español) si necesita más opciones.

Recuerde siempre #Generar 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 Línux, 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 kérnel al generar las entradas de arranque regulares. Para la recuperación del 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 de reanudación y sin el parámetro quiet que no mostraría los mensajes del kérnel durante el arranque desde esa entrada. 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 la función de reanuación como systemd, se vería así: GRUB_CMDLINE_LINUX="resume=/dev/sdaX init=/usr/lib/systemd/systemd"

Véase Kernel parameters (Español) para obtener más información.

Arranque dual

Sugerencia: Si desea que grub-mkconfig busque sistemas operativos instalados, debe instalar el paquete 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 rgrub-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

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, originalmente con Microsoft Windows 8 preinstalado. 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 esto para obtener más información).

/etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "HP / Microsoft Windows 8.1" {
	echo "Cargando HP / Microsoft Windows 8.1..."
	insmod part_gpt
	insmod fat
	insmod search_fs_uuid
	insmod chain
	search --fs-uuid --no-floppy --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 763A-9CB6
	chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "HP / Microsoft Control Center" {
	echo "Cargando HP / Microsoft Control Center..."
	insmod part_gpt
	insmod fat
	insmod search_fs_uuid
	insmod chain
	search --fs-uuid --no-floppy --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 763A-9CB6
	chainloader /EFI/HP/boot/bootmgfw.efi
}

menuentry "Apagar sistema" {
	echo "Apagando el sistema..."
	halt
}

menuentry "Reiniciar sistema" {
	echo "Reiniciando el sistema..."
	reboot
}
Entrada de menú para GNU/Línux

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

menuentry "Otro Línux" {
	set root=(hd0,2)
	linux /boot/vmlinuz (añadir otras opciones aquí necesarias)
	initrd /boot/initrd.img (si el otro kérnel utiliza/necesita una)
}

De otra forma, puede dejar que grub busque la partición correcto por la UUID o label:

menuentry "Otro Línux" {
        # suponiendo que la UUID es 763A-9CB6
	search --set=root --fs-uuid 763A-9CB6

        # buscar por label OTRO_LINUX (asegúrese de que la etiqueta de la partición no es ambigua)
        #search --set=root --label OTRO_LINUX

	linux /boot/vmlinuz (añadir otras opciones aquí necesarias, por ejemplo: root=UUID=763A-9CB6)
	initrd /boot/initrd.img (si el otro kérnel utiliza/necesita una)
}
Entrada de menú para FreeBSD

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

Cargar directamente el kérnel
menuentry 'FreeBSD' {
	insmod ufs2
	set root='hd0,gpt4,bsd1'
	## o 'hd0,msdos4,bsd1', si utiliza una tabla de particiones estilo IBM-PC (MS-DOS)
	kfreebsd /boot/kernel/kernel
	kfreebsd_loadenv /boot/device.hints
	set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s4a
	set kFreeBSD.vfs.root.mountfrom.options=rw
}
Cargar en cadena el registro de arranque embebido
menuentry 'FreeBSD' {
	insmod ufs2
	set root='hd0,gpt4,bsd1'
	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 Windows está 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 donde está instalado GRUB, puede ser necesario engañar a Windows haciéndole creer que se trata de la primera unidad del disco duro. Esto es posible con 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
Nota: Estas «menuentry» (entradas) solo funcionarán en el modo de inicio de UEFI y solo si el valor de bits de Windows coincide con el valor de bits de UEFI. Sin embarbo, esto NO FUNCIONA en grub(2) instalado en sistemas BIOS. Véase esto y esto para más información.
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

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

Estas dos órdenes asumen que la ESP que utiliza Windows está montada en $esp. Puede haber casos diferentes en la ruta al archivo EFI de Windows, lo que afectaría al comienzo de Windows, y al resto.

Entrada de menú para «Apagar»
menuentry "Apagar sistema" {
	echo "Apagando el sistema..."
	halt
}
Entrada de menú para «Reiniciar»
menuentry "Reiniciar sistema" {
	echo "Reiniciando el sistema..."
	reboot
}
Entrada de menú para Windows instalado en modo BIOS-MBR

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements.Tango-edit-clear.png

Reason: This section does not fit into the others, should be slimmed down a bit. (Discuss in Talk:GRUB (Español)#)
Nota: GRUB soporta el arranque de bootmgr y ya no es necesario cargar el sector de arranque de la partición para iniciar Windows en una configuración de BIOS-MBR.
Advertencia: La system partition, donde está bootmgr, no es la partición «real» de Windows (normalmente C:). Al mostrar las particiones con la orden blkid, dicha 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 la partició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 de la 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/8.1:

# 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
Nota: Para Windows XP, sustituya bootmgr con NTLDR en la órdenes anteriores. Y tenga en cuenta que puede 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:

Nota: Estas entradas solo funcionarán en la modalidad de arranque de Legacy BIOS. NO FUNCIONARÁN en grub(2) instalado en modalidad UEFI. Véase esto y esto.

Para Windows Vista/7/8/8.1:

if [ "${grub_platform}" == "pc" ]; then
 menuentry "Microsoft Windows Vista/7/8/8.1 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 que no 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".
No haga uso de bootrec.exe /Fixmbr porque dejará GRUB al margen.

El archivo /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.

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

Con Windows usando EasyBCD y NeoGRUB

Merge-arrows-2.pngThis article or section is a candidate for merging with NeoGRUB.Merge-arrows-2.png

Notes: New page has been created, so this section should be merged there. (Discuss in Talk:GRUB (Español)#)

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

default 0
timeout 1
title       Cargar en cadena con GRUB v2
root        (hd0,7)
kernel      /boot/grub/i386-pc/core.img

Por último, regenere el archivo principal de GRUB.

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

LVM

Si utiliza LVM (Español) para /boot, asegúrese de que el módulo lvm se carga antes:

/etc/default/grub
GRUB_PRELOAD_MODULES="lvm"

y especifíque el parámetro del kérnel root:

/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="root=lvm/lvm_group_name-lvm_logical_boot_partition_name ..."

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)

Para instalar GRUB cuando se utiliza RAID 1 como partición /boot (o usando /boot alojado en una partición root RAID1), en dispositivos con GPT ef02/'BIOS boot partition', basta ejecutar grub-install en ambas unidades, así:

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

donde la matriz RAID1 que aloja /boot se encuentra en /dev/sda y /dev/sdb.

Múltiples entradas

Para obtener consejos sobre la gestión de múltiples entradas de GRUB, por ejemplo cuando se utiliza kernels tanto linux como linux-lts, vea GRUB/Tips and tricks#Multiple entries.

Encriptación

Partición raíz

Para cifrar el sistema de archivos root, es necesario editar /etc/default/grub con los parámetros necesarios para desbloquear el sistema de archivos cifrados durante el arranque. Por ejemplo, si el hook encrypt es usado en mkinitcpio (Español), el parámetro cryptdevice debe ser añadido a la orden GRUB_CMDLINE_LINUX="". En el siguiente ejemplo, la partición sda2 se ha cifrado como /dev/mapper/cryptroot:

/etc/default/grub
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda2:cryptroot"

Una vez que /etc/default/grub ha sido enmendado, entonces será necesario #Generar el archivo de configuración principal.

Para más información sobre la configuración del gestor de arranque para los dispositivos cifrados, ver Dm-crypt/System configuration#Boot loader.

Sugerencia: Si está actualizando la configuración GRUB Legacy a GRUB, compruebe /boot/grub/menu.lst.pacsave para la correcta identificación del dispositivo/etiqueta a añadir. Búsquelos después del texto kernel /vmlinuz-linux.

Partición de arranque

El parámetro GRUB_ENABLE_CRYPTODISK de GRUB se puede utilizar para permitir a GRUB que pida una contraseña para abrir un dispositivo de bloque LUKS para leer su configuración y cargar cualquier initramfs y kernel desde él. Esta opción trata de resolver el problema de tener una partición de arranque sin cifrar.

La función se activa añadiendo:

GRUB_ENABLE_CRYPTODISK=y

para /etc/default/grub. Después de esta configuración es necesario ejecutar grub-mkconfig para #Generar el archivo de configuración principal mientras la partición /boot cifrada está montada.

Nota: GRUB_ENABLE_CRYPTODISK=1 no funcionará en oposición a la solicitud mostrada en GRUB 2.02-beta2.

Dependiendo de la configuración de su sistema, tenga en cuenta lo siguiente:

  • Para que la caraterística funcione no es necesario que /boot se encuentre en una partición separada, también puede permanecer dentro del árbol de directorios / del sistema. Sin embargo, en ambos casos se requiere la introducción de dos contraseñas para arrancar. La primera para GRUB, para desbloquear el punto de arranque /boot en la fase temprana del arranque, la segunda para desbloquear el propio sistema de archivos raíz como se describe en #Partición raíz.
  • Con el fin de realizar las actualizaciones del sistema que afecten al punto de montaje /boot, hay que asegurarse de que /boot cifrado esté desbloqueado para volver a montarlo para el initramfs y el kérnel durante el arranque. Con una partición /boot separada, esto se puede lograr añadiendo una entrada a /etc/crypttab con un archivo de claves. Ver Dm-crypt/System configuration#crypttab.
  • Si utiliza una distribución de teclado especial, una instalación predeterminada de GRUB no lo sabrá. Esto es relevante para saber cómo introducir la contraseña para desbloquear el dispositivo de bloque de LUKS.

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 comanos bá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ía capaz 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 de emergencia:

grub rescue>

La shell de emergencia es una versión reducida de la normal, y ofrece, por lo tanto, un número reducido de funcionalidades. 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 escenario común puede iniciar Windows/Línux localizado en una unidad/partición a través de chainloading.

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 una partició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

Cargar en cadena Windows/Línux instalados en modalidad UEFI

insmod ntfs
set root=(hd0,gpt4)
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
boot

insmod ntfs se utiliza para cargar el módulo del sistema de archivos NTFS para cargar Windows. (hd0,gpt4) o /dev/sda4 es la EFI System Partition (ESP). La entrada en la línea chainloader especifica la ruta del archivo .efi para ser cargado.

Carga normal

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

Utilizar la consola de emergencia

Véase primero #Utilizar la shell de órdenes más arriba. Si no es capaz de iniciar la shell estándar, una posible solución es arrancar un LiveCD o alguna otra distribución a modo de recuperación para corregir los errores de configuración y reinstalar GRUB. Sin embargo, un disco de recuperación no siempre es posible (ni necesario), y la consola de emergencia 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 el mó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. (por ejemplo, set prefix=(hdX,Y)/grub).

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

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
Nota: Si se experimentó error: premature end of file /YOUR_KERNEL_NAME durante la ejecución de la orden linux, pruebe usuando linux16 en su lugar.

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 y arreglar completamente el problema, 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

MBR

Algunas BIOS de Intel requieren, al menos, una partición MBR marcada como booteable en el arranque, cosa no habitual 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 MBR una de las particiones GPT (preferiblemente la partición de 1007KiB que ya se ha creado para GRUB). Esto se puede lograr, utilizando fdisk, mediante las siguientes órdenes: Inicie fdisk sobre el disco donde va a realizar la instalació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 cuenta 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

Ruta EFI

Algunos firmware UEFI requieren un archivo de arranque en una ubicación conocida antes de poder mostrar las entradas de arranque UEFI NVRAM. Si este es el caso, grub-install indicará a efibootmgr que ha añadido una entrada para arrancar GRUB, sin embargo, la entrada no se mostrará en el selector VisualBIOS para el esquema del orden de arranque. La solución es colocar un archivo en uno de los lugares conocidos. Suponiendo que la partición EFI es en /boot/efi/, la siguiente orden solucionará el problema:

mkdir /boot/efi/EFI/boot
cp /boot/efi/EFI/grub/grubx64.efi /boot/efi/EFI/boot/bootx64.efi

Esta solución funcionó para una placa base Intel DH87MC con firmware fechado en enero de 2014.

Activar mensajes de depuración de errores en GRUB

Nota: Este cambio se sobrescribe al #Generar el archivo de configuración principal.

Añada:

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 kérnel de Línux 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 kérnel (al menos hasta 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 $esp/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 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 kérnel, de lo contrario obtendrá una pantalla en negro, aunque el arranque se haga con normalidad, 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)

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í. 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 de alrededor de 1 MB (2048 bloques) antes de la primera partición. Véase #Instrucciones específicas para Master Boot Record (MBR)

UEFI

Errores comunes de instalación

  • Si tiene un problema cuando se ejecuta grub-install con sysfs o procfs y le avisa que debe ejecutar modprobe efivars, pruebe Unified Extensible Firmware Interface (Español)#Variables de UEFI.
  • Sin las opciones --target o --directory, no se puede determinar en qué firmware se instalará. En tales casos, grub-install advertirá que source_dir does not exist. Please specify --target or --directory.
  • Si después de ejecutar grub-install le dice que la partición no se ve como una partición EFI, entonces es muy probable que la partición no esté formateada con Fat32.

Salta la shell de recate

Si GRUB carga, pero le deja en la consola de rescate sin errores, puede ser debido a que falte o esté fuera de lugar el archivo grub.cfg. Esto sucederá si GRUB UEFI se instaló con --boot-directory y grub.cfg no se encuentra o si el número de la partición donde reside la partición de arranque ha cambiado (que está codificada 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

Si la pantalla deviene en negro durante unos segundos y GRUB pasa a la siguiente opción del arranque, como se describe en este post, mover GRUB a la partición raíz podría ayudar. La opción de arranque debería ser eliminada y regenerada después de la operación. El campo relativo 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 de particiones después de agregar otras particiones o discos duros, trate de eliminar la configuración de GRUB sobre los 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 kérnel y el ramdisk inicial, pruebe eliminando add_efi_memmap de los parámetros del kérnel.

Arch no es detectado por otros sistemas operativos

Algunos usuarios han informado que otras distribuciones tienen problemas para encontrar Arch Linux automá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 lsb-release de los repositorios oficiales.

Advertencias cuando se instala en entorno chroot

Durante la instalación de GRUB en un sistema LVM dentro de un entorno chroot (por ejemplo, durante la instalación del sistema), puede recibir advertencias como /run/lvm/lvmetad.socket: connect failed: No such file or directory o WARNING: failed to connect to lvmetad: No such file or directory. Falling back to internal scanning. Esto se debe a que /run no está disponible dentro del entorno chroot. Estas advertencias no impedirán que el sistema arranque, siempre que todo se haya hecho correctamente, por lo que puede continuar con la instalación.

GRUB carga lentamente

GRUB puede tardar mucho tiempo en cargarse cuando el espacio en disco es pequeño. Compruebe si tiene suficiente espacio libre en el disco en su partición /boot o / cuando está teniendo problemas.

error: unknown filesystem

GRUB puede monstrar la salida error: unknown filesystem y negarse a arrancar por varias razones. Si está seguro de que todas las UUID son correctas y todos los sistemas de archivos son válidos y soportados, puede ser debido a que su BIOS Boot Partition se encuentra fuera de los primeros 2TB de su unidad [3]. Utilice una herramienta de particionado de su elección para asegurarse de que esta partición se encuentra totalmente dentro de los primeros 2TB, y luego reinstale y reconfigure GRUB.

Véase también