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

From ArchWiki
Jump to: navigation, search
m (Remove link to deleted page.)
(corrección de enlaces + normalizando "véase" por "consulte" + reubicación plantilla TranslationStatus)
 
(105 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
[[Category:Boot loaders (Español)]]
 
[[Category:Boot loaders (Español)]]
[[Category:System recovery (Español)]]
+
[[ar:GRUB]]
 
[[cs:GRUB]]
 
[[cs:GRUB]]
 
[[de:GRUB]]
 
[[de:GRUB]]
 
[[el:GRUB]]
 
[[el:GRUB]]
[[en:GRUB Legacy]]
+
[[en:GRUB]]
 +
[[fa:گراب]]
 
[[fr:GRUB]]
 
[[fr:GRUB]]
 
[[he:GRUB]]
 
[[he:GRUB]]
[[it:GRUB Legacy]]
+
[[id:GRUB]]
 +
[[it:GRUB]]
 +
[[ja:GRUB]]
 
[[nl:GRUB]]
 
[[nl:GRUB]]
 +
[[pt:GRUB]]
 
[[ru:GRUB]]
 
[[ru:GRUB]]
[[tr:Grub]]
+
[[zh-hans:GRUB]]
[[uk:GRUB]]
+
[[zh-hant:GRUB]]
[[zh-CN:GRUB Legacy]]
+
{{TranslationStatus (Español)|GRUB|2018-08-21|534863}}
{{out of date}}
+
{{Related articles start (Español)}}
{{Article summary start}}
+
{{Related|Arch boot process (Español)}}
{{Article summary text|Cubre diversos aspectos del cargador de arranque por defecto de Arch Linux, GRUB ("GRand Unified Bootloader")}}
+
{{Related|Boot loaders (Español)}}
{{Article summary heading|Related articles}}
+
{{Related|Master Boot Record (Español)}}
{{Article summary wiki|GRUB2}}
+
{{Related|GUID Partition Table (Español)}}
{{Article summary wiki|grub-gfx}}
+
{{Related|Unified Extensible Firmware Interface (Español)}}
{{Article summary wiki|LILO}}
+
{{Related|GRUB Legacy}}
{{Article summary wiki|MBR}}
+
{{Related|GRUB/EFI examples}}
{{Article summary end}}
+
{{Related|GRUB/Tips and tricks (Español)}}
 +
{{Related|Multiboot USB drive}}
 +
{{Related articles end}}
 +
[https://www.gnu.org/software/grub/ GRUB] (GRand Unified Bootloader) es un [[:Category:Boot loaders (Español)|gestor multiarranque]]. Procede de  [http://www.nongnu.org/pupa/ PUPA], el cual fue un proyecto de investigación desarrollado para reemplazar lo que hoy se conoce como [[GRUB Legacy]]. Este último resultó demasiado difícil de mantener y GRUB se reescribió desde cero con el objetivo de proporcionarle modularidad y portabilidad  [https://www.gnu.org/software/grub/grub-faq.html#q1]. Al GRUB actual también se le conoce como GRUB 2, mientras que GRUB Legacy corresponde a las versiones 0.9x.
  
== Installando el paquete GRUB ==
+
{{Nota|En el presente artículo, la expresión {{ic|''esp''}} indica el punto de montaje de la [[EFI system partition|partición EFI del sistema (''«EFI system partition»'')]] conocida por sus siglas en ingles «'''ESP'''».}}
  
Instale primero grub con pacman
+
== Sistemas BIOS ==
  
pacman -S grub
+
=== Instrucciones específicas para GUID Partition Table (GPT) ===
  
Edite el archivo menu.lst con su configuración
+
En una configuración BIOS/[[GUID Partition Table (Español)|GPT]], es necesaria crear una [https://www.gnu.org/software/grub/manual/grub/html_node/BIOS-installation.html#BIOS-installation ''BIOS boot partition'' (partición de arranque BIOS]). GRUB incrusta su propia {{ic|core.img}} en esta partición.
  
nano /boot/grub/menu.lst
+
{{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_(Español)#Sistemas_BIOS|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 posterior al MBR para insertar su {{ic|core.img}}. En una tabla de particionado GPT, sin embargo, no se puede garantizar que exista espacio suficiente (después del MBR y) antes de la primera partición.
 +
* Para sistemas [[Unified Extensible Firmware Interface (Español)|UEFI]] esta partición adicional no es necesaria, ya que en este caso no se lleva a cabo su incustración en los sectores de arranque. Sin embargo, los sistemas UEFI aún requieren una partición EFI del sistema «''[[EFI system partition]]''».}}
  
''Nota: Use hd[a-z] para discos ide y sd[a-z] para los scsi o sata''
+
Cree una partición de un mebibyte (MiB) ({{ic|1=+1M}} con ''fdisk'' o ''gdisk'') en el disco, sin formatearla con un sistema de archivos y con el GUID {{ic|21686148-6449-6E6F-744E-656564454649}}.
  
Vea el mío como ejemplo:
+
* Seleccione para dicha partición el tipo {{ic|BIOS boot}} con [[fdisk]], {{ic|ef02}} con [[gdisk]].
 +
* Con [[parted]] establezca/active el flag {{ic|bios_grub}}.
  
# Archivo de configuración de GRUB - (GNU GRand Unified Bootloader)
+
Esta partición puede estar colocada en cualquier parte del disco, pero tiene que estar en los primeros 2 TiB. Dicha 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.  
# /boot/grub/menu.lst
 
 
# DISPOSITIVO  CONVERSIONES
 
#
 
#  Linux          Grub
 
# -------------------------
 
#  /dev/fd0        (fd0)
 
#  /dev/hda        (hd0)
 
#  /dev/hdb2      (hd1,1)
 
#  /dev/hda3      (hd0,2)
 
#
 
 
#  CONFIGURACION DE LA RESOLUCION DEL FRAMEBUFFER
 
#    +-------------------------------------------------+
 
#          | 640x480    800x600    1024x768  1280x1024
 
#      ----+--------------------------------------------
 
#      256 | 0x301=769  0x303=771  0x305=773  0x307=775
 
#      32K | 0x310=784  0x313=787  0x316=790  0x319=793
 
#      64K | 0x311=785  0x314=788  0x317=791  0x31A=794
 
#      16M | 0x312=786  0x315=789  0x318=792  0x31B=795
 
#    +-------------------------------------------------+
 
 
# Configuración general:
 
timeout  5
 
default  1
 
color light-blue/black light-cyan/blue
 
 
 
# Secciones de arranque
 
# numeradas a partir del 1 en su orden de aparición
 
#
 
# PISTA: Si quiere un framebuffer de 1024x768, añada "vga=773" a la línea de su kernel.
 
#
 
#-*
 
 
# (0) Arch Linux
 
title  Arch Linux  [cpio]
 
root  (hd0,0)
 
kernel /vmlinu root=/dev/sda6 ro vga=773
 
initrd /initramfs-linux.img
 
 
title  Arch Linux  [thinkpad]
 
root  (hd0,0)
 
kernel /vmlinuz-linux-thinkpad root=/dev/sda6 ro video=vesafb:off acpi_sleep=s3_bios
 
resume=swap:/dev/sda5
 
initrd /initramfs-linux-thinkpad.img
 
  
Copiar los puntos de montaje a mtab
+
El espacio previo de la primera partición también se puede usar como la partición de arranque del BIOS («''BIOS boot partition''»), aunque no se ajustará a las especificaciones de GPT sobre la alineación de la partición. Dado que no se 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 nueva que se iniciará en el sector 34 y se extenderá hasta el 2047, y asígnele el tipo indicado antes. Para tener las particiones visibles al comienzo, considere la posibilidad de crear esta partición la última.
  
grep -v rootfs /proc/mounts > /etc/mtab
+
=== Instrucciones específicas para Master Boot Record (MBR) ===
  
== Instalando el cargador de arranque en el MBR ("Master Boot Record") ==
+
Por lo general, el espacio disponilbe 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 la {{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}}).
Hay dos formas habituales de instalar GRUB. Una es crear un disco de arranque (en un disquete, o en un cd-rom), y otra que consiste en instalar desde una instalación de Arch que se esté ejecutando. Si está actualizando una versión de grub puede que le interese la última porque es más sencilla y rápida, aunque el sitio web de GRUB dictamina que el disco de arranque es más seguro.
 
  
'''Utilizando la utilidad grub-install'''
+
=== Instalación ===
  
  grub-install --root-directory ''Punto-de-montaje'' (hd''n'')
+
[[Help:Reading_(Español)#Instalaci.C3.B3n_de_paquetes|Instale]] el paquete {{Pkg|grub}}. Este reemplazará a {{AUR|grub-legacy}}, si está instalado. Después ejecute:
  
Instala grub en el MBR de un disco duro. La opción da la ruta a la imagen del kernel, si no está en /, p.ej. en /boot.<br>
+
# grub-install --target=i386-pc /dev/sd'''X'''
(hd''n'') es un disco, donde n es el número del disco, empezando desde 0.
 
  
Ejemplo:
+
donde {{ic|/dev/sd'''X'''}}  es el disco donde se instalará grub (por ejemplo, el disco {{ic|/dev/sda}} y '''no''' la partición {{ic|/dev/sda1}}).
  
Si tiene una partición de arranque separada y montada en ''/boot'', haga una de las siguientes acciones
+
Ahora genere [[#Generar el archivo de configuración principal|el archivo principal de configuración]].
grub-install --root-directory=/boot '(hd0)'
 
grub-install --root-directory=/boot sda
 
grub-install --root-directory=/boot hda
 
  
Si notiene una partición de arranque separada, simplemente ejecute la orden sin la opción ''--root-directory''
+
Si usa [[LVM (Español)]] para {{ic|/boot}}, puede instalar GRUB en varios discos físicos.
  grub-install /dev/sda
 
  
'''Advertencia'''
+
{{Sugerencia|Consulte [[GRUB/Tips and tricks (Español)#Métodos alternativos de instalación]] para conocer otras formas de instalar GRUB, como en una memoria USB.}}
GRUB no entiende el esquema de nombres hda, sda, etc. Ve el disco en términos de (hd0), (hd1), etc.
 
Esta es la razón por la que uno ''''debe'''' tener cuidado al utilizar grub-install.
 
  
grub-install intenta relacionar los dispositivos BIOS con el formato hda/sda, y normalmente lo hace correctamente. La manera de comprobar si se hace correctamente es leyendo la salida de la propia orden una vez que ha finalizado la instalación del cargador de arranque. grub-install mostrará por pantalla algo como lo siguiente:
+
Consulte {{man|8|grub-install}} y el [https://www.gnu.org/software/grub/manual/grub/html_node/BIOS-installation.html#BIOS-installation Manual de GRUB] para obtener más detalles sobre la orden ''grub-install''.
(fd0) /dev/fd0
 
(hd0) /dev/hda
 
Tendrá que comprobar usted si la relación es correcta. Si no lo es, vaya a /boot/grub y edite el archivo 'device.map' de la manera que sea correcta. ''Vuelva a ejecutar'' entonces la utilidad grub-install para reinstalar GRUB.
 
  
== Configuración del cargador de arranque ==
+
== Sistemas UEFI ==
La configuración de grub se hace en el archivo:
 
/boot/grub/menu.lst
 
  
* <i>(hdn,m)</i> es la partición m del disco n, comenzando los números por 0
+
{{Nota|
* <i>splashimage (hdn,m)/grub/Name.xpm.gz</i> es el aarchivo de la imagen de arranque ("splash-image")
+
*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.
* <i>default n</i> es la entrada de arranque por defecto, la escogida una vez transcurrido el tiempo para que el usuario seleccione una entrada
+
*Si desea realizar la instalación con UEFI, es importante arrancar el ordenador en la modalidad UEFI al cargar la imagen de instalación. El soporte de instalación de Arch Linux dispone de UEFI con capacidad de arranque.}}
* <i>timeout m</i> tiempo de espera m en segundos para una selección por parte del usuario, antes de arrancar la entrada por defecto
 
* <i>password -md5 str</i> contraseña cifrada de arranque 'str'
 
* <i>title str</i> Mensaje 'str' pidiendo una entrada de arranque
 
* <i>root (hdn,m)</i> partición base, donde reside el kernel
 
* <i>kernel /path ro root=/dev/device initrd /initrd.img</i> utiliza la opción root, si no encuentra el kernel en /
 
* <i>makeactive<br>chainloader +1</i> establece la unidad activa y cede el proceso de arranque a su cargador de arranque (para Windows, por ejemplo)
 
* <i>map (hd0) (hd1)<br>map (hd1) (hd0)</i> cambia los disco primario y secundario a la hora de arrancar, obligatorio para arrancar Windows desde un disco secundario
 
* <i>root (hdn,m,z)<br>kernel /boot/loader</i> arranca la partición x de FreeBSD
 
* <i>default saved</i> recuerda cada selección actual de arranque y la convierte en la nueva selección por defecto. Escriba "savedefault" al final de cada selección de arranque, para aquellas en que quiera que se utilice esta opción.
 
  
Para aquellos que les guste los efectos gráficos, existe la entrada [[Graphical GRUB]].
+
=== Comprobar si se está utilizando una partición EFI del sistema ===
  
 +
Para arrancar desde un disco usando UEFI, la tabla de particiones de disco recomendada es GPT y este es el esquema que se asume en este artículo. Se requiere una [[EFI system partition]] (ESP) en cada disco de arranque. Si está instalando Arch Linux en un equipo con capacidad UEFI con un sistema operativo instalado, como Windows 10, por ejemplo, es muy probable que ya tenga un ESP.
 +
 +
Para averiguar el esquema de partición del disco y la partición del sistema, utilice {{ic|parted}} como superusuario (root) sobre el disco desde el que desea iniciar:
 +
 +
# parted /dev/sd''x'' print
 +
 +
La orden le devolverá:
 +
 +
* El esquema de la partición del disco: si el disco es GPT, indica  {{ic|Partition Table: gpt}}.
 +
* La lista de particiones del disco: busque la partición del sistema EFI en la lista, es una partición pequeña (generalmente de aproximadamente 100-550 MiB) con un sistema de archivos {{ic|fat32}} y con el flag {{ic | esp}} activado. Para confirmar que se trata de ESP, móntela y verifique si contiene un directorio llamado {{ic|EFI}}, y si es así, definitivamente es la ESP.
 +
 +
Una vez encontrada, '''tome nota del número de la partición''', lo necesitará para la [[#Instalación_2|instalación de GRUB]]. Si no tiene una ESP, tendrá que crear una. Vea el artículo de [[EFI system partition]].
 +
 +
=== 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 [[GRUB EFI Examples|ejemplos para GRUB EFI]].
 +
*Esta sección asume que está instalando GRUB para sistemas x86_64 (x86_64-efi). Para sistemas EFI IA32 (32-bit) (no confundir con CPU de 32-bit), sustituya {{ic|x86_64-efi}} con {{ic|i386-efi}} donde proceda.
 +
}}
 +
 +
Primero, [[Help:Reading_(Español)#Instalaci.C3.B3n_de_paquetes|instale]] los paquetes {{Pkg|grub}} y {{Pkg|efibootmgr}}: ''GRUB'' es el gestor de arranque, mientras que '' efibootmgr '' es utilizado por el script de instalación de GRUB para escribir entradas de arranque a NVRAM.
 +
 +
A continuación, siga los siguientes pasos para instalar GRUB:
 +
 +
# [[EFI system partition#Mount the partition|Monte la partición del sistema EFI]] y en el resto de esta sección, sustituya {{ic|'' esp ''}} por su punto de montaje.
 +
#  Elija un identificador para el gestor de arranque, que aquí llamaremos {{ic|'''''GRUB'''''}}. Se creará un directorio con ese nombre para almacenar el binario de EFI en la ESP y este es el nombre que aparecerá en el menú de arranque de UEFI para identificar la entrada de arranque de GRUB.
 +
# Ejecute la siguiente orden para instalar la aplicación {{ic|grubx64.efi}} de GRUB EFI en {{ic|''esp''/EFI/'''''GRUB'''''/}} e instale sus módulos en {{ic|/boot/grub/x86_64-efi/}}.
 +
 +
# grub-install --target=x86_64-efi --efi-directory=''esp'' --bootloader-id='''''GRUB'''''
 +
 +
Después de completar la instalación anterior, el directorio principal de GRUB se encuentrará en {{ic|/boot/grub/}}.Tenga en cuenta que {{ic|grub-install}} también intenta [[GRUB/Tips_and_tricks_(Español)#Crear_una_entrada_GRUB_en_el_gestor_de_arranque_del_firmware|crear una entrada en el gestor de arranque del firmware]], llamado {{ic|'''''GRUB'''''}} siguiendo el ejemplo anterior.
 +
 +
Recuerde [[#Generar el archivo de configuración principal|Generar el archivo de configuración principal]] al terminar la [[#Configuración|configuración]].
 +
 +
{{Sugerencia|Si usa la opción {{ic|--removable}}, GRUB se instalará en {{ic|''esp''/EFI/BOOT/BOOTX64.EFI}} (o {{ic|''esp''/EFI/BOOT/BOOTIA32.EFI}} para la arquitectura {{ic|i386-efi}}) y tendrá la capacidad adicional de poder arrancar desde la unidad, en caso de que las variables EFI se reseteen o se mueva la unidad a otro equipo. Por lo general, puede hacer esto seleccionando la unidad en sí de manera similar a como lo haría con la BIOS. Si tiene un arranque dual con Windows, tenga en cuenta que Windows generalmente tiene una carpeta {{ic|BOOT}} dentro de la carpeta {{ic|EFI}} en la partición del sistema EFI, pero su único propósito es recrear la entrada de arranque UEFI para Windows.}}
 +
 +
{{Nota |
 +
* {{ic|--efi-directory}} y {{ic|--bootloader-id}} son opciones específicas de GRUB UEFI, {{ic|--efi-directory}} reemplaza a {{ic|--root- directorio}} que está en desuso.
 +
* Puede notar la ausencia de una opción ''ruta_al_dispositivo'' (por ejemplo, a {{ic|/dev/sda}}) en la orden {{ic|grub-install}}. De hecho, cualquier ''ruta_al_dispositivo'' proporcionada será ignorada por el script de instalación GRUB UEFI. Es más, los cargadores de arranque UEFI no usan un código de arranque MBR o sector de arranque de partición en absoluto.
 +
}}
 +
 +
Consulte la sección sobre [[#UEFI|solución de problemas de UEFI]] si tiene problemas. Vea también [[GRUB/Tips and tricks (Español)#Lecturas adicionales de UEFI]].
 +
 +
== Generar el archivo de configuración principal ==
 +
 +
Después de instalar GRUB, se debe crear el archivo de configuración principal {{ic|grub.cfg}}. El proceso de generación puede verse influido por una variedad de opciones presentes en {{ic|/etc/default/grub}} y de scripts presentes en {{ic|/etc/grub.d/}}; Consulte [[#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 {{ic|grub.cfg}} tiene que ser regenerado cada vez que se haga cualquier cambio en el archivo {{ic|/etc/default/grub}} o en los archivos presentes en {{ic|/etc/grub.d/}}.}}
 +
 +
UTilice la herramienta ''grub-mkconfig'' para generar {{ic|grub.cfg}}:
 +
 +
# grub-mkconfig -o /boot/grub/grub.cfg
 +
 +
Por defecto, los scripts de generación añaden automáticamente las entradas de menú para Arch Linux a cualquier configuración generada. Consulte [[Multiboot USB drive#Boot entries]] y [[#Arranque dual]] para entradas de menú personalizadas para otros sistemas.
 +
 +
{{Sugerencia|Para que ''grub-mkconfig'' busque otros sistemas instalados y los añada automáticamente al menú, [[Help:Reading_(Español)#Instalaci.C3.B3n_de_paquetes|instale]] el paquete {{Pkg|os-prober}} y [[mount|monte]] las particiones que contienen otros sistemas.}}
 +
 +
{{Nota|
 +
* La ruta predeterminada del archivo es {{ic|/boot/grub/grub.cfg}}, no {{ic|/boot/grub/i386-pc/grub.cfg}}. El paquete {{Pkg|grub}} incluye una muestra {{ic|/boot/grub/grub.cfg}}; asegúrese de que los cambios intencionados estén escritos en este archivo.
 +
* Si está intentando ejecutar ''grub-mkconfig'' en un entorno chroot o un contenedor ''systemd-nspawn'',  podrá advertir que no funciona, avisándole de que ''grub-probe'' no puede obtener «canonical path of /dev/sdaX». En este caso, pruebe usando ''arch-chroot'' como se describe en la [https://bbs.archlinux.org/viewtopic.php?pid&#61;1225067#p1225067 publicación BBS].
 +
}}
 +
 +
== Configuración ==
 +
 +
Esta sección cubre solo la edición del archivo de configuración {{ic|/etc/default/grub}}. Consulte [[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 {{ic|/etc/default/grub}}.
 +
 +
=== Argumentos adicionales ===
 +
 +
Para pasar argumentos adicionales personalizados a la imagen de Linux, 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, basta con usar la variable {{ic|GRUB_CMDLINE_LINUX}}.
 +
 +
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 reanudación del sistema tras la hibernación. Esto generaría una entrada de arranque de reanudación y con el parámetro ''quiet'' 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 opciones normales.
 +
 +
Por defecto, ''grub-mkconfig'' determina el [[UUID]] del sistema de archivos raíz para la configuración. Para desactivar esto, descomente {{ic|1=GRUB_DISABLE_LINUX_UUID=true}}.
 +
 +
Para generar la entrada de recuperación en GRUB hay que comentar {{ic|<nowiki>#GRUB_DISABLE_RECOVERY=true</nowiki>}} en {{ic|/etc/default/grub}}.
 +
 +
También se puede usar {{ic|1=GRUB_CMDLINE_LINUX="resume=UUID=''uuid-of-swap-partition''"}}
 +
 +
Consulte [[Kernel parameters (Español)]] para obtener más información.
 +
 +
=== LVM ===
 +
 +
Si utiliza [[LVM (Español)]] para {{ic|/boot}} o para la partición raíz {{ic|/}} , asegúrese de que el módulo {{ic|lvm}} se carga antes:
 +
 +
{{hc|/etc/default/grub|2=
 +
GRUB_PRELOAD_MODULES="... lvm"
 +
}}
 +
 +
=== RAID ===
 +
 +
GRUB permite tratar los volúmenes en una configuración [[RAID (Español)]] de una manera sencilla. Necesita cargar los módulos de GRUB {{ic|mdraid09}} o {{ic|mdraid1x}} para poder abordar el volumen de forma nativa:
 +
 +
{{hc|/etc/default/grub|2=
 +
GRUB_PRELOAD_MODULES="... mdraid09 mdraid1x"
 +
}}
 +
 +
Por ejemplo, {{ic|/dev/md0}} se convierte en:
 +
 +
set root=(md/0)
 +
 +
mientras que un volumen de RAID particionado (por ejemplo, {{ic|/dev/md0p1}}) se convierte en:
 +
 +
set root=(md/0,1)
 +
 +
Para instalar grub al usar RAID1 en la partición {{ic|/boot}} (o utulizando {{ic|/boot}} alojado en una partición raíz RAID1), en sistemas BIOS, simplemente ejecute ''grub-install'' en ambas unidades, así:
 +
 +
# grub-install --target=i386-pc --debug /dev/sda
 +
# grub-install --target=i386-pc --debug /dev/sdb
 +
 +
Donde el alojamiento de la matriz RAID 1 {{ic|/boot}} está ubicado en {{ic|/dev/sda}} y {{ic|/dev/sdb}}.
 +
 +
{{Nota|GRUB admite el inicio desde [[Btrfs]] con RAID 0/1/10, pero ''no'' con RAID 5/6. Puede usar [[mdadm]] para RAID 5/6, que admite GRUB.}}
 +
 +
=== Encriptación ===
 +
 +
==== Partición raíz ====
 +
 +
Para cifrar un sistema de archivos raíz que arranque con GRUB, agregue el hook {{ic|encrypt}}, o {{ic|sd-encrypt}} (si usa los hooks de systemd), a [[mkinitcpio (Español)]]. Consulte [[dm-crypt/System configuration#mkinitcpio]] para obtener más información, y [[Mkinitcpio (Español)#Hooks más comunes]] para los hooks de cifrado alternativos.
 +
 +
Si usa el hook {{ic|encrypt}}, añada el parámetro {{ic|cryptdevice}} a {{ic|/etc/default/grub}}.
 +
 +
{{hc|/etc/default/grub|2=
 +
GRUB_CMDLINE_LINUX="cryptdevice=UUID=''UUID_del_DISPOSITIVO'':cryptroot"
 +
}}
 +
 +
Si usa el hook {{ic|sd-encrypt}}, adañada {{ic|rd.luks.name}}:
 +
 +
{{hc|/etc/default/grub|2=
 +
GRUB_CMDLINE_LINUX="rd.luks.name=''UUID_del_DISPOSITIVO''=cryptroot"
 +
}}
 +
 +
donde ''UUID_del_DISPOSITIVO'' es el UUID del dispositivo cifrado con LUKS.
 +
 +
Asegúrese de [[#Generar el archivo de configuración principal|volver a generar el archivo de configuración principal]] cuando haya terminado.
 +
 +
Para obtener más información acerca de la configuración del gestor de arranque para dispositivos cifrados, consulte [[Dm-crypt/System configuration#Boot loader]].
 +
 +
{{Nota| Si desea cifrar {{ic|/boot}} bien como una partición separada o como parte de la partición raíz {{ic|/}}, se requiere una configuración adicional. Consulte [[#Partición de arranque]].}}
 +
 +
{{Sugerencia|Si está actualizando desde una configuración de GRUB Legacy en funcionamiento, compruebe {{ic|/boot/grub/menu.lst.pacsave}} para agregar el dispositivo/etiqueta correcto. Localícelo después del texto {{ic|kernel /vmlinuz-linux}}.}}
 +
 +
==== Partición de arranque ====
 +
 +
GRUB puede configurarse para solicitar una contraseña para abrir un dispositivo de bloque [[dm-crypt (Español)|LUKS]] a fin de leer su configuración y cargar cualquier [[initramfs]] y [[kernel]] desde él. Esta opción intenta resolver el problema de tener una [[Dm-crypt/Specialties#Securing the unencrypted_boot partition|partición de arranque sin cifrar]]. {{ic|/boot}} '''no''' necesita estar en una partición separada; puede estar en el mismo árbol de directorios del sistema raíz {{ic|/}}.
 +
 +
{{Advertencia|GRUB no admite encabezados LUKS2. Asegúrese de no especificar {{ic|luks2}} en la línea de parámetros al crear la partición cifrada usando  la orden {{ic|cryptsetup luksFormat}}.}}
 +
 +
Para activar esta función, encripte la partición en la que resida {{ic|/boot}} utilizando [[dm-crypt (Español)|LUKS]] de forma normal. A continuación, agregue la siguiente opción a {{ic|/etc/default/grub}}:
 +
 +
{{hc|/etc/default/grub|output=
 +
GRUB_ENABLE_CRYPTODISK=y
 +
}}
 +
 +
Asegúrese de [[#Generar el archivo de configuración principal]] cuando la partición que contiene {{ic|/boot}} esté montada
 +
 +
Sin más cambios, se le solicitará dos veces una contraseña: la primera para GRUB para desbloquear el punto de montaje {{ic|/boot}} en el arranque temprano, y la segunda para desbloquear el sistema de archivos raíz como se describe en [[#Partición raíz]]. Puede utilizar un [[Dm-crypt/Device encryption#With a keyfile embedded in the initramfs|keyfile]]  para evitar esta doble contraseña.
 +
 +
{{Nota|
 +
* Si utiliza una distribución de teclado distinta de la predeterminada (US), 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 cifrado con LUKS.
 +
* Para realizar actualizaciones del sistema que afecten el punto de montaje {{ic|/boot}}, asegúrese de que {{ic|/boot}} cifrado esté desbloqueado y montado antes de realizar una actualización. Con una partición {{ic|/boot}} separada, esto puede lograrse automáticamente al arrancar usando [[crypttab]] con un [[Dm-crypt/Device encryption#With a keyfile embedded in the initramfs|archivo de claves]].
 +
* Si tiene problemas para que la solicitud de una contraseña se muestre en la pantalla (errores relacionados con cryptouuid, cryptodisk o «device not found»), pruebe volviendo a instalar grub como se indica a continuación, agregando lo siguiente al final de la orden de instalación:
 +
{{bc|1=# grub-install --target=x86_64-efi --efi-directory=''esp'' --bootloader-id=grub '''--modules="part_gpt part_msdos"'''}}
 +
}}
 +
 +
=== Entradas múltiples ===
 +
 +
Para obtener sugerencias sobre la administración de varias entradas de GRUB, por ejemplo, al usar tanto kernel {{Pkg|linux}} como {{Pkg|linux-lts}} kernels, consulte [[GRUB/Tips and tricks (Español)#Múltiples entradas]].
 +
 +
=== Cargar en cadena un archivo .efi de Arch Linux ===
 +
 +
Si tiene un archivo ''.efi'' generado a partir de [[Secure Boot]] u otros medios, se puede editar {{ic|/etc/grub.d/40_custom}} para agregar una nueva entrada de menú antes de regenerar {{ic|grub.cfg}} con {{ic|grub-mkconfig}}.
 +
 +
{{hc|/etc/grub.d/40_custom|output=
 +
menuentry 'Arch Linux .efi' {
 +
insmod part_gpt
 +
insmod chain
 +
set root='(hdX,gptY)'
 +
chainloader /EFI/''path''/''file''.efi
 +
}
 +
}}
  
 
=== Arranque dual ===
 
=== Arranque dual ===
Estas son las dos maneras más comunes de configurar el archivo menu.lst.
 
====Arranque dual con Windows====
 
Añada esto al final de su archivo /boot/grub/menu.lst. Esto da por supuesto que su partición Windows es [s/h]da2.
 
  
  # (2) Windows XP
+
{{Merge|Multiboot USB drive|Same topic, substituting USB drives for SATA drives is trivial.}}
  title Windows XP
+
 
  rootnoverify (hd0,1)
+
La mejor forma de agregar otras entradas es editando {{ic|/etc/grub.d/40_custom}} o {{ic|/boot/grub/custom.cfg}}. Las entradas en este archivo se agregarán automáticamente después de volver a ejecutar {{ic|grub-mkconfig}}.
  makeactive
+
 
 +
==== Entrada de menú para «Apagar» ====
 +
 
 +
{{bc|menuentry "System shutdown" {
 +
echo "System shutting down..."
 +
halt
 +
}
 +
}}
 +
 
 +
==== Entrada de menú para «Reiniciar» ====
 +
 
 +
{{bc|menuentry "System restart" {
 +
echo "System rebooting..."
 +
reboot
 +
}
 +
}}
 +
 
 +
==== Entrada de menú para «configurar Firmware» (solo para UEFI) ====
 +
 
 +
{{bc|menuentry "Firmware setup" {
 +
fwsetup
 +
}
 +
}}
 +
 
 +
==== Entrada de menú para GNU/Linux ====
 +
 
 +
Suponiendo que la otra distribución está en la partición{{ic|sda2}}:
 +
 
 +
{{bc|1=menuentry "Otro Linux" {
 +
set root=(hd0,2)
 +
linux /boot/vmlinuz (añada aquí otras opciones necesarias)
 +
initrd /boot/initrd.img (si el otro kernel utiliza/necesita uno)
 +
}
 +
}}
 +
 
 +
Alternativamente, deje que GRUB busque la partición correcta por ''UUID'' o ''label'':
 +
 
 +
{{bc|1=menuentry "Otro Linux" {
 +
        # suponiendo que UUID es 763A-9CB6
 +
search --set=root --fs-uuid 763A-9CB6
 +
 
 +
        # búsqueda por etiqueta OTRO_LINUX (asegúrese de que la etiqueta de la partición no sea ambigua)
 +
        #search --set=root --label OTHER_LINUX
 +
 
 +
linux /boot/vmlinuz (añada otras opciones aquí si es necesario, por ejemplo: root=UUID=763A-9CB6)
 +
initrd /boot/initrd.img (si el otro kernel utiliza/necesita uno)
 +
}
 +
}}
 +
 
 +
==== Entrada de menú para Windows instalado en modo UEFI/GPT ====
 +
 
 +
Este modo determina dónde reside el gestor de arranque de Windows y permite alternar su carga después de Grub cuando se selecciona su entrada en el menú. La principal tarea aquí es encontrar la partición EFI y ejecutar el gestor de arranque desde allí.
 +
 
 +
{{Nota|Este «menuentry» solo funcionará en modo de arranque UEFI y solo si el bit de Windows coincide con el bit de UEFI. No funcionará en sistemas BIOS con GRUB instalado. Consulte [[Dual boot with Windows#Windows UEFI vs BIOS limitations]] y [[Dual boot with Windows#Bootloader UEFI vs BIOS limitations]] para obtener más información.}}
 +
 
 +
{{bc|1=if [ "${grub_platform}" == "efi" ]; then
 +
menuentry "Microsoft Windows Vista/7/8/8.1 UEFI/GPT" {
 +
insmod part_gpt
 +
insmod fat
 +
insmod search_fs_uuid
 +
insmod chain
 +
search --fs-uuid --set=root $hints_string $fs_uuid
 +
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
 +
}
 +
fi
 +
}}
 +
 
 +
donde {{ic|$hints_string}} y {{ic|$fs_uuid}} se obtienen con las dos siguientes órdenes.
 +
 
 +
La orden {{ic|$fs_uuid}} determinará el UUID de la partición EFI:
 +
 
 +
{{hc|1=# grub-probe --target=fs_uuid ''esp''/EFI/Microsoft/Boot/bootmgfw.efi|2=
 +
1ce5-7f28
 +
}}
 +
 
 +
De otra forma, se puede ejecutar {{ic|blkid}} (como root) y leer el UUID de la partición del sistema EFI desde allí.
 +
 
 +
La orden {{ic|$hints_string}} determinará la ubicación de la partición del sistema EFI, en este caso, el disco duro es 0:
 +
 
 +
{{hc|1=# grub-probe --target=hints_string ''esp''/EFI/Microsoft/Boot/bootmgfw.efi|2=
 +
  --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1
 +
}}
 +
 
 +
Estas dos órdenes suponen que el uso de la ESP de Windows está montada en {{ic|''esp''}}. Puede haber diferencias entre mayúsculas y minúsculas en la ruta al archivo EFI de Windows, what with being Windows, and all.
 +
 
 +
==== Entrada de menú para Windows instalado en modo BIOS-MBR ====
 +
 
 +
{{Nota|GRUB admite el arranque de {{ic|bootmgr}} directamente y ya no es necesario [https://www.gnu.org/software/grub/manual/grub.html#Chain_002dloading alternar la carga] del sector de arranque de la partición para iniciar Windows en una configuración de BIOS/MBR.}}
 +
 
 +
{{Advertencia|Esta es la '''system partition''' que contiene {{ic|/bootmgr}}, no la partición de Windows «real» (generalmente C:). En la salida de {{ic|blkid}}, la partición del sistema es la que tiene {{ic|LABEL&#61;"SYSTEM RESERVED"}} o {{ic|LABEL&#61;"SYSTEM"}} y solo tiene entre 100 y 200 MB de tamaño (muy parecido a la partición de arranque para Arch). Consulte [[Wikipedia:System partition and boot partition]] para más información.}}
 +
 
 +
A lo largo de esta sección, presumiremos que la partición de Windows es {{ic|/dev/sda1}}. Una partición diferente cambiará cada instancia de hd0, msdos1. Agregue el código correspondiente a {{ic|/etc/grub.d/40_custom}} o a {{ic |/boot/grub/custom.cfg}} y regenere {{ic|grub.cfg}} con {{ic|grub-mkconfig}}, como se explicó anteriormente, para arrancar Windows (XP, Vista, 7, 8 o 10) instalado en la modalidad BIOS/MBR:
 +
 
 +
{{Nota|Estas entradas del menú funcionarán solo en la modalidad de arranque de sistemas BIOS. No funcionará en UEFI con GRUB instalado. Consulte [[Dual boot with Windows#Windows UEFI vs BIOS limitations]] y [[Dual boot with Windows#Bootloader UEFI vs BIOS limitations]] .}}
 +
 
 +
En ambos ejemplos {{ic|''XXXXXXXXXXXXXXXX''}} es el UUID del sistema de archivos, que se puede encontrar con la orden {{ic|lsblk --fs}}.
 +
 
 +
Para Windows Vista/7/8/8.1/10:
 +
 
 +
if [ "${grub_platform}" == "pc" ]; then
 +
  menuentry "Microsoft Windows Vista/7/8/8.1/10 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 ''XXXXXXXXXXXXXXXX''
 +
    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 ''XXXXXXXXXXXXXXXX''
 +
    ntldr /ntldr
 +
  }
 +
fi
 +
 
 +
{{Nota|En algunos casos, GRUB puede instalarse sin un Windows 8 limpio, en cuyo caso no puede iniciar Windows sin tener un error con {{ic|\boot\bcd}} (código de error {{ic|0xc000000f}}). Puede solucionarlo acudiendo a la consola de recuperación de Windows -Windows Recovery Console- ({{ic|cmd.exe}} desde el disco de instalación) y ejecutando:
 +
 
 +
X:\> bootrec.exe /fixboot
 +
X:\> bootrec.exe /RebuildBcd
 +
 
 +
«No» utilice {{ic|bootrec.exe /Fixmbr}} porque borrará GRUB.
 +
O puede usar la función de Reparación de Arranque («Boot Repair») en el menú Solución de Problemas -no eliminará GRUB sino que arreglará la mayoría de los errores-.
 +
Además, será mejor que permanezca '''TAN SOLO''' conectado al disco duro de destinoy al dispositivo de arranque. Windows normalmente no puede reparar la información de arranque si hay otros dispositivos conectados.
 +
}}
 +
 
 +
{{ic|/etc/grub.d/40_custom}} puede ser usado como plantilla para crear {{ic|/etc/grub.d/''nn''_custom}}. Donde {{ic|''nn''}} define el orden de prelación, indicando el orden en que se ejecuta el script. El orden de ejecución de los scripts determinan su ubicación en el menú de inicio de grub.
 +
 
 +
{{Nota|{{ic|nn}} debe ser mayor a 06 para garantizar que los scripts necesarios se ejecuten primero.}}
 +
 
 +
== Utilizar la consola de intérprete de órdenes ==
 +
 
 +
Como el MBR es demasiado pequeño para almacenar todos los módulos de GRUB, solo el menú y algunas órdenes básicas residen allí. La mayoría de la funcionalidad de GRUB está contenida en los módulos ubicados en {{ic|/boot/grub}}, que se cargarán cuando sean necesarios. En condiciones de error (por ejemplo, si el diseño de la partición cambia), GRUB puede no iniciarse. Cuando esto sucede, puede lanzar una consola.
 +
 
 +
GRUB ofrece múltiples shells/prompts. Si hay un problema al leer el menú, pero el gestor de arranque puede encontrar el disco, es probable que se le presente la consola «normal»:
 +
 
 +
  grub>
 +
 
 +
Si hay un problema más grave (por ejemplo, GRUB no puede encontrar los archivos requeridos), en su lugar puede presentar la consola de «rescate»:
 +
 
 +
grub rescue>
 +
 
 +
La consola de rescate es una versión reducida de la normal, y ofrece, por lo tanto, un número reducido de funcionalidades. Si se presenta la consola de rescate, primero trate de cargar el módulo «normal» y, a continuación, inicie la consola 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 es compatible con «''pager''» (paginador o localizador) que permite la lectura de las órdenes que proporcionan «salidas» extensas (como la orden {{ic|help}}). Tenga en cuenta que esta característica solo está disponible en la consola normal y no en la de rescate. Para activar pager, escriba en la consola de órdenes de GRUB:
 +
 
 +
sh:grub> set pager=1
 +
 
 +
=== Usar el entorno de la consola de intérprete de órdenes para arrancar distintos sistemas operativos ===
 +
 
 +
grub>
 +
 
 +
El entorno de la consola de GRUB se puede usar para arrancar sistemas operativos.
 +
Un escenario común puede ser iniciar Windows/Linux almacenado en una unidad/partición a través de '''carga alternativa'''.
 +
 
 +
La ''carga alternativa'' («''Chainloading''») significa poder cargar otro cargador de arranque desde el que está corriendo, es decir, cargar en cadena.
 +
 
 +
El otro gestor de arranque puede estar incrustado al inicio del disco (MBR) o al comienzo de una partición o como un binario EFI en la ESP en el caso de UEFI.
 +
 
 +
==== Alternar el arranque desde una partition ====
 +
 
 +
set root=(hdX,Y)
 +
  chainloader +1
 +
boot
 +
 
 +
X=0,1,2...
 +
Y=1,2,3...
 +
 
 +
Por ejemplo, cargar alternativamente Windows almacenado en la primera partición del primer disco duro,
 +
 
 +
set root=(hd0,1)
 
  chainloader +1
 
  chainloader +1
 +
boot
 +
 +
Del mismo modo, se puede alternar la carga de GRUB instalado en una partición.
  
====Arranque dual con Windows en un disco duro diferente====
+
==== Alternar el arranque desde un disco/unidad ====
Añada esto al final de su archivo /boot/grub/menu.lst. Esto da por supuesto que su partición Windows es [s/h]db1.
 
  
  # (2) Windows XP
+
  set root=hdX
title Windows XP
 
map (hd0) (hd1)
 
map (hd1) (hd0)
 
rootnoverify (hd1,0)
 
makeactive
 
 
  chainloader +1
 
  chainloader +1
 +
boot
 +
 +
==== Alternar el arranque de Windows/Linux instalados en modalidad UEFI ====
 +
 +
insmod ntfs
 +
set root=(hd0,gpt4)
 +
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
 +
boot
 +
 +
{{ic|insmod ntfs}} se usa para cargar el módulo de sistema de archivos ntfs para Windows.
 +
(hd0,gpt4) o /dev/sda4 es la partición de mi sistema EFI (ESP).
 +
La entrada en la línea ''chainloader'' especifica la ruta del archivo ''.efi '' cuya carga se alternará.
 +
 +
==== Cargar en modo normal ====
 +
 +
Consulte el ejemplo en [[#Utilizar la consola de rescate]]
 +
 +
=== Utilizar la consola de rescate ===
 +
 +
Consulte primero [[#Utilizar la consola de rescate]] más arriba. Si no es capaz de iniciar la shell estándar, una posible solución es arrancar un liv eCD 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}} 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 {{ic|/boot}} (ya esté en una partición separada o en un directorio dentro de la partición raíz):
 +
 +
grub rescue> set prefix=(hdX,Y)/boot/grub
 +
 +
donde X es el número de la unidad y la Y de la partición.
 +
 +
{{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}}).}}
 +
 +
Para ampliar las capacidades de la consola, inserte el módulo {{ic|linux}}:
 +
 +
grub rescue> insmod i386-pc/linux.mod
 +
 +
o simplemente:
 +
 +
grub rescue> insmod linux
 +
 +
Esto proporciona órdenes de {{ic|linux}} y {{ic|initrd}}, con las que debe estar familiarizado.
 +
 +
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 (por ejemplo, usando UEFI), cambie las órdenes en consecuencia:
 +
 +
{{Nota|Cuando el arranque es desde una partición separada y no parte de la partición raíz, debe direccionar a la partición de arranque manualmente, indicando la variable correspondiente.}}
 +
 +
set root=(hd0,5)
 +
linux (hdX,Y)/vmlinuz-linux root=/dev/sda6
 +
initrd (hdX,Y)/initramfs-linux.img
 +
boot
 +
 +
{{Nota|Si se experimentó el mensaje {{ic|error: premature end of file /EL_NOMBRE_DEL_KERNEL}} durante la ejecución de la orden {{ic|linux}}, pruebe usuando {{ic|linux16}} en su lugar.}}
 +
 +
Tras el lanzamiento con éxito de una instalación de Arch Linux, los usuarios pueden corregir {{ic|grub.cfg}} si fuese necesario y proceder a reinstalar GRUB.
 +
 +
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.
 +
 +
== Solución de problemas ==
 +
 +
=== F2FS y otros sistemas de archivos sin soporte ===
 +
 +
GRUB no es compatible con el sistema de archivos [[F2FS]]. En caso de que la partición raíz corra sobre un sistema de archivos no compatible, se debe crear una partición {{ic|/boot}} alternativa formateada con un sistema de archivos compatible. En algunos casos, la versión de desarrollo de GRUB, {{aur|grub-git}}, puede tener soporte nativo para el sistema de archivos.
 +
 +
=== La BIOS de Intel no arranca con 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 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 1007 KiB 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|La marca de «bootable» puede hacerse en {{ic|fdisk}} o similar, no con GParted u otros, ya que no configurarán el marcador de inicio en el MBR.}}
 +
 +
Con cfdisk, los pasos son similares, bastando con {{ic|cfdisk/dev/sda}}, elija el dispositivo de arranque (a la izquierda) en el disco duro deseado y salga guardando.
 +
 +
Con la versión más reciente de parted, puede usar la opción {{ic|disk_toggle pmbr_boot}}. Luego verifique que los indicadores del disco muestren pmbr_boot.
 +
 +
# parted /dev/sd''x'' disk_toggle pmbr_boot
 +
# parted /dev/sd''x'' print
  
La función map engaña a su instalación de Windows para que piense que el disco secundario es en realidad el primario.
+
Para más información consulte [http://www.rodsbooks.com/gdisk/bios.html esto]
  
====Arranque dual con otras distribuciones de linux====
+
=== Activar mensajes de depuración de errores ===
Se hace exactamente de la misma manera en que se carga Arch linux. Aquí se da por supuesto que la otra distribución está en la partición [s/h]da3.
 
title Other Linux
 
root (hd0,2)
 
kernel /boot/vmlinuz (añada aquí las opciones que sean necesarias)
 
initrd /boot/initrd.img (si el otro kernel usa o necesita una)
 
  
====Arranque dual con otra distribución de linux (mediante "Chainloading")====
+
{{Nota|Este cambio se sobrescribe al [[#Generar el archivo de configuración principal]].}}
Para evitar la ''pesadilla del mantenimiento'', podría querer encadenar al GRUB del MBR a otro cargador de arranque que pudiera tener instalado en el sector de arranque de una partición [(hd0,2) en nuestro ejemplo] en vez de en el MBR. De esta manera las cosas "automágicas" de la otra distribución gestionarán el archivo menu.lst de (hd0,2) (si también es grub) para su propia distribución y usted arrancará con todas las opciones necesarias (como detectar correctamente el último kernel utilizado) sin necesidad de copiar y pegar partes de aquel menu.lst en el suyo.
 
  
En nuestro ejemplo [http://home.tele2.fr/solsTiCe/img/dualbooting.png], GRUB está en el MBR y algún otro cargador de arranque (BL) (sea grub o lilo) está en el sector de arranque de (hd0,2).
+
Añada:
-------------------------------------------------
 
|  |          |          |    %  (hd0,2)    |
 
| M |          |          | B  %              |
 
| B |  (hd0,0)  |  (hd0,1)  | L  %  Otra        |
 
| R |          |          |    %  Distro      |
 
|  |          |          |    %              |
 
-------------------------------------------------
 
  |                            ^
 
  |    chainloading          |
 
  -----------------------------
 
  
Entonces, simplemente tiene que poner en su menu.lst:
+
set pager=1
  title Otra distribución de Linux
+
set debug=all
  root (hd0,2)
+
 
  chainloader +1
+
en {{ic|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 ({{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 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}} activada, entonces la ruta sería {{ic|''esp''/EFI/grub/}}:
 +
 
 +
# cp /usr/share/grub/unicode.pf2 ${GRUB_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
 +
 
 +
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 (sin salidat) aunque el arranque (en curso) se haga con normalidad, sin que el sistema se bloquee:
 +
 
 +
BIOS systems:
 +
 
 +
insmod vbe
 +
 
 +
UEFI systems:
 +
 
 +
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 {{ic|gfxterm}} funcione correctamente, la fuente {{ic|unicode.pf2}} debe existir en  {{ic|1=${GRUB_PREFIX_DIR}}}.
 +
 
 +
=== Mensaje de error msdos-style ===
 +
 
 +
grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding will not 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 [https://bbs.archlinux.org/viewtopic.php?pid=581760#p581760 aquí]. 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. Consulte [[#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 {{ic|modprobe efivars}}, pruebe [[Unified_Extensible_Firmware_Interface_(Español)#Montar_efivarfs|montando efivarfs]].
 +
* 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 consola de emergencia ====
 +
 
 +
Si GRUB carga, pero le deja en la consola de rescate sin errores, puede deberse a dos razones:
 +
 
 +
* 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.
 +
* Que la identificación de la partición de arranque, que está codificada en el archivo {{ic|grubx64.efi}}, haya cambiado.
 +
 
 +
==== GRUB UEFI no se carga ====
 +
 
 +
He aquí un ejemplo de EFI funcional:
 +
 
 +
{{hc|# 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 [https://bbs.archlinux.org/viewtopic.php?pid=981560#p981560 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. La entrada para GRUB debería verse así:
 +
 
 +
Boot0000* Grub HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\grub.efi)
 +
 
 +
==== Ruta de arranque default/fallback ====
 +
 
 +
Algunos firmwares UEFI requieren un archivo de arranque en una ubicación conocida antes de que se muestren las entradas de arranque UEFI NVRAM. Si este es el caso, {{ic|grub-install}} solicitará que {{ic|efibootmgr}} haya agregado una entrada para iniciar GRUB, sin embargo, la entrada no se mostrará en el selector del orden de arranque de VisualBIOS. La solución es instalar GRUB en la ruta de arranque default/fallback:
 +
 
 +
# grub-install --target=x86_64-efi --efi-directory=''esp'' '''--removable'''
 +
 
 +
De forma alternativa, puede mover un ejecutable de GRUB EFI ya instalado a la ruta default/fallback:
 +
 
 +
# mv ''esp''/EFI/grub ''esp''/EFI/BOOT
 +
# mv ''esp''/EFI/BOOT/grubx64.efi ''esp''/EFI/BOOT/BOOTX64.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
 +
 
 +
{{ic|grub-mkconfig}} debería ahora mostrar todas las opciones de arranque, incluyendo Windows. Si el problema está resuelto, elimine {{ic|/boot/grub/device.map-old}}.
 +
 
 +
=== Bloqueos al arrancar ===
 +
 
 +
Si el arranque se bloquea sin ningún mensaje de error, después de que GRUB cargue el kernel y el ramdisk inicial, pruebe eliminando {{ic|add_efi_memmap}} de los parámetros del kernel.
 +
 
 +
=== Arch no es detectado por otros sistemas operativos ===
 +
 
 +
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}}.
 +
 
 +
=== 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 {{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.
 +
 
 +
=== 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 {{ic|/boot}} o {{ic|/}} cuando está teniendo problemas.
 +
 
 +
=== error: unknown filesystem ===
 +
 
 +
GRUB puede mostrar la salida {{ic|error: unknown filesystem}} y negarse a arrancar por varias razones. Si está seguro de que todas las [[Persistent_block_device_naming_(Español)#by-uuid|UUID]] son correctas y todos los sistemas de archivos son válidos y soportados, puede ser debido a que su [[#Instrucciones específicas para GUID Partition Table (GPT)|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.
 +
 
 +
=== grub-reboot no reinicia ===
 +
 
 +
GRUB parece incapaz de escribir a particiones root en BTRFS  [https://bbs.archlinux.org/viewtopic.php?id=166131]. Si usa grub-reboot para reiniciar en otra entrada no podra actualizar su entorno en-disco. Por lo tanto ejecute grub-reboot desde la otra entrada (por ejemplo, al cambiar entre varias distribuciones) o considere un sistema de archivos distinto. Es posible resetear una entrada "pegajosa" ejecutando {{ic|grub-editenv create}} y estableciendo {{ic|1=GRUB_DEFAULT=0}} en su {{ic|/etc/default/grub}} (recuerde ejecutar {{ic|grub-mkconfig -o /boot/grub/grub.cfg}}).
 +
 
 +
=== El sistema de archivos BTRFS antiguo presiste en la instalación ===
 +
 
 +
Si una unidad fue formateada con BTRFS sin haber creado una tabla de particiones (por ejemplo /dev/sdx), y, porteriormente, se reescribe (con otro sistema de archivos) sobre dicha tabla de particiones, habrá partes del formato BTRFS que permanecerán. La mayoría de las utilidades y sistemas operativos no ven esto, pero GRUB se negará a instalar, incluso con la opción --force
 +
 
 +
  # grub-install: warning: Attempting to install GRUB to a disk with multiple partition labels. This is not supported yet..
 +
# grub-install: error: filesystem `btrfs' does not support blocklists.
 +
 
 +
Puede borrar con ceros la unidad, pero la solución más sencilla que deja en blanco sus datos es borrar la superbloque BTRFS con {{ic|wipefs -o 0x10040 /dev/sdx}}
 +
 
 +
=== Windows 8/10 no es encontrado ===
 +
 
 +
Una configuración en Windows 8/10 llamada «Hiberboot», «Hybrid Boot» or «Fast Boot» puede evitar que se monte la partición de Windows, por lo que {{ic | grub-mkconfig}} no encontrará una instalación de Windows. La desactivación de Hiberboot en Windows permitirá que se agregue al menú de GRUB.
 +
 
 +
=== Modalidad EFI en VirtualBox ===
 +
 
 +
Instale GRUB en la [[#Ruta de arranque default/fallback|ruta de arranque default/fallback]].
 +
 
 +
Consulte también [[VirtualBox#Installation in EFI mode]].
  
== Interacción de LiLO y GRUB ==
+
== Consulte también ==
  
Si alguna vez utilizó [[lilo]] no olvide desinstalarlo con
+
* [[Wikipedia:GNU GRUB]]
pacman -R lilo
+
* [https://www.gnu.org/software/grub/manual/grub.html Manual oficial de GRUB]
dado que algunas tareas (p.ej. la compilación del kernel utilizando <code>make all</code>) harán una llamada de lilo, y entonces lilo se instalara por encima de grub.
+
* [https://help.ubuntu.com/community/Grub2 Página wiki de Ubuntu sobre GRUB]
Tenga en cuenta que esto no eliminará lilo en el MBR, sino que éste seŕa sobreescrito cuando usted instale otro cargador de arranque.
+
* [https://help.ubuntu.com/community/UEFIBooting Página wiki de GRUB donde explica cómo compilarlo para sistemas UEFI]
== Resolución de problemas ==
+
* [[Wikipedia:BIOS boot partition]]
===GRUB error 15===
+
* [http://web.archive.org/web/20160424042444/http://members.iinet.net/~herman546/p20/GRUB2%20Configuration%20File%20Commands.html#Editing_etcgrub.d05_debian_theme Cómo configurar GRUB]
Asegúrese de que la línea del kernel tenga <code>ro</code> en el archivo menu.lst.
+
* [http://www.linuxjournal.com/article/4622 Arrancar con GRUB]
== Recursos externos ==
 
* [http://www.gnu.org/software/grub/ GRUB Website]
 
* [http://www.troubleshooters.com/linux/grub/index.htm GRUB Grotto- an excellent GRUB resource]
 

Latest revision as of 11:15, 23 September 2018

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

GRUB (GRand Unified Bootloader) es un gestor multiarranque. Procede de PUPA, el cual fue un proyecto de investigación desarrollado para reemplazar lo que hoy se conoce como GRUB Legacy. Este último resultó demasiado difícil de mantener y GRUB se reescribió desde cero con el objetivo de proporcionarle modularidad y portabilidad [1]. Al GRUB actual también se le conoce como GRUB 2, mientras que GRUB Legacy corresponde a las versiones 0.9x.

Nota: En el presente artículo, la expresión esp indica el punto de montaje de la partición EFI del sistema («EFI system partition») conocida por sus siglas en ingles «ESP».

Contents

Sistemas BIOS

Instrucciones específicas para GUID Partition Table (GPT)

En una configuración BIOS/GPT, es necesaria crear una BIOS boot partition (partición de arranque BIOS). GRUB incrusta su propia 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 posterior al MBR para insertar su core.img. En una tabla de particionado GPT, sin embargo, no se puede garantizar que exista espacio suficiente (después del MBR y) antes de la primera partición.
  • Para sistemas UEFI esta partición adicional no es necesaria, ya que en este caso no se lleva a cabo su incustración en los sectores de arranque. Sin embargo, los sistemas UEFI aún requieren una partición EFI del sistema «EFI system partition».

Cree una partición de un mebibyte (MiB) (+1M con fdisk o gdisk) en el disco, sin formatearla con un sistema de archivos y con el GUID 21686148-6449-6E6F-744E-656564454649.

  • Seleccione para dicha partición el tipo BIOS boot con fdisk, ef02 con gdisk.
  • Con parted establezca/active el flag bios_grub.

Esta partición puede estar colocada en cualquier parte del disco, pero tiene que estar en los primeros 2 TiB. Dicha 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.

El espacio previo de la primera partición también se puede usar como la partición de arranque del BIOS («BIOS boot partition»), aunque no se ajustará a las especificaciones de GPT sobre la alineación de la partición. Dado que no se 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 nueva que se iniciará en el sector 34 y se extenderá hasta el 2047, y asígnele el tipo indicado antes. 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 disponilbe 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 la 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

Instale el paquete grub. Este reemplazará a grub-legacyAUR, si está instalado. Después ejecute:

# grub-install --target=i386-pc /dev/sdX

donde /dev/sdX es el disco donde se instalará grub (por ejemplo, el disco /dev/sda y no la partición /dev/sda1).

Ahora genere el archivo principal de configuración.

Si usa LVM (Español) para /boot, puede instalar GRUB en varios discos físicos.

Sugerencia: Consulte GRUB/Tips and tricks (Español)#Métodos alternativos de instalación para conocer otras formas de instalar GRUB, como en una memoria USB.

Consulte grub-install(8) y el Manual de GRUB para obtener más detalles sobre la orden grub-install.

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.
  • Si desea realizar la instalación con UEFI, es importante arrancar el ordenador en la modalidad UEFI al cargar la imagen de instalación. El soporte de instalación de Arch Linux dispone de UEFI con capacidad de arranque.

Comprobar si se está utilizando una partición EFI del sistema

Para arrancar desde un disco usando UEFI, la tabla de particiones de disco recomendada es GPT y este es el esquema que se asume en este artículo. Se requiere una EFI system partition (ESP) en cada disco de arranque. Si está instalando Arch Linux en un equipo con capacidad UEFI con un sistema operativo instalado, como Windows 10, por ejemplo, es muy probable que ya tenga un ESP.

Para averiguar el esquema de partición del disco y la partición del sistema, utilice parted como superusuario (root) sobre el disco desde el que desea iniciar:

# parted /dev/sdx print

La orden le devolverá:

  • El esquema de la partición del disco: si el disco es GPT, indica Partition Table: gpt.
  • La lista de particiones del disco: busque la partición del sistema EFI en la lista, es una partición pequeña (generalmente de aproximadamente 100-550 MiB) con un sistema de archivos fat32 y con el flag esp activado. Para confirmar que se trata de ESP, móntela y verifique si contiene un directorio llamado EFI, y si es así, definitivamente es la ESP.

Una vez encontrada, tome nota del número de la partición, lo necesitará para la instalación de GRUB. Si no tiene una ESP, tendrá que crear una. Vea el artículo de EFI system partition.

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 EFI IA32 (32-bit) (no confundir con CPU de 32-bit), sustituya x86_64-efi con i386-efi donde proceda.

Primero, instale los paquetes grub y efibootmgr: GRUB es el gestor de arranque, mientras que efibootmgr es utilizado por el script de instalación de GRUB para escribir entradas de arranque a NVRAM.

A continuación, siga los siguientes pasos para instalar GRUB:

  1. Monte la partición del sistema EFI y en el resto de esta sección, sustituya esp por su punto de montaje.
  2. Elija un identificador para el gestor de arranque, que aquí llamaremos GRUB. Se creará un directorio con ese nombre para almacenar el binario de EFI en la ESP y este es el nombre que aparecerá en el menú de arranque de UEFI para identificar la entrada de arranque de GRUB.
  3. Ejecute la siguiente orden para instalar la aplicación grubx64.efi de GRUB EFI en esp/EFI/GRUB/ e instale sus módulos en /boot/grub/x86_64-efi/.
# grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB

Después de completar la instalación anterior, el directorio principal de GRUB se encuentrará en /boot/grub/.Tenga en cuenta que grub-install también intenta crear una entrada en el gestor de arranque del firmware, llamado GRUB siguiendo el ejemplo anterior.

Recuerde Generar el archivo de configuración principal al terminar la configuración.

Sugerencia: Si usa la opción --removable, GRUB se instalará en esp/EFI/BOOT/BOOTX64.EFI (o esp/EFI/BOOT/BOOTIA32.EFI para la arquitectura i386-efi) y tendrá la capacidad adicional de poder arrancar desde la unidad, en caso de que las variables EFI se reseteen o se mueva la unidad a otro equipo. Por lo general, puede hacer esto seleccionando la unidad en sí de manera similar a como lo haría con la BIOS. Si tiene un arranque dual con Windows, tenga en cuenta que Windows generalmente tiene una carpeta BOOT dentro de la carpeta EFI en la partición del sistema EFI, pero su único propósito es recrear la entrada de arranque UEFI para Windows.
Nota:
  • --efi-directory y --bootloader-id son opciones específicas de GRUB UEFI, --efi-directory reemplaza a --root- directorio que está en desuso.
  • Puede notar la ausencia de una opción ruta_al_dispositivo (por ejemplo, a /dev/sda) en la orden grub-install. De hecho, cualquier ruta_al_dispositivo proporcionada será ignorada por el script de instalación GRUB UEFI. Es más, los cargadores de arranque UEFI no usan un código de arranque MBR o sector de arranque de partición en absoluto.

Consulte la sección sobre solución de problemas de UEFI si tiene problemas. Vea también GRUB/Tips and tricks (Español)#Lecturas adicionales de UEFI.

Generar el archivo de configuración principal

Después de instalar GRUB, se debe crear el archivo de configuración principal grub.cfg. El proceso de generación puede verse influido por una variedad de opciones presentes en /etc/default/grub y de scripts presentes en /etc/grub.d/; Consulte #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 cada vez que se haga cualquier cambio en el archivo /etc/default/grub o en los archivos presentes en /etc/grub.d/.

UTilice la herramienta grub-mkconfig para generar grub.cfg:

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

Por defecto, los scripts de generación añaden automáticamente las entradas de menú para Arch Linux a cualquier configuración generada. Consulte Multiboot USB drive#Boot entries y #Arranque dual para entradas de menú personalizadas para otros sistemas.

Sugerencia: Para que grub-mkconfig busque otros sistemas instalados y los añada automáticamente al menú, instale el paquete os-prober y monte las particiones que contienen otros sistemas.
Nota:
  • La ruta predeterminada del archivo es /boot/grub/grub.cfg, no /boot/grub/i386-pc/grub.cfg. El paquete grub incluye una muestra /boot/grub/grub.cfg; asegúrese de que los cambios intencionados estén escritos en este archivo.
  • Si está intentando ejecutar grub-mkconfig en un entorno chroot o un contenedor systemd-nspawn, podrá advertir que no funciona, avisándole de que grub-probe no puede obtener «canonical path of /dev/sdaX». En este caso, pruebe usando arch-chroot como se describe en la publicación BBS.

Configuración

Esta sección cubre solo la edición del archivo de configuración /etc/default/grub. Consulte 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 Linux, se pueden ajustar las variables GRUB_CMDLINE_LINUX + GRUB_CMDLINE_LINUX_DEFAULT en /etc/default/grub. Los dos parámetros se anexan al archivo y se pasan al kérnel al generar las entradas de arranque regulares. Para la recuperación del sistema, basta con usar 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 reanudación del sistema tras la hibernación. Esto generaría una entrada de arranque de reanudación y con el parámetro quiet 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 opciones normales.

Por defecto, grub-mkconfig determina el UUID del sistema de archivos raíz para la configuración. Para desactivar esto, descomente GRUB_DISABLE_LINUX_UUID=true.

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

También se puede usar GRUB_CMDLINE_LINUX="resume=UUID=uuid-of-swap-partition"

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

LVM

Si utiliza LVM (Español) para /boot o para la partición raíz / , asegúrese de que el módulo lvm se carga antes:

/etc/default/grub
GRUB_PRELOAD_MODULES="... lvm"

RAID

GRUB permite tratar los volúmenes en una configuración RAID (Español) de una manera sencilla. Necesita cargar los módulos de GRUB mdraid09 o mdraid1x para poder abordar el volumen de forma nativa:

/etc/default/grub
GRUB_PRELOAD_MODULES="... mdraid09 mdraid1x"

Por ejemplo, /dev/md0 se convierte en:

set root=(md/0)

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

set root=(md/0,1)

Para instalar grub al usar RAID1 en la partición /boot (o utulizando /boot alojado en una partición raíz RAID1), en sistemas BIOS, simplemente ejecute grub-install en ambas unidades, así:

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

Donde el alojamiento de la matriz RAID 1 /boot está ubicado en /dev/sda y /dev/sdb.

Nota: GRUB admite el inicio desde Btrfs con RAID 0/1/10, pero no con RAID 5/6. Puede usar mdadm para RAID 5/6, que admite GRUB.

Encriptación

Partición raíz

Para cifrar un sistema de archivos raíz que arranque con GRUB, agregue el hook encrypt, o sd-encrypt (si usa los hooks de systemd), a mkinitcpio (Español). Consulte dm-crypt/System configuration#mkinitcpio para obtener más información, y Mkinitcpio (Español)#Hooks más comunes para los hooks de cifrado alternativos.

Si usa el hook encrypt, añada el parámetro cryptdevice a /etc/default/grub.

/etc/default/grub
GRUB_CMDLINE_LINUX="cryptdevice=UUID=UUID_del_DISPOSITIVO:cryptroot"

Si usa el hook sd-encrypt, adañada rd.luks.name:

/etc/default/grub
GRUB_CMDLINE_LINUX="rd.luks.name=UUID_del_DISPOSITIVO=cryptroot"

donde UUID_del_DISPOSITIVO es el UUID del dispositivo cifrado con LUKS.

Asegúrese de volver a generar el archivo de configuración principal cuando haya terminado.

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

Nota: Si desea cifrar /boot bien como una partición separada o como parte de la partición raíz /, se requiere una configuración adicional. Consulte #Partición de arranque.
Sugerencia: Si está actualizando desde una configuración de GRUB Legacy en funcionamiento, compruebe /boot/grub/menu.lst.pacsave para agregar el dispositivo/etiqueta correcto. Localícelo después del texto kernel /vmlinuz-linux.

Partición de arranque

GRUB puede configurarse para solicitar una contraseña para abrir un dispositivo de bloque LUKS a fin de leer su configuración y cargar cualquier initramfs y kernel desde él. Esta opción intenta resolver el problema de tener una partición de arranque sin cifrar. /boot no necesita estar en una partición separada; puede estar en el mismo árbol de directorios del sistema raíz /.

Advertencia: GRUB no admite encabezados LUKS2. Asegúrese de no especificar luks2 en la línea de parámetros al crear la partición cifrada usando la orden cryptsetup luksFormat.

Para activar esta función, encripte la partición en la que resida /boot utilizando LUKS de forma normal. A continuación, agregue la siguiente opción a /etc/default/grub:

/etc/default/grub
GRUB_ENABLE_CRYPTODISK=y

Asegúrese de #Generar el archivo de configuración principal cuando la partición que contiene /boot esté montada

Sin más cambios, se le solicitará dos veces una contraseña: la primera para GRUB para desbloquear el punto de montaje /boot en el arranque temprano, y la segunda para desbloquear el sistema de archivos raíz como se describe en #Partición raíz. Puede utilizar un keyfile para evitar esta doble contraseña.

Nota:
  • Si utiliza una distribución de teclado distinta de la predeterminada (US), 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 cifrado con LUKS.
  • Para realizar actualizaciones del sistema que afecten el punto de montaje /boot, asegúrese de que /boot cifrado esté desbloqueado y montado antes de realizar una actualización. Con una partición /boot separada, esto puede lograrse automáticamente al arrancar usando crypttab con un archivo de claves.
  • Si tiene problemas para que la solicitud de una contraseña se muestre en la pantalla (errores relacionados con cryptouuid, cryptodisk o «device not found»), pruebe volviendo a instalar grub como se indica a continuación, agregando lo siguiente al final de la orden de instalación:
# grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=grub --modules="part_gpt part_msdos"

Entradas múltiples

Para obtener sugerencias sobre la administración de varias entradas de GRUB, por ejemplo, al usar tanto kernel linux como linux-lts kernels, consulte GRUB/Tips and tricks (Español)#Múltiples entradas.

Cargar en cadena un archivo .efi de Arch Linux

Si tiene un archivo .efi generado a partir de Secure Boot u otros medios, se puede editar /etc/grub.d/40_custom para agregar una nueva entrada de menú antes de regenerar grub.cfg con grub-mkconfig.

/etc/grub.d/40_custom
menuentry 'Arch Linux .efi' {
insmod part_gpt
insmod chain
set root='(hdX,gptY)'
chainloader /EFI/path/file.efi
}

Arranque dual

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

Notes: Same topic, substituting USB drives for SATA drives is trivial. (Discuss in Talk:GRUB (Español)#)

La mejor forma de agregar otras entradas es editando /etc/grub.d/40_custom o /boot/grub/custom.cfg. Las entradas en este archivo se agregarán automáticamente después de volver a ejecutar grub-mkconfig.

Entrada de menú para «Apagar»

menuentry "System shutdown" {
	echo "System shutting down..."
	halt
}

Entrada de menú para «Reiniciar»

menuentry "System restart" {
	echo "System rebooting..."
	reboot
}

Entrada de menú para «configurar Firmware» (solo para UEFI)

menuentry "Firmware setup" {
	fwsetup
}

Entrada de menú para GNU/Linux

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

menuentry "Otro Linux" {
	set root=(hd0,2)
	linux /boot/vmlinuz (añada aquí otras opciones necesarias)
	initrd /boot/initrd.img (si el otro kernel utiliza/necesita uno)
}

Alternativamente, deje que GRUB busque la partición correcta por UUID o label:

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

        # búsqueda por etiqueta OTRO_LINUX (asegúrese de que la etiqueta de la partición no sea ambigua)
        #search --set=root --label OTHER_LINUX

	linux /boot/vmlinuz (añada otras opciones aquí si es necesario, por ejemplo: root=UUID=763A-9CB6)
	initrd /boot/initrd.img (si el otro kernel utiliza/necesita uno)
}

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

Este modo determina dónde reside el gestor de arranque de Windows y permite alternar su carga después de Grub cuando se selecciona su entrada en el menú. La principal tarea aquí es encontrar la partición EFI y ejecutar el gestor de arranque desde allí.

Nota: Este «menuentry» solo funcionará en modo de arranque UEFI y solo si el bit de Windows coincide con el bit de UEFI. No funcionará en sistemas BIOS con GRUB instalado. Consulte Dual boot with Windows#Windows UEFI vs BIOS limitations y Dual boot with Windows#Bootloader UEFI vs BIOS limitations para obtener más información.
if [ "${grub_platform}" == "efi" ]; then
	menuentry "Microsoft Windows Vista/7/8/8.1 UEFI/GPT" {
		insmod part_gpt
		insmod fat
		insmod search_fs_uuid
		insmod chain
		search --fs-uuid --set=root $hints_string $fs_uuid
		chainloader /EFI/Microsoft/Boot/bootmgfw.efi
	}
fi

donde $hints_string y $fs_uuid se obtienen con las dos siguientes órdenes.

La orden $fs_uuid determinará el UUID de la partición EFI:

# grub-probe --target=fs_uuid esp/EFI/Microsoft/Boot/bootmgfw.efi
1ce5-7f28

De otra forma, se puede ejecutar blkid (como root) y leer el UUID de la partición del sistema EFI desde allí.

La orden $hints_string determinará la ubicación de la partición del sistema EFI, en este caso, el disco duro es 0:

# 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 suponen que el uso de la ESP de Windows está montada en esp. Puede haber diferencias entre mayúsculas y minúsculas en la ruta al archivo EFI de Windows, what with being Windows, and all.

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

Nota: GRUB admite el arranque de bootmgr directamente y ya no es necesario alternar la carga del sector de arranque de la partición para iniciar Windows en una configuración de BIOS/MBR.
Advertencia: Esta es la system partition que contiene /bootmgr, no la partición de Windows «real» (generalmente C:). En la salida de blkid, la partición del sistema es la que tiene LABEL="SYSTEM RESERVED" o LABEL="SYSTEM" y solo tiene entre 100 y 200 MB de tamaño (muy parecido a la partición de arranque para Arch). Consulte Wikipedia:System partition and boot partition para más información.

A lo largo de esta sección, presumiremos que la partición de Windows es /dev/sda1. Una partición diferente cambiará cada instancia de hd0, msdos1. Agregue el código correspondiente a /etc/grub.d/40_custom o a /boot/grub/custom.cfg y regenere grub.cfg con grub-mkconfig, como se explicó anteriormente, para arrancar Windows (XP, Vista, 7, 8 o 10) instalado en la modalidad BIOS/MBR:

Nota: Estas entradas del menú funcionarán solo en la modalidad de arranque de sistemas BIOS. No funcionará en UEFI con GRUB instalado. Consulte Dual boot with Windows#Windows UEFI vs BIOS limitations y Dual boot with Windows#Bootloader UEFI vs BIOS limitations .

En ambos ejemplos XXXXXXXXXXXXXXXX es el UUID del sistema de archivos, que se puede encontrar con la orden lsblk --fs.

Para Windows Vista/7/8/8.1/10:

if [ "${grub_platform}" == "pc" ]; then
  menuentry "Microsoft Windows Vista/7/8/8.1/10 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 XXXXXXXXXXXXXXXX
    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 XXXXXXXXXXXXXXXX
    ntldr /ntldr
  }
fi
Nota: En algunos casos, GRUB puede instalarse sin un Windows 8 limpio, en cuyo caso no puede iniciar Windows sin tener un error con \boot\bcd (código de error 0xc000000f). Puede solucionarlo acudiendo a la consola de recuperación de Windows -Windows Recovery Console- (cmd.exe desde el disco de instalación) y ejecutando:
X:\> bootrec.exe /fixboot
X:\> bootrec.exe /RebuildBcd

«No» utilice bootrec.exe /Fixmbr porque borrará GRUB. O puede usar la función de Reparación de Arranque («Boot Repair») en el menú Solución de Problemas -no eliminará GRUB sino que arreglará la mayoría de los errores-. Además, será mejor que permanezca TAN SOLO conectado al disco duro de destinoy al dispositivo de arranque. Windows normalmente no puede reparar la información de arranque si hay otros dispositivos conectados.

/etc/grub.d/40_custom puede ser usado como plantilla para crear /etc/grub.d/nn_custom. Donde nn define el orden de prelación, indicando el orden en que se ejecuta el script. El orden de ejecución de los scripts determinan su ubicación en el menú de inicio de grub.

Nota: nn debe ser mayor a 06 para garantizar que los scripts necesarios se ejecuten primero.

Utilizar la consola de intérprete de órdenes

Como el MBR es demasiado pequeño para almacenar todos los módulos de GRUB, solo el menú y algunas órdenes básicas residen allí. La mayoría de la funcionalidad de GRUB está contenida en los módulos ubicados en /boot/grub, que se cargarán cuando sean necesarios. En condiciones de error (por ejemplo, si el diseño de la partición cambia), GRUB puede no iniciarse. Cuando esto sucede, puede lanzar una consola.

GRUB ofrece múltiples shells/prompts. Si hay un problema al leer el menú, pero el gestor de arranque puede encontrar el disco, es probable que se le presente la consola «normal»:

grub>

Si hay un problema más grave (por ejemplo, GRUB no puede encontrar los archivos requeridos), en su lugar puede presentar la consola de «rescate»:

grub rescue>

La consola de rescate es una versión reducida de la normal, y ofrece, por lo tanto, un número reducido de funcionalidades. Si se presenta la consola de rescate, primero trate de cargar el módulo «normal» y, a continuación, inicie la consola 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 es compatible con «pager» (paginador o localizador) que permite la lectura de las órdenes que proporcionan «salidas» extensas (como la orden help). Tenga en cuenta que esta característica solo está disponible en la consola normal y no en la de rescate. Para activar pager, escriba en la consola de órdenes de GRUB:

sh:grub> set pager=1

Usar el entorno de la consola de intérprete de órdenes para arrancar distintos sistemas operativos

grub>

El entorno de la consola de GRUB se puede usar para arrancar sistemas operativos. Un escenario común puede ser iniciar Windows/Linux almacenado en una unidad/partición a través de carga alternativa.

La carga alternativaChainloading») significa poder cargar otro cargador de arranque desde el que está corriendo, es decir, cargar en cadena.

El otro gestor de arranque puede estar incrustado al inicio del disco (MBR) o al comienzo de una partición o como un binario EFI en la ESP en el caso de UEFI.

Alternar el arranque desde una partition

set root=(hdX,Y)
chainloader +1
boot

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

Por ejemplo, cargar alternativamente Windows almacenado en la primera partición del primer disco duro,

set root=(hd0,1)
chainloader +1
boot

Del mismo modo, se puede alternar la carga de GRUB instalado en una partición.

Alternar el arranque desde un disco/unidad

set root=hdX
chainloader +1
boot

Alternar el arranque de Windows/Linux instalados en modalidad UEFI

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

insmod ntfs se usa para cargar el módulo de sistema de archivos ntfs para Windows. (hd0,gpt4) o /dev/sda4 es la partición de mi sistema EFI (ESP). La entrada en la línea chainloader especifica la ruta del archivo .efi cuya carga se alternará.

Cargar en modo normal

Consulte el ejemplo en #Utilizar la consola de rescate

Utilizar la consola de rescate

Consulte primero #Utilizar la consola de rescate más arriba. Si no es capaz de iniciar la shell estándar, una posible solución es arrancar un liv eCD 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 raíz):

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

donde X es el número de la unidad y la Y de la partición.

Nota: Si está usando una partición de arranque separada, se omite /boot en la ruta. (por ejemplo, set prefix=(hdX,Y)/grub).

Para ampliar las capacidades de la consola, inserte el módulo linux:

grub rescue> insmod i386-pc/linux.mod

o simplemente:

grub rescue> insmod linux

Esto proporciona órdenes de linux y initrd, con las que debe estar familiarizado.

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 (por ejemplo, usando UEFI), cambie las órdenes en consecuencia:

Nota: Cuando el arranque es desde una partición separada y no parte de la partición raíz, debe direccionar a la partición de arranque manualmente, indicando la variable correspondiente.
set root=(hd0,5)
linux (hdX,Y)/vmlinuz-linux root=/dev/sda6
initrd (hdX,Y)/initramfs-linux.img
boot
Nota: Si se experimentó el mensaje error: premature end of file /EL_NOMBRE_DEL_KERNEL durante la ejecución de la orden linux, pruebe usuando linux16 en su lugar.

Tras el lanzamiento con éxito de una instalación de Arch Linux, los usuarios pueden corregir grub.cfg si fuese necesario y proceder a reinstalar 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

F2FS y otros sistemas de archivos sin soporte

GRUB no es compatible con el sistema de archivos F2FS. En caso de que la partición raíz corra sobre un sistema de archivos no compatible, se debe crear una partición /boot alternativa formateada con un sistema de archivos compatible. En algunos casos, la versión de desarrollo de GRUB, grub-gitAUR, puede tener soporte nativo para el sistema de archivos.

La BIOS de Intel no arranca con 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 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 1007 KiB 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: La marca de «bootable» puede hacerse en fdisk o similar, no con GParted u otros, ya que no configurarán el marcador de inicio en el MBR.

Con cfdisk, los pasos son similares, bastando con cfdisk/dev/sda, elija el dispositivo de arranque (a la izquierda) en el disco duro deseado y salga guardando.

Con la versión más reciente de parted, puede usar la opción disk_toggle pmbr_boot. Luego verifique que los indicadores del disco muestren pmbr_boot.

# parted /dev/sdx disk_toggle pmbr_boot
# parted /dev/sdx print

Para más información consulte esto

Activar mensajes de depuración de errores

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 sería esp/EFI/grub/:

# cp /usr/share/grub/unicode.pf2 ${GRUB_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 (sin salidat) aunque el arranque (en curso) se haga con normalidad, sin que el sistema se bloquee:

BIOS systems:

insmod vbe

UEFI systems:

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 ${GRUB_PREFIX_DIR}.

Mensaje de error msdos-style

grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding will not 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í. 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. Consulte #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 montando efivarfs.
  • 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 consola de emergencia

Si GRUB carga, pero le deja en la consola de rescate sin errores, puede deberse a dos razones:

  • 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.
  • Que la identificación de la partición de arranque, que está codificada en el archivo grubx64.efi, haya cambiado.

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. La entrada para GRUB debería verse así:

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

Ruta de arranque default/fallback

Algunos firmwares UEFI requieren un archivo de arranque en una ubicación conocida antes de que se muestren las entradas de arranque UEFI NVRAM. Si este es el caso, grub-install solicitará que efibootmgr haya agregado una entrada para iniciar GRUB, sin embargo, la entrada no se mostrará en el selector del orden de arranque de VisualBIOS. La solución es instalar GRUB en la ruta de arranque default/fallback:

# grub-install --target=x86_64-efi --efi-directory=esp --removable

De forma alternativa, puede mover un ejecutable de GRUB EFI ya instalado a la ruta default/fallback:

# mv esp/EFI/grub esp/EFI/BOOT
# mv esp/EFI/BOOT/grubx64.efi esp/EFI/BOOT/BOOTX64.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 kernel y el ramdisk inicial, pruebe eliminando add_efi_memmap de los parámetros del kernel.

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.

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 mostrar 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 [2]. 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.

grub-reboot no reinicia

GRUB parece incapaz de escribir a particiones root en BTRFS [3]. Si usa grub-reboot para reiniciar en otra entrada no podra actualizar su entorno en-disco. Por lo tanto ejecute grub-reboot desde la otra entrada (por ejemplo, al cambiar entre varias distribuciones) o considere un sistema de archivos distinto. Es posible resetear una entrada "pegajosa" ejecutando grub-editenv create y estableciendo GRUB_DEFAULT=0 en su /etc/default/grub (recuerde ejecutar grub-mkconfig -o /boot/grub/grub.cfg).

El sistema de archivos BTRFS antiguo presiste en la instalación

Si una unidad fue formateada con BTRFS sin haber creado una tabla de particiones (por ejemplo /dev/sdx), y, porteriormente, se reescribe (con otro sistema de archivos) sobre dicha tabla de particiones, habrá partes del formato BTRFS que permanecerán. La mayoría de las utilidades y sistemas operativos no ven esto, pero GRUB se negará a instalar, incluso con la opción --force

# grub-install: warning: Attempting to install GRUB to a disk with multiple partition labels. This is not supported yet..
# grub-install: error: filesystem `btrfs' does not support blocklists.

Puede borrar con ceros la unidad, pero la solución más sencilla que deja en blanco sus datos es borrar la superbloque BTRFS con wipefs -o 0x10040 /dev/sdx

Windows 8/10 no es encontrado

Una configuración en Windows 8/10 llamada «Hiberboot», «Hybrid Boot» or «Fast Boot» puede evitar que se monte la partición de Windows, por lo que grub-mkconfig no encontrará una instalación de Windows. La desactivación de Hiberboot en Windows permitirá que se agregue al menú de GRUB.

Modalidad EFI en VirtualBox

Instale GRUB en la ruta de arranque default/fallback.

Consulte también VirtualBox#Installation in EFI mode.

Consulte también