Difference between revisions of "Start X at login (Español)"

From ArchWiki
Jump to: navigation, search
(Actualización: 2012-10-02)
(Shell profile)
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Boot loaders (Español)]]
+
[[Category:X Server (Español)]]
[[cs:GRUB2]]
+
[[Category:Boot process (Español)]]
[[en:GRUB2]]
+
[[en:Start X at Boot]]
[[fr:GRUB2]]
+
[[fr:Startx]]
[[id:GRUB2]]
+
[[hu:Start X at Boot]]
[[it:GRUB2]]
+
[[it:Start X at Boot]]
[[ru:GRUB2]]
+
[[pt:Start X at Boot]]
[[tr:GRUB2]]
+
[[ru:Start X at Boot]]
[[zh-CN:GRUB2]]
+
[[th:Start X at Boot]]
[[zh-TW:GRUB2]]
+
[[zh-CN:Start X at Login]]
 
{{Article summary start|Sumario}}
 
{{Article summary start|Sumario}}
{{Article summary text|Este artículo describe varios aspectos de GRand Unified Bootloader (GRUB2) de próxima generación.}}
+
{{Article summary text|Cómo iniciar X automáticamente después de iniciar sesión en un terminal virtual.}}
{{Article summary heading|Descripción}}
+
{{Article summary text|Para poder iniciar Arch Linux, es necesario tener instalado en el [[Master_Boot_Record_(Español)|Master Boot Record (MBR)]] o en la [[GUID_Partition_Table_(Español)|GUID Partition Table (GPT)]] un gestor de arranque compatible con Linux como '''GRUB(2)''', [[Syslinux_(Español)|Syslinux]], [[LILO|LILO]] o [[GRUB_Legacy|GRUB Legacy]]. El gestor de arranque es responsable de cargar el kernel y el [[Mkinitcpio_(Español)|ramdisk inicial]] antes de iniciar el [[Arch_Boot_Process_(Español)|proceso de arranque]].}}
+
 
{{Article summary heading|Relacionado}}
 
{{Article summary heading|Relacionado}}
{{Article summary wiki|Burg}} - Burg es un gestor de arranque de nueva concepción basado en GRUB2. Es un nuevo formato de objeto que permite ser compilado para varios sistemas operativos, incluyendo Linux, Windows, OSX, Solaris, FreeBSD, etc. También dispone de un sistema de menú altamente configurable que funciona tanto en modalidad gráfica, como textual
+
{{Article summary wiki|Automatic login to virtual console (Español)}}
{{Article summary heading|Resursos}}
+
{{Article summary wiki|Display Manager (Español)}}
{{Article summary wiki|GRUB_EFI_Examples}}
+
{{Article summary wiki|Xinitrc (Español)}}
{{Article summary link|GNU GRUB -- GNU Project|http://www.gnu.org/software/grub/}}
+
 
{{Article summary end}}
 
{{Article summary end}}
[http://www.gnu.org/software/grub/ GRUB2] es la nueva versión de GRand Unified Bootloader (GRUB). GRUB2 derivada de [http://www.nongnu.org/pupa/ PUPA], un proyecto de investigación destinado a mejorar el GRUB: ha sido totalmente reescrito a fin de proporcionar una mayor modularidad y portabilidad [https://www.gnu.org/software/grub/grub-faq].
+
Un [[Display Manager|gestor de pantalla]] se puede utilizar para proporcionar al usuario una pantalla de inicio de sesión e iniciar automáticamente el [[X server|servidor X.]] Este artículo explica cómo iniciar manualmente el servidor X desde un terminal virtual existente.
  
En resumen, el ''bootloader'' es el primer programa que se ejecuta cuando se inicia el equipo. Es responsable de cargar y transferir el control al kernel Linux, que, a su vez, inicializa el resto del sistema operativo.
+
Para iniciar manualmente X, se utiliza {{ic|startx}} o {{ic|xinit}}. Tanto uno como otro, ejecutarán {{ic|~/.xinitrc}}, el cual puede ser personalizado para iniciar el gestor de ventanas seleccionado, como se describe en el artículo [[xinitrc]] .
  
==Prefacio ==
+
==Archivo del perfil de la Shell==
  
Antes de comenzar, he aquí algunas aclaraciones útiles:
+
{{Nota|El siguiente procedimiento iniciará X en la misma tty que utiliza para iniciar sesión, condición necesaria para que se mantengan los permisos locales.}}
  
* El nombre de ''GRUB'' oficialmente se refiere a la versión 2 del software, consulte [https://www.gnu.org/software/grub/]. Si usted está buscando el artículo para la versión Legacy, consulte [[GRUB Legacy]].
+
* Para [[Bash]], añada lo siguiente al final de {{ic|~/.bash_profile}}. Si el archivo no existe, utilice una copia de {{ic|/etc/skel/.bash_profile}}.
  
* [[GRUB Legacy]] (version 0.9x) es considerada obsoleta por upstream, y está siendo reemplazado por GRUB2 y [[Syslinux|Syslinux]] en Arch Linux. Upstream recomienda instalar GRUB2 >=1,99 para los usuarios que utilicen el antiguo GRUB Legacy.
+
* Para [[Zsh]], añada lo siguiente a {{ic|~/.zprofile}}, en su lugar.
 
+
{{bc|1=<nowiki>
* El script de instalación de la ISO [[Archboot]] soporta la instalación de {{Pkg|grub-bios}} y {{Pkg|grub-efi-x86_64}}.
+
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
 
+
* Desde la versión 1.99-6 en adelante, el sistema de archivos [[Btrfs|Btrfs]] es compatible con la raíz {{ic|/}} (lo que elimina la necesidad de una partición {{ic|/boot}} separada con un sistema de archivos diferente). También son compatibles los algoritmos de compresión zlib o LZO.
+
 
+
* Para más información sobre UEFI GRUB2, es recomendable consultar las páginas [[UEFI]], [[GPT]] y [[UEFI_Bootloaders]] antes de leer este artículo.
+
 
+
===Nota para los usuarios de GRUB Legacy===
+
 
+
* A pesar de que GRUB Legacy no se elimina del sistema y sigue siendo totalmente funcional, se recomienda que se actualice a la versión de GRUB 2.x, o usar un gestor de arranque diferente entre los admitidos.
+
 
+
* La actualización de [[GRUB Legacy]] a [[GRUB]](2) es un proceso muy similar al de una instalación limpia de GRUB2, argumento tratado [[GRUB2_(Español)#Instalación|aquí]].
+
 
+
* Hay diferencias en los comandos de GRUB y GRUB2. Le recomendamos que se familiarice con los [https://www.gnu.org/software/grub/manual/grub.html#Commands comandos de GRUB2] antes de continuar. (Por ejemplo, "find" (encontrar) ha sido reemplazado por "search" (buscar)).
+
 
+
* GRUB2 es ahora ''modular'', y ya no requiere "stage 1.5". En consecuencia, el gestor de arranque tiene una capacidad limitada y los módulos son cargados desde el disco duro en caso de necesidad (por ejemplo, si usted necesita soporte de [[LVM]] o RAID).
+
 
+
* Las reglas de la nomenclatura de los dispositivos se cambian de GRUB a GRUB2: Los discos duros están siendo ahora numerados a partir de 0, mientras que las particiones comienzan en 1 y son seguidos por el nombre del sistema de particionamiento usado. Por ejemplo, {{ic|/dev/sda1}} hace referencia a {{ic|(hd0,msdos1)}} (para sistemas que usan MBR), o  a {{ic|(hd0,gpt1)}} (para los sistemas que usan GPT).
+
 
+
===Requisitos previos para GRUB2 ===
+
 
+
====Sistemas BIOS====
+
 
+
=====Instrucciones específicas para [[GPT]]=====
+
 
+
Para acloparse a la BIOS-GPT, GRUB2 requiere una partición propia ([http://www.gnu.org/software/grub/manual/html_node/BIOS-installation.html#BIOS-installation BIOS Boot Partition]), en la que se ubica su {{ic|core.img}}, ante la carencia de espacio (31KiB) después de MBR en los sistemas que utilizan el método de particionado GPT (en dicho lugar se ubica la GPT Primary Header y la Primary Partition Table).
+
Esta partición se utiliza por GRUB2 sólo en las configuraciones de  BIOS-GPT, y no es necesario cuando se utiliza el método clásico de particionado (MBR) o si está en un sistema UEFI. Syslinux tampoco requiere esta partición.
+
 
+
Para las configuraciones de BIOS-GPT, cree una partición de aproximadamente 2MiB usando cgdisk o GNU Parted sin asignarle un sistema de archivos. La localización de la partición no es importante, pero es aconsejable colocarla cerca del inicio del disco, y antes de la partición {{ic|/boot}}. Se le asigna a la partición el tipo {{ic|EF02}} si se está usando cgdisk, o {{ic|set <BOOT_PART_NUM> bios_grub on}} si se usa GNU Parted.
+
 
+
{{Nota|Se debe crear la partición en cuestión antes de ejecutar el comando {{ic|grub-install}} o {{ic|grub-setup}}, o antes de instalar el gestor de arranque durante la instalación Arch Linux (si ha elegido como su gestor de arranque GRUB2 BIOS)}}
+
 
+
=====Instrucciones específicas para [[MBR]] (msdos)=====
+
 
+
Por lo general, el espacio usable después de MBR (después de los 512 bytes dedicados a ella, y antes de la primera partición), es de 31 Kb, si hay algún problema de alineación de cilindros se resuelven en la tabla de particiones. Sin embargo, se recomienda mantener una distancia de aproximadamente 1 MiB para proporcionar el espacio suficiente para contener {{ic|core.img}} de GRUB2.  ({{bug|24103}}). Es recomendable utilizar una herramienta de particionado que permita la alineación de una partición de 1 MiB después de MBR para 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}}).
+
 
+
Si usted no tiene instalado MS Windows y, por lo tanto, no tiene una configuración de arranque dual, debería plantearse cambiar a una tabla de particiones GPT: [[GUID_Partition_Table#Convert_from_MBR_to_GPT|convertir MBR a GPT]].
+
 
+
{{Advertencia|Debe crear una partición de 2 MiB, como se ha mencionado anteriormente, si va a cambiarse a un esquema de particiones GPT. Si no lo hace, gparted no redimensiona por sí el tamaño de la partición de arranque para permitir su creación, y, cuando reinicie el sistema,  GRUB2 no sabrá dónde buscar.}}
+
 
+
====Sistemas UEFI====
+
 
+
=====Crear y montar la partición UEFI del sistema  =====
+
 
+
{{Nota|Para más información sobre GRUB2 UEFI, es recomendable consultar las páginas [[UEFI]], [[GPT]] y [[UEFI_Bootloaders]] antes de seguir esta parte.}}
+
 
+
Siga las instrucciones sobre [[Unified Extensible Firmware Interface#UEFI_System_Partition|crear una partición UEFI del sistema]]. A continuación, proceda a montar la partición {{ic|/boot/efi}}. Si la partición está montada en algún otro punto de montaje, sustituir {{ic|/boot/efi}} en consecuencia en los comandos siguientes:
+
 
+
{{bc|
+
# mkdir -p /boot/efi
+
# mount -t vfat <UEFISYS_PART_DEVICE> /boot/efi
+
}}
+
 
+
Si no existe el directorio, se crea igualmente <PARTICIÓN_UEFI_DEL_SISTEMA>{{ic|/EFI}}
+
# mkdir -p /boot/efi/EFI
+
 
+
==Instalación ==
+
 
+
===Sistemas BIOS===
+
 
+
=====Realizar una copia de seguridad de los datos importantes=====
+
 
+
En general, la instalación de GRUB(2) debería ser un éxito, pero es recomendable conservar los archivos de GRUB-legacy antes de instalar el paquete {{Pkg|grub-bios}}.
+
 
+
# mv /boot/grub /boot/grub-legacy
+
 
+
Haga una copia de seguridad del MBR dado que contiene el código de arranque y la tabla de particiones (Sustituya {{ic|/dev/sd'''X'''}} con el ID de su disco):
+
 
+
# dd if=/dev/sdX of=/path/to/backup/mbr_backup bs=512 count=1
+
 
+
Sólo los primeros 446 bytes del MBR contiene el código de arranque, mientras que los 64 restantes están dedicados a la tabla de particiones. Si no desea sobrescribirla, durante una eventual recuperación, se recomienda hacer copia de seguridad sólo el código de arranque:
+
 
+
# dd if=/dev/sdX of=/path/to/backup/bootcode_backup bs=446 count=1
+
 
+
Si usted no ha sido capaz de instalar con éxito GRUB2, consulte [[#Restaurar_GRUB_Legacy|Restaurar GRUP Legacy]].
+
 
+
====Instalar paquete grub-bios====
+
 
+
GRUB(2) se puede instalar con pacman, y reemplazar {{Pkg|grub-legacy}} o {{Pkg|grub}}, si está instalado.
+
 
+
# pacman -S grub-bios
+
 
+
{{Nota|Simplemente instalando el paquete no actualiza el archivo {{ic|/boot/grub/i386-pc/core.img}} o los módulos de GRUB(2) en {{ic|/boot/grub/i386-pc}}. Es necesario actualizar la imagen {{ic|core.img}} y los módulos de forma manual utilizando {{ic|grub-install}}, como se explica a continuación.}}
+
 
+
==== Instalar los archivos de arranque grub2====
+
 
+
Hay tres formas de instalar los archivos de arranque GRUB(2) en el sistema BIOS :
+
 
+
*[[#Instalación en la región de 440 bytes del MBR]] (recomendado)
+
*[[#Instalación en una partición o disco sin particiones]] (en desuso)
+
*[[#Generar únicamente core.img]] (el método más seguro, pero requiere de un gestor de arranque diferente [[grub-legacy]] o [[syslinux]], que permitirá el cambio de {{ic|/boot/grub/i386-pc/core.img}}).
+
 
+
=====Instalación en la región de 440 bytes del MBR=====
+
 
+
Para instalar {{ic|grub-bios}} en la región de 440 bytes relativa al código de arranque, también llamada Master Boot Record, ubicado en el directorio {{ic|/boot/grub}}, cree {{ic|/boot/grub/i386-pc/core.img}}, e insértelo en el sector de 31KiB (el tamaño varía dependiendo de la alineación de las particiones) post-MBR o en la partición del boot de la BIOS(partición GPT), ejecutando:
+
 
+
# modprobe dm-mod
+
# grub-install --target=i386-pc --recheck --debug /dev/sda
+
# mkdir -p /boot/grub/locale
+
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
+
 
+
donde {{ic|/dev/sda}} es la partición de destino (En el caso de particiones MBR, se refiere a la primera unidad de disco SATA). Si utiliza [[LVM]] para la partición {{ic|/boot}}, puede instalar GRUB2 en todos los discos físicos.
+
 
+
{{Nota|Sin especificar las opciones {{ic|--target}} o {{ic|--directorio}}, {{ic|grub-install}}  no logra determinar el tipo de firmware en el que GRUB2 se instalará, lo que mostrará el siguiente mensaje de error : {{ic|source_dir doesn't exist. Please specify --target or --directory.}}}}
+
{{Nota|Después de ejecutar el comando {{ic|grub-install}}, el directorio {{ic|/boot/grub/locale}} es posible que ya exista, por lo tanto, ejecutar {{ic|# mkdir -p /boot/grub/locale}} será inútil.}}
+
 
+
La opción {{ic|--no-floppy}} dice a {{ic|grub-bios}} que no busque los dispositivos floppy, lo que reduce significativamente el tiempo de ejecución de {{ic|grub-install}} en muchos sistemas, y previene la aparición del problema siguiente:
+
 
+
grub-probe: error: Cannot get the real path of '/dev/fd0'
+
Auto-detection of a filesystem module failed.
+
Please specify the module with the option '--modules' explicitly.
+
 
+
{{Nota|La opción {{ic|--no-floppy}} fue retirada de {{ic|grub-install}} en la versión 2.00~beta2, y fue reemplazado por {{ic|--allow-floppy}}.}}
+
 
+
{{Advertencia|Asegúrese de revisar el contenido del directorio {{ic|/boot}} si se utiliza el segundo comando. El parámetro {{ic| boot-directory}} a veces puede crear una segunda carpeta {{ic|/boot}} dentro de la ya existente. La instalación incorrecta de GRUB, se ve así: {{ic|/boot/boot/grub/}}.}}
+
 
+
=====Instalación en una partición o disco sin particiones=====
+
 
+
{{Nota|{{ic|grub-bios}} (cualquier versión, incluida la fase de desarrollo en el repositorio de Bazaar) no alienta a los usuarios a instalar en el sector de arranque de una partición o disco sin particiones, contrariamente a lo que hace syslinux o GRUB Legacy. Esta opción no es recomendable, incluso por los desarrolladores de Arch Linux.}}
+
 
+
Para instalar el sector de arranque grub2 de una partición o disco sin particiones (por ejemplo, superfloppy), ejecutar (suponiendo que el dispositivo es {{ic|/dev/sdaX}} y corresponde a la partición {{ic|/boot}}):
+
 
+
# modprobe dm-mod
+
# chattr -i /boot/grub/i386-pc/core.img
+
# grub-install --target=i386-pc --recheck --debug --force /dev/sdaX
+
# mkdir -p /boot/grub/locale
+
# cp /usr/share/locale/en@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
+
# chattr +i /boot/grub/i386-pc/core.img
+
 
+
Usted necesitará la opción {{ic|--force}} para permitir el uso de blocklists, pero no se debe usar {{ic|1=--grub-setup=/bin/true}}, lo que equivale a generar únicamente {{ic|core.img}}).
+
 
+
Usted recibirá los mensajes de advertencia que sirven para explicar los riesgos de este enfoque:
+
 
+
/sbin/grub-setup: warn: Attempting to install GRUB to a partitionless disk or to a partition. This is a BAD idea.
+
/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists.
+
                        However, blocklists are UNRELIABLE and their use is discouraged.
+
 
+
Sin la opción {{ic|--force}}, recibirá el siguiente error y, consiguientemente, {{ic|grub-setup}} no podrá instalar su propio código en el MBR.
+
 
+
/sbin/grub-setup: error: will not proceed with blocklists
+
 
+
Especificando {{ic|--force}}, sin embargo, debe obtener:
+
 
+
Installation finished. No error reported.
+
 
+
{{ic|grub-setup}} no lo hace automáticamente al instalar el gestor de arranque en una partición, o en un disco sin particiones, ya que se basa en el mismo blocklists integrado en el sector de arranque de la partición para localizar {{ic|/boot/grub/i386-pc/core.img}} y la ruta al directorio {{ic|/boot/grub}}. Las áreas que contienen los archivos de arriba pueden cambiar en caso de alteración de la partición (al copiar o borrar archivos, etc.) Para obtener más información, consulte https://bugzilla.redhat.com/show_bug.cgi?id=728742 y https://bugzilla.redhat.com/show_bug.cgi?id=730915.
+
 
+
La solución propuesta consiste en establecer la etiqueta de inmutable a {{ic|/boot/grub/i386-pc/core.img}}, de modo que la posición de {{ic|core.img}} en el disco no se vea alterada. Esta opción debe ser establecida sólo si {{ic|grub-bios}} se encuentra instalado en una partición o disco sin particiones, y NO en el caso de una instalación sencilla en el MBR o la generación de {{ic|core.img}} sin incorporarla en ningún sector de arranque (mencionado anteriormente).
+
 
+
=====Generar únicamente core.img =====
+
 
+
Para completar el directorio {{ic|/boot/grub}} y generar un {{ic|/boot/grub/i386-pc/core.img}} SIN instalar GRUB2 en el MBR, añada {{ic|1=--grub-setup=/bin/true}} a {{ic|grub-install}}:
+
 
+
# modprobe dm-mod
+
# grub-install --target=i386-pc --grub-setup=/bin/true --recheck --debug /dev/sda
+
# mkdir -p /boot/grub/locale
+
# cp /usr/share/locale/en@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
+
 
+
A continuación, puede realizar el traslado del {{ic|core.img}} a GRUB2 desde GRUB Legacy o syslinux.
+
 
+
====Crear un archivo de configuración de GRUB2 BIOS====
+
 
+
A continuación, generar un archivo de configuración de GRUB2 (puede encontrar más información en la sección "Configuración"):
+
 
+
  # grub-mkconfig -o /boot/grub/grub.cfg
+
 
+
{{Nota|La ubicación exacta es {{ic|/boot/grub/grub.cfg}}, NO {{ic|/boot/grub/i386-pc/grub.cfg}}.}}
+
 
+
Si grub2 muestra el error "no suitable mode found" durante el arranque, consulte [[#Corregir_el_error_GRUB2_"no_suitable_mode_found"|Corregir el error GRUB2 "no suitable mode found"]].
+
 
+
Si {{ic|grub-mkconfig}} no llegara a prosperar, convierta su {{ic|/boot/grub/menu.lst}} a {{ic|/boot/grub/grub.cfg}} con :
+
 
+
# grub-menulst2cfg /boot/grub/menu.lst /boot/grub/grub.cfg
+
 
+
Por ejemplo:
+
 
+
{{hc|/boot/grub/menu.lst|<nowiki>
+
default=0
+
timeout=5
+
 
+
title  Arch Linux Stock Kernel
+
root  (hd0,0)
+
kernel /vmlinuz-linux root=/dev/sda2 ro
+
initrd /initramfs-linux.img
+
 
+
title  Arch Linux Stock Kernel Fallback
+
root  (hd0,0)
+
kernel /vmlinuz-linux root=/dev/sda2 ro
+
initrd /initramfs-linux-fallback.img
+
 
</nowiki>}}
 
</nowiki>}}
  
{{hc|/boot/grub/grub.cfg|<nowiki>
+
{{Note|Se puede reemplazar la comparación {{ic|-eq 1}} por otra como {{ic|-le 3}} (de vt1 a vt3) si desea utilizar inicios de sesión gráfica en más de una VT.}}
set default='0'; if [ x"$default" = xsaved ]; then load_env; set default="$saved_entry"; fi
+
set timeout=5
+
 
+
menuentry 'Arch Linux Stock Kernel' {
+
  set root='(hd0,1)'; set legacy_hdbias='0'
+
  legacy_kernel  '/vmlinuz-linux' '/vmlinuz-linux' 'root=/dev/sda2' 'ro'
+
  legacy_initrd '/initramfs-linux.img' '/initramfs-linux.img'
+
 
+
}
+
 
+
menuentry 'Arch Linux Stock Kernel Fallback' {
+
  set root='(hd0,1)'; set legacy_hdbias='0'
+
  legacy_kernel  '/vmlinuz-linux' '/vmlinuz-linux' 'root=/dev/sda2' 'ro'
+
  legacy_initrd '/initramfs-linux-fallback.img' '/initramfs-linux-fallback.img'
+
}
+
</nowiki>}}
+
 
+
Si se ha reiniciado el sistema, olvidándose de crear {{ic|/boot/grub/grub.cfg}} ejecute el arranque en la shell de comandos del GRUB2 y escriba:
+
 
+
sh:grub> insmod legacycfg
+
sh:grub> legacy_configfile ${prefix}/menu.lst
+
 
+
Ellos hacen de arranque en Arch Linux y vuelve a crear {{ic|/boot/grub/grub.cfg}} de manera adecuada.
+
 
+
{{Nota|La opción anterior sólo funciona en los sistemas BIOS, no en los sistemas UEFI.}}
+
 
+
==== Multiboot para sistemas de BIOS ====
+
 
+
=====Inicio de Microsoft Windows en sistemas BIOS-MBR =====
+
 
+
{{Nota|GRUB2 soporta arrancar directamente de {{ic|bootmgr}} y la carga del sector de arranque no es necesaria para ejecutar Windows su configuración BIOS-MBR}}
+
 
+
{{Advertencia|Tenga en cuenta que {{ic|bootmgr}} está contenida en la partición etiquetada como {{ic|SYSTEM PARTITION}}, no en la principal que aloja el sistema de archivos de Windows. Usted puede localizarla usando {{ic|blkid}}, la cual no es más grande de 100MB, similar a la partición de boot de Arch. Consulte para más información http://en.wikipedia.org/wiki/System_partition_and_boot_partition.}}
+
 
+
Encontrar el UUID del sistema de archivos NTFS de la partición SYSTEM PARTITION de Windows, donde {{ic|bootmgr}} y sus archivos residen. Por ejemplo, si {{ic|bootmgr}} se encuentra en {{ic|/media/Windows/bootmgr}}:
+
 
+
# grub-probe --target=fs_uuid /media/Windows/bootmgr
+
69B235F6749E84CE
+
 
+
A continuación, agregue el anterior código en el archivo {{ic|/etc/grub.d/40-custom}} o {{ic|/boot/grub/custom.cfg}} y regenere {{ic|grub.cfg}} con {{ic|grub-mkconfig}} como se explicó anteriormente para cargar Windows instalado en la modalidad BIOS-MBR:
+
 
+
{{bc|1=
+
#!/bin/sh
+
menuentry "Microsoft Windows 7 BIOS-MBR" {
+
    insmod part_msdos
+
    insmod ntfs
+
    insmod search_fs_uuid
+
    insmod ntldr   
+
    search --fs-uuid --no-floppy --set=root 69B235F6749E84CE
+
    ntldr /bootmgr
+
}
+
}}
+
 
+
Para Windows XP:
+
 
+
{{bc|1=
+
menuentry "Microsoft Windows XP" {
+
    insmod part_msdos
+
    insmod ntfs
+
    insmod search_fs_uuid
+
    insmod ntldr   
+
    search --fs-uuid --no-floppy --set=root 69B235F6749E84CE
+
    ntldr /ntldr
+
}
+
}}
+
 
+
===Sistemas [[UEFI|UEFI]]===
+
 
+
{{Nota|Para más información sobre UEFI GRUB2, es recomendable consultar las páginas [[UEFI|UEFI]], [[GPT|GPT]] y [[UEFI_Bootloaders|UEFI_Bootloaders]] antes de leer esta parte.}}
+
 
+
==== Ejemplos UEFI para hardware específico ====
+
Es bien sabido que los fabricantes de placas base implementan UEFI de modo diferente. Los usuarios que experimenten para hacer que funcione correctamente Grub/EFI se les anima a compartir los pasos seguidos durante la instalación para determinar las diferencias en cuanto a lo que se describe a continuación. En un esfuerzo por mantener el artículo sobre [[GRUB]] lo más limpio y ordenado posibles, consulte la página [[GRUB EFI Examples|ejemplos para GRUB EFI]] para estos casos especiales.
+
 
+
====Instalar el paquete grub-uefi====
+
 
+
{{Nota|A menos que se especifique lo contrario, como EFI 1.x, EFI y UEFI son términos equivalentes para denotar firmware UEFI 2.x. Además, a menos que se especifique explícitamente, las instrucciones son de carácter general y no sólo a sistemas Mac. Algunos pueden no funcionar o ser diferentes en estos sistemas. La implementación EFI de Apple no es la versión EFI 1.1 ni UEFI 2.x, sino que incluye aspectos relacionados con ambos. Este tipo de firmware no es para cualquier versión de UEFI, por lo que no deben ser considerados como estándar.}}
+
 
+
El gestor de arranque EFI para GRUB(2) está disponible en Arch y sólo en la versión 1.99~rc1 en adelante. Para instalarlo, observe primeramente [[Unified_Extensible_Firmware_Interface#Detecting_UEFI_Firmware_Arch|detect which UEFI firmware arch]] la arquitectura de su firmware UEFI (i386 o x86_64).
+
 
+
Teniendo en cuenta esta información, instale el paquete adecuado.
+
 
+
Para firmware UEFI de 64-bit :
+
# pacman -S grub-efi-x86_64
+
 
+
Para firmware UEFI 32-bit:
+
# pacman -S grub-efi-i386
+
 
+
{{Nota|La simple instalación del paquete no actualizará el archivo {{ic|core.efi}} y los módulos de la partición del sistema UEFI GRUB(2). Usted tendrá que actualizarlos manualmente usando {{ic|grub-install}}, como se explica a continuación.}}
+
 
+
====Instalar los archivos de arranque de grub-uefi====
+
 
+
=====Instalación en la partición UEFI del sistema=====
+
 
+
{{Nota|Se supone que usted está utilizando los siguientes comandos:{{ic|grub-efi-x86_64}}. Sustituir por {{ic|grub-efi-i386}}, si fuera el caso, reemplazando cada aparición de {{ic|x86_64}} con {{ic|i386}}.}}
+
{{Nota|Para hacer que esto funcione necesita arrancar en modalidad UEFI y no mediante BIOS. Si se ha efectuado el arranque basta con copiar el archivo ISO de instalación en una unidad USB, siendo necesario seguir [[UEFI#Create_UEFI_bootable_USB_from_ISO|esta guía]] o grub-install mostrará errores}}
+
 
+
La partición UEFI del sistema  se debe instalar en {{ic|/boot/efi}} para que el script de instalación de GRUB la reconozca:
+
 
+
# mkdir -p /boot/efi
+
# mount -t vfat /dev/sdXY /boot/efi
+
 
+
A continuación, instalar el aplicación UEFI de GRUB y sus módulos en {{ic|/boot/grub/x86_64-efi}} (recomendado)  usando:
+
 
+
# modprobe dm-mod
+
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck --debug
+
# mkdir -p /boot/grub/locale
+
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
+
 
+
 
+
{{Nota|Si no especifica las opciones {{ic|--target}} o {{ic|--directory}}, {{ic|grub-install}} no logrará determinar el tipo de firmware sobre el que GRUB2 será instalado, lo que mostrará el mensaje de error siguiente: {{ic|source_dir doesn't exist. Please specify --target or --directory}}}}
+
 
+
Si desea instalar los módulos de grub2 y {{ic|grub.cfg}} en el directorio {{ic|/boot/efi/EFI/grub}} y la aplicación {{ic|grubx64.efi}} en {{ic|/boot/efi/EFI/arch_grub}}, utilice:
+
 
+
# modprobe dm-mod
+
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --boot-directory=/boot/efi/EFI --recheck --debug
+
# mkdir -p /boot/efi/EFI/grub/locale
+
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/efi/EFI/grub/locale/en.mo
+
 
+
La opción {{ic|--efi-directory}} indica el punto de montaje de la partición UEFI del sistema, {{ic|--bootloader-id}} indica el nombre del directorio donde se instalará la aplicación {{ic|grubx64.efi}}, y {{ic|--boot-directory}} contiente la ruta de acceso al directorio de instalación de los módulos (y será la sede del archivo de configuración {{ic|grub.cfg}}).
+
 
+
La ruta actual es la siguiente:
+
 
+
<efi-directory>/<efi o EFI>/<bootloader-id>/grubx64.efi
+
 
+
<boot-directory>/grub/x86_64-efi/<tutti i moduli, grub.efi, core.efi, grub.cfg>
+
 
+
{{Nota|{{ic|--bootloader-id}} no cambia la ruta {{ic|<boot-directory>/grub}}. Por ejemplo, usted no puede instalar los módulos en {{ic|<boot-directory>/<bootloader-id>}}, porque la ruta está codificada en {{ic|<boot-directory>/grub}}.}}
+
 
+
Si {{ic|<nowiki>--efi-directory=/boot/efi --boot-directory=/boot/efi/EFI --bootloader-id=grub</nowiki>}}:
+
 
+
<efi-directory>/<EFI or efi>/<bootloader-id> == <boot-directory>/grub == /boot/efi/EFI/grub
+
 
+
Si {{ic|<nowiki>--efi-directory=/boot/efi --boot-directory=/boot/efi/EFI --bootloader-id=arch_grub</nowiki>}}:
+
 
+
<efi-directory>/<EFI or efi>/<bootloader-id> == /boot/efi/EFI/arch_grub
+
<boot-directory>/grub == /boot/efi/EFI/grub
+
 
+
Si {{ic|<nowiki>--efi-directory=/boot/efi --boot-directory=/boot --bootloader-id=arch_grub</nowiki>}}:
+
 
+
<efi-directory>/<EFI or efi>/<bootloader-id> == /boot/efi/EFI/arch_grub
+
<boot-directory>/grub == /boot/grub
+
 
+
Si {{ic|<nowiki>--efi-directory=/boot/efi --boot-directory=/boot --bootloader-id=grub</nowiki>}}:
+
 
+
<efi-directory>/<EFI or efi>/<bootloader-id> == /boot/efi/EFI/grub
+
<boot-directory>/grub == /boot/grub
+
 
+
El archivo {{ic|<efi-directory>/<efi or EFI>/<bootloader-id>/grubx64.efi}} es una copia exacta de {{ic|<boot-directory>/grub/x86_64-efi/core.efi}}.
+
 
+
{{Nota|Desde GRUB2 2.00~beta4, la opción {{ic|--efi-directory}} de {{ic | grub-install}} sustituye a la antigua {{ic|--root-directory}}, que está en desuso.}}
+
 
+
{{Nota|Las opciones {{ic|--efi-directory}} y {{ic|--bootloader-id}} son especificaciones de GRUB2-UEFI.}}
+
 
+
En todos los casos, la partición UEFI del sistema debe montarse como {{ic|grub-install}} para instalar {{ic|grubx64.efi}}, que será lanzado por el firmware (con el elemento creado con {{ic|efibootmgr}}, en los sistemas que no son Mac).
+
 
+
Si mira de cerca, se dará cuenta de la ausencia de una opción que especifica el dispositivo en el que instalar el gestor de arranque (por ejemplo, {{ic|/dev/sda}}). Estas opciones son ignoradas por el script de instalación, ya que los gestores de arranque UEFI no utilizan el MBR de la partición.
+
 
+
Ahora será capaz de arrancar a través de UEFI creando un {{ic|grub.cfg}} siguiendo [[#Crear_un_archivo_de_configuración_para_GRUB2 UEFI|Crear un archivo de configuración para GRUB2 UEFI]] y [[#Crear_una_entrada_para_GRUB2_en_el_Firmware_Boot_Manager|Crear una entrada para GRUB2 en el Firmware Boot Manager]].
+
 
+
====Crear un archivo de configuración para GRUB2 UEFI====
+
 
+
Se genera un archivo de configuración de GRUB2 usando el siguiente comando:
+
 
+
# grub-mkconfig -o <boot-directory>/grub/grub.cfg
+
 
+
{{Nota|La ubicación exacta es {{ic|<boot-directory>/grub/grub.cfg}}, NO {{ic|<boot-directory>/grub/x86_64-efi/grub.cfg}}.}}
+
 
+
Si ha utilizado {{ic|<nowiki>--boot-directory=/boot</nowiki>}}:
+
 
+
# grub-mkconfig -o /boot/grub/grub.cfg
+
 
+
Si, en cambio, utiliza {{ic|<nowiki>--boot-directory=/boot/efi/EFI</nowiki>}}:
+
 
+
# grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg
+
 
+
Las rutas anteriores son independientes del valor de la opción {{ic|--bootloader-id}}.
+
 
+
Si grub-uefi muestra el error "no suitable mode found", consulte [[#Correct_GRUB2_No_Suitable_Mode_Found_Error.]]
+
 
+
====Construir una aplicación UEFI standalone para GRUB2====
+
 
+
Es posible crear una aplicación UEFI standalone (grubx64_standalone.efi), que incluye todos los módulos necesarios en el interior de un memdisk, eliminando virtualmente la necesidad de contar con un directorio separado que contenga todos los módulos UEFI de GRUB2 y otros archivos relacionados. Para lograr el objetivo, vamos a utilizar el comando {{ic|grub-mkstandalone}}, incluido en {{Pkg|grub-common}}>=1:1.99-6.
+
 
+
La forma más sencilla de hacerlo es a través del comando de instalación que se mencionó anteriormente, sin embargo, teniendo cuidado de especificar los módulos que desea incluir. Por ejemplo:
+
 
+
# grub-mkstandalone --directory="/usr/lib/grub-x86_64-efi" --format="x86_64-efi" --compression="xz" --output="/boot/efi/EFI/arch_grub/grubx64_standalone.efi" <Archivos adicionales que se desea incluir>
+
 
+
El archivo {{ic|grubx64_standalone.efi}} asume que {{ic|grub.cfg}} se encuentra en su $prefix, es decir, {{ic|(memdisk)/boot/grub}}. El memdisk se incluye a continuación en la aplicación EFI.
+
 
+
El script {{ic|grub-mkstandlone}} le permite especificar los archivos a incluir en la imagen memdisk como argumentos del script.
+
 
+
Si, por ejemplo, vuestro {{ic|grub.cfg}} se encuentra en {{ic|/home/usuario/Desktop/grub.cfg}}, se creará un directorio temporal {{ic|/home/usuario/Desktop/boot/grub}} y se copiará el archivo {{ic|/home/usuario/Desktop/grub.cfg}} en {{ic|/home/usuario/Desktop/boot/grub/grub.cfg}} y, finalmente, se coloca en {{ic|/home/usuario/Desktop/boot/grub/grub.cfg}} con el comando {{ic|cd}} y ejecuta:
+
 
+
# grub-mkstandalone --directory="/usr/lib/grub/x86_64-efi/" --format="x86_64-efi" --compression="xz" \
+
--output="/boot/efi/EFI/arch_grub/grubx64_standalone.efi" "boot/grub/grub.cfg"
+
 
+
Una pequeña aclaración: estamos ubicados en {{ic|/home/usuario/Desktop/boot/grub}} y la ruta de grub.cfg pasa como {{ic|boot/grub/grub.cfg}} (Nótese la ausencia de la barra - boot/ vs. /boot/) pongamos, por ejemplo, un archivo hipotético {{ic|dir1/dir2/file}} se incluye como {{ic|(memdisk)/dir1/dir2/file}} de la secuencia de comandos de grub-mkstandalone. Si se pasa como argumento {{ic|/home/usuario/Desktop/boot/grub/grub.cfg}}, el archivo será incluido como {{ic|(memdisk)/home/usuario/Desktop/boot/grub/grub.cfg}}, con todas las consecuencias.
+
 
+
La razón de usar cd en {{ic|/home/user/Desktop/boot/grub/}} es que hace pasar la ruta del archivo como  {{ic|boot/grub/grub.cfg}} (nótese la ausencia de una barra - boot/ vs /boot/) y ello por que {{ic|dir1/dir2/file}} se incluye como {{ic|(memdisk)/dir1/dir2/file}} por el script {{ic|grub-mkstandalone}}.
+
 
+
Si pasa {{ic|/home/user/Desktop/grub.cfg}} en el archivo se incluirá como {{ic|(memdisk)/home/user/Desktop/grub.cfg}}. Si pasa {{ic|/home/user/Desktop/boot/grub/grub.cfg}} en el archivo se incluirá como {{ic|(memdisk)/home/user/Desktop/boot/grub/grub.cfg}}. Esa es la razón para ejecutar cd en {{ic|/home/user/Desktop/boot/grub/}} que pasa a {{ic|boot/grub/grub.cfg}}, para incluir el archivo como {{ic|(memdisk)/boot/grub/grub.cfg}}, que es lo que {{ic|grub.efi}} espera que el archivo sea.
+
 
+
 
+
Ahora tendrá que crear una entrada en UEFI Boot Manager para {{ic|/boot/efi/EFI/arch_grub/grubx64_standalone.efi}} usando {{ic|efibootmgr}}. Consulte [[#Create GRUB2 entry in the Firmware Boot Manager]].
+
 
+
==== Multiboot en sistemas UEFI ====
+
 
+
===== Ejecutar la carga de Microsoft Windows en sistemas de UEFI-GPTx86_64 =====
+
 
+
Usted puede encontrar el UUID del sistema de archivos FAT32 en la partición UEFI del sistema, donde residen los archivos del gestor de arranque UEFI de Windows. Por ejemplo, si el archivo {{ic|bootmgfw.efi}} se encuentra en {{ic|/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi}} (se ignora la diferencia entre letras mayúsculas y minúsculas, dado que no son irrelevantes en un sistema de archivos FAT), ejecute:
+
 
+
# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
+
1ce5-7f28
+
 
+
# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
+
--hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1
+
 
+
A continuación, agregue el siguiente código a {{ic|/boot/efi/EFI/grub/grub.cfg}} o {{ic|/boot/efi/EFI/arch/grub.cfg}} para ejecutar la carga de Windows en el sistema UEFI-GPT:
+
 
+
{{bc|1=
+
menuentry "Microsoft Windows x86_64 UEFI-GPT" {
+
    insmod part_gpt
+
    insmod fat
+
    insmod search_fs_uuid
+
    insmod chain
+
    search --fs-uuid --no-floppy --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 1ce5-7f28
+
    chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
+
}
+
}}
+
 
+
==Configuración==
+
 
+
Es posible generar {{ic|grub.cfg}} de forma automática o modificarlo manualmente.
+
 
+
{{Nota|Para sistemas EFI, si GRUB2 se ha instalado con la opción de {{ic|--boot-directory}} activa, {{ic|grub.cfg}} debe ser colocado en el mismo directorio de {{ic|grubx64.efi}}. De lo contrario, {{ic|grub.cfg}} se posicionará en {{ic|/boot/grub}}. Al igual que ocurre en la versión BIOS de GRUB2}}
+
 
+
{{Nota|La siguiente es una propuesta de [http://members.iinet.net/ ~ herman546/p20/GRUB2 20Configuration%%% 20File 20Commands.html guía completa] para la configuración de GRUB2}}
+
 
+
=== Generación automática utilizando grub-mkconfig (recomendado) ===
+
 
+
El equivalente del viejo {{ic|menu.lst}} está representado por los archivos {{ic|/etc/default/grub}} y {{ic|/etc/grub.d/*}}. Estos archivos son utilizados generalmente por {{ic|grub-mkconfig}} para generar {{ic|/boot/grub/grub.cfg}}. Para generar un {{ic|grub.cfg}} use el siguiente comando:
+
 
+
# grub-mkconfig -o /boot/grub/grub.cfg
+
 
+
{{ic|/etc/grub.d/10_linux}} se establece para agregar automáticamente los elementos de menú para Arch Linux que funcionan ut-of-the-box, en cualquier configuración. Para otros sistemas operativos puede ser necesario añadir entradas a {{ic|/etc/grub.d/40_custom}} o {{ic|/boot/grub/custom.cfg}}.
+
 
+
====Argumentos adicionales ====
+
 
+
Si necesita pasar parámetros especiales a la imagen del kernel, es necesario colocarlos en la variable {{ic|GRUB_CMDLINE_LINUX}} contenida en el archivo {{ic|/etc/default/grub}}. Esto es análogo a colocar los parámetros directamente en la línea del kernel, como ocurría con el antiguo GRUB Legacy.
+
 
+
Por ejemplo, para permitir restaurar el resumen después de la hibernación, se utilizará {{ic|1=GRUB_CMDLINE_LINUX="resume=/dev/sdaX"}}, donde {{ic|sdaX}} muestra la partición swap.
+
 
+
También es posible usar {{ic|<nowiki>GRUB_CMDLINE_LINUX="resume=/dev/disk/by-uuid/${swap_uuid}"</nowiki>}}, donde {{ic|${swap_uuid} }} se refiere a [[Persistent_block_device_naming|UUID]] de la propia partición swap.
+
 
+
Los usuarios que han sustituido el sistema de inicio por defecto  basado en SysV con [[systemd]] pueden desear agregar {{ic|<nowiki>init=/bin/systemd</nowiki>}} en la línea {{ic|<nowiki>GRUB_CMDLINE_LINUX</nowiki>}}.
+
 
+
Si necesita pasar más de un parámetro, se separa con un espacio entre las opciones: por ejemplo, si desea utilizar la función de resume y systemd, tendremos:
+
{{ic|<nowiki>GRUB_CMDLINE_LINUX="resume=/dev/sdaX init=/bin/systemd"</nowiki>}}
+
 
+
===Creación manual de grub.cfg ===
+
 
+
{{Advertencia|La edición manual de este archivo está totalmente desaconsejado. El archivo {{ic|grub.cfg}} es generado por el comando {{ic|grub-mkconfig}}, lo cual es preferible a editar el archivo {{ic|/etc/default /grub}} o uno de los scripts contenidos en el {{ic|/etc/grub.d.}}}}
+
 
+
Un {{ic|grub.cfg}} de base contiene las siguientes opciones:
+
* {{ic|(hdX,Y)}} indica la partición Y en el disco X. La numeración de partición comienza en 1, mientras que la del disco desde 0
+
* {{ic|1=set default=N}} le permite elegir qué entrada se inicie por defecto
+
* {{ic|1=set timeout=N}} indica el límite de tiempo en segundos antes que la elección predefinida se inicia
+
* {{ic|1=menuentry "title" {opciones}}} es una entrada de nombre {{ic|title}}
+
* {{ic|1=set root=(hdX,Y)}} establece la partición de arranque, es decir, el que contiene el kernel y los módulos de GRUB (no es necesario una partición separada: {{ic|/boot}} puede estar contenido dentro de la partición raíz).
+
 
+
Un ejemplo de configuración:
+
 
+
{{hc|/boot/grub/grub.cfg
+
|2=
+
# Config file for GRUB2 - The GNU GRand Unified Bootloader
+
# /boot/grub/grub.cfg
+
 
+
# DEVICE NAME CONVERSIONS
+
#
+
#  Linux          Grub
+
# -------------------------
+
#  /dev/fd0        (fd0)
+
#  /dev/sda        (hd0)
+
#  /dev/sdb2      (hd1,2)
+
#  /dev/sda3      (hd0,3)
+
#
+
 
+
# Timeout for menu
+
set timeout=5
+
 
+
# Set default boot entry as Entry 0
+
set default=0
+
 
+
# (0) Arch Linux
+
menuentry "Arch Linux" {
+
    set root=(hd0,1)
+
    linux /vmlinuz-linux root=/dev/sda3 ro
+
    initrd /initramfs-linux.img
+
}
+
 
+
## (1) Windows
+
#menuentry "Windows" {
+
#set root=(hd0,3)
+
#chainloader +1
+
#}
+
}}
+
 
+
===Arranque dual===
+
{{Nota | Si desea que GRUB2 busque sistemas operativos instalados, debe descargar el paquete {{Pkg|os-prober}}.}}
+
 
+
====Utilizando grub-mkconfig ====
+
La mejor manera de agregar más entradas es modificar el archivo {{ic|/etc/grub.d/40_custom}} o {{ic|/boot/grub/custom.cfg}}, de modo que se agregan automáticamente al {{ic|grub.cfg}} cuando se lanza {{ic|grub-mkconfig}}. Después de hacer los cambios, ejecute:
+
 
+
# grub-mkconfig -o /boot/grub/grub.cfg
+
 
+
para generar un {{ic|grub.cfg}} actualizado.
+
 
+
=====Con GNU/Linux =====
+
Si la otra distribución está en {{ic|/dev/sda2}}:
+
{{bc|1=
+
menuentry "Other Linux" {
+
set root=(hd0,2)
+
linux /boot/vmlinuz (si aggiungano altre opzioni da passare al kernel, se richieste)
+
initrd /boot/initrd.img (se il kernel lo richiede)
+
}
+
}}
+
 
+
=====Con FreeBSD =====
+
Requiere que FreeBSD está instalado en una partición formateada con UFS. Si FreeBSD está en {{ic|sda4}}:
+
 
+
{{bc|1=
+
menuentry "FreeBSD" {
+
set root=(hd0,4)
+
chainloader +1
+
}
+
}}
+
 
+
=====Con Windows =====
+
Partimos de la base de que la partición de windows es {{ic|sda3}}. Recuerde que es necesario señalar el comando {{ic|set root}} y {{ic|chainloader}} a la partición reservada del sistema, es decir, la que crea Windows durante la instalación, y no a la partición en la que Windows en realidad reside. En el ejemplo tratado sólo funciona si su partición reservada es {{ic|sda3}}
+
 
+
{{bc|1=
+
# (2) Windows XP
+
menuentry "Windows XP" {
+
    set root=(hd0,3)
+
    chainloader (hd0,3)+1
+
}
+
}}
+
 
+
Si el bootloader de Windows está en otro disco duro diferente que el de GRUB, puede que tenga que engañar a Windows haciéndole creer que reside en la primera unidad. Esto fue posible en el antiguo GRUB Legacy con {{ic|drivemap}}. Suponiendo que GRUB se encuentra en {{ic|hd0}} y Windows en  {{ic|hd2}},, debe agregar la siguiente línea después de {{ic|set root}}:
+
 
+
drivemap -s hd0 hd2
+
 
+
====Con Windows usando EasyBCD y NeoGRUB====
+
 
+
Puede que NeoGRUB no entienda el nuevo formato del menú de GRUB2, será necesario efectuar la carga de GRUB2, reemplazando el contenido de su {{ic|C:\NST\menu.lst}} con:
+
 
+
{{bc|
+
default 0
+
timeout 1
+
}}
+
 
+
{{bc|
+
title      Chainload into GRUB v2
+
root        (hd0,7)
+
kernel      /boot/grub/i386-pc/core.img
+
}}
+
 
+
===Configuración del aspecto ===
+
 
+
En GRUB2 puede cambiar el aspecto del menú.
+
Asegúrese de haber inicializado el terminal gráfico de grub2 (gfxterm), utilizando una modalidad de vídeo adecuado (gfxmode). Para más información se puede encontrar en la sección [[#Correct_GRUB2_No_Suitable_Mode_Found_Error]]. La modalidad de vídeo establecida a continuación, se pasará al kernel a través de {{ic|gfxpayload}}; por lo tanto, esta solicitud asegurará que cada configuración del aspecto tenga efecto.
+
 
+
====Ajustar la resolución del framebuffer ====
+
 
+
GRUB2 puede establecer el uso de este dispositivo tanto para él como para el kernel. El antiguo parámetro {{ic|1=vga=}} está en desuso. El método recomendado es modificar {{ic|/etc/default/grub}} de la siguiente manera:
+
 
+
{{bc|1=
+
GRUB_GFXMODE=1024x768x32
+
GRUB_GFXPAYLOAD_LINUX=keep
+
}}
+
 
+
Para que los cambios tengan efecto, ejecute:
+
  # grub-mkconfig -o /boot/grub/grub.cfg
+
 
+
La opción {{ic|gfxpayload}} se asegurará de que la resolución se mantendrá y pasará al kernel.
+
 
+
{{Nota|Si este ejemplo no funciona, pruebe a sustituir{{ic|1=gfxmode="1024x768x32"}} con {{ic|1=vbemode="0x105"}}.}}
+
{{Nota|Para una lista de todos las modalidades de vídeo disponibles es suficiente ejecutar el comando {{ic|hwinfo --framebuffer}} (hwinfo está disponible en [community], mientras que para el prompt de GRUB2 se utiliza {{ic|vbeinfo}} (es necesario cargar el módulo vbe en primer lugar).}}
+
 
+
Si este método falla, la antigua opción {{ic|1=vga=}} sigue siendo válida. Añadimos {{ic|1=vga=}} a la opción {{ic|1=GRUB_CMDLINE_LINUX_DEFAULT}} en {{ic|/etc/default/grub}}. Por ejemplo: {{ic|1="GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vga=792"}} establece una resolución {{ic|1024x768}}
+
 
+
Puede elegir entre las siguientes resoluciones: {{ic|640×480}}, {{ic|800×600}}, {{ic|1024×768}}, {{ic|1280×1024}}, {{ic|1600×1200}}, {{ic|1920×1200}}
+
 
+
====Hack 915resolution ====
+
 
+
Si está usando tarjeta de vídeo de Intel, puede ocurrir que ni {{ic|# hwinfo --framebuffer}} ni {{ic|vbeinfo}} muestre la resolución deseada. En este caso, puedes utilizar este truco propuesta, para cambiar temporalmente el BIOS de la tarjeta de vídeo mediante la adición de la resolución requerida. Consulte la página [http://915resolution.mango-lang.org/ 915resolution].
+
 
+
Lo que sigue es válido para mi sistema: por lo utilícelo según sus necesidades. En primer lugar debe elegir un modo de vídeo para editar más tarde. Comenzamos entonces {{ic|915resolution}} en el shell de grub:
+
 
+
915resolution -l
+
 
+
La salida será similar a la siguiente:
+
 
+
Intel 800/900 Series VBIOS Hack : version 0.5.3
+
...
+
Mode 30 : 640x480, 8 bits/pixel
+
...
+
 
+
El objetivo es sobreescribir la modalidad 30 (por supuesto, usted puede optar por modificar a cualquier otra modalidad). En el archivo {{ic|/etc/grub.d/00_header}}, inserte la línea siguiente antes de {{ic|1=set gfxmode=${GRUB_GFXMODE}}}:
+
 
+
915resolution 30 1440 900
+
 
+
El comando antes descrito sobreescribirá la modalidad {{ic|30}} con la resolución de {{ic|1440x900}}. Ahora tendrá que establecer el valor de {{ic|GRUB_GFXMODE}}, como se explicó anteriormente y reconstruir el archivo de configuración de GRUB2:
+
 
+
# grub-mkconfig -o /boot/grub/grub.cfg
+
# reboot
+
 
+
==== Imagen de fondo y fuentes bitmap====
+
 
+
GRUB2 es compatible con imágenes de fondo y fuentes de mapa de bits en el formato {{ic|pf2}}. la fuente uifont está incluido en el paquete {{Pkg|grub-common}} con nombre {{ic|unicode.pf2}} o, sólo para carácteres ASCII con nombre {{ic|ascii.pf2}}.
+
 
+
Los formatos de imagen soportados incluyen tga, png e jpeg siempre que los respectivos módulos se cargan. La resolución máxima aplicable depende del hardware en uso.
+
 
+
Antes de continuar, siga las disposiciones indicadas en[[#Establezca la resolución del framebuffer.]]
+
 
+
A continuación, editar el archivo {{ic|/etc/default/grub}} como sigue:
+
 
+
GRUB_BACKGROUND="/boot/grub/miaimmagine"
+
#GRUB_THEME="/path/to/gfxtheme"
+
GRUB_FONT="/path/to/font.pf2"
+
 
+
{{Nota | Si va a instalar GRUB en una partición separada, {{ic|/boot/grub/mi_imagen}} se convierte en {{ic|./grub/mi_imagen}}}}
+
 
+
Para aplicar los cambios a {{ic|grub.cfg}}, ejecute:
+
 
+
# grub-mkconfig -o /boot/grub/grub.cfg
+
 
+
Si la inserción de la imagen se realiza correctamente, debería ver el mensaje {{ic|Found background image...}}, al ejecutar el comando anterior. Si no, quiere decir que la imagen no se ha incorporado en grub.cfg.
+
 
+
En este caso, se comprueba que:
+
* La ruta y el nombre de la imagen en {{ic|/etc/default/grub}} es correcta
+
* La imagen tiene un tamaño y formato adecuado (tga, png, png a 8 bits)
+
* La imagen se guarda en modo RGB y no indexado
+
* La modalidad consola no está habilitada en el archivo /etc/default/grub
+
* El comando de {{ic|grub-mkconfig}} se ha hecho para poner la información relativa a un segundo plano en el archivo {{ic|/boot/grub/grub.cfg}}.
+
 
+
====Temas====
+
 
+
A continuación se muestra un ejemplo para la configuración propuesta con el tema GRUB2 Starfield, incluido en el paquete suministrado con Arch.
+
 
+
Modificar {{ic|/etc/default/grub}}:
+
 
+
GRUB_THEME="/boot/grub/themes/estelar/theme.txt"
+
 
+
Aplicar los cambios:
+
 
+
grub-mkconfig -o /boot/grub/grub.cfg
+
 
+
Si el tema se ha aplicado correctamente, aparecerá en pantalla el mensaje {{ic|Found theme: /boot/grub/themes/starfield/theme.txt}}.
+
 
+
====Colores del Menú====
+
 
+
Como sucedía con GRUB Legacy, se pueden cambiar los colores del menú de GRUB2. La lista de colores disponibles se pueden encontrar [http://www.gnu.org/software/grub/manual/html_node/Theme-file-format.html#Theme-file-format aquí]. A continuación, un ejemplo:
+
 
+
Modificar {{ic|/etc/default/grub}} de la siguiente manera:
+
{{bc|1=
+
GRUB_COLOR_NORMAL="light-blue/black"
+
GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
+
}}
+
 
+
Para hacer efectivos los los cambios, ejecute:
+
grub-mkconfig -o /boot/grub/grub.cfg
+
 
+
====Menú oculto ====
+
 
+
Una de las características de GRUB2 es la capacidad de ocultar el menú y hacer que sea visible pulsando la tecla  {{Keypress|Esc}}, si es necesario. También puede decidir si se debe mostrar la cuenta atrás.
+
 
+
Modificar {{ic|/etc/default/grub}}.. En el siguiente ejemplo, la cuenta atrás se establece en 5 segundos y se hace visible para el usuario:
+
 
+
{{bc|1=
+
GRUB_HIDDEN_TIMEOUT=5
+
GRUB_HIDDEN_TIMEOUT_QUIET=false
+
}}
+
 
+
Ejecutar:
+
grub-mkconfig -o /boot/grub/grub.cfg
+
 
+
====Desactivar el framebuffer ====
+
 
+
Si utiliza el controlador propietario de NVIDIA, puede que tenga que desactivar el framebuffer GRUB2, ya que podría interferir con el driver.
+
 
+
Para desactivarlo, edite {{ic|/etc/default/grub}} y descomente la siguiente línea:
+
 
+
GRUB_TERMINAL_OUTPUT=console
+
 
+
A continuación, ejecute:
+
 
+
grub-mkconfig -o /boot/grub/grub.cfg
+
 
+
===Otras opciones ===
+
====LVM ====
+
 
+
Si utiliza [[LVM]] para su {{ic|/boot}}, añada la siguiente línea antes de las diversas entradas:
+
insmod lvm
+
y especificar su raíz en menuentry de este modo:
+
set root=(nome_gruppo_lvm-nome_partizione_logica_di_boot_lvm)
+
 
+
Ejemplo:
+
{{bc|1=
+
# (0) Arch Linux
+
menuentry "Arch Linux" {
+
insmod lvm
+
set root=(VolumeGroup-lv_boot)
+
# you can only set following two lines
+
linux /vmlinuz-linux root=/dev/mapper/VolumeGroup-root ro
+
initrd /initramfs-linux.img
+
}
+
}}
+
 
+
====RAID ====
+
 
+
GRUB2 permite tratar los volúmenes en una configuración RAID de una manera sencilla. Añadimos {{ic|insmod raid}} a {{ic|grub.cfg}} que hará referencia al volumen de forma nativa. Por ejemplo, {{ic|/dev/md0}} se convierte en:
+
set root=(md0)
+
mientras que un volumen RAID particionado (por ejemplo, {{ic|/dev/md0p1}}) se convierte en:
+
set root=(md0,1)
+
 
+
==== Nomenclatura permanente de dispositivos de bloque====
+
 
+
Usted puede utilizar el UUID para identificar particiones, en lugar de la antigua {{ic|/dev/sd*}} y {{ic|/dev/hd*}}. La ventaja es que permite identificar de forma inequívoca las particiones, que podrían ser útiles para algunos usuarios que tienen un sistema muy complicado de particiones.
+
 
+
UUID se utiliza por defecto en las versiones recientes de GRUB2 - no hay desventajas, salvo la necesidad de regenerar el {{ic|grub.cfg}} cada vez que cambia el tamaño o dar formato a una partición. Hay que tener en cuenta al cambiar las particiones con un LiveCD.
+
 
+
Es posible habilitar el uso de UUID comentando la siguiente línea (establecida por defecto):
+
 
+
#GRUB_DISABLE_LINUX_UUID=true
+
 
+
igualmente, se puede establecer el valor de {{ic|false}}:
+
 
+
GRUB_DISABLE_LINUX_UUID=false
+
 
+
En cualquier caso, recuerde que debe aplicar los cambios:
+
 
+
grub-mkconfig -o /boot/grub/grub.cfg
+
 
+
====Usando etiquetas====
+
 
+
Puede utilizar las etiquetas (cadenas que identifican particiones de una manera legible por el usuario), usando la opción {{ic|--label}} del comando {{ic|search}}. En primer lugar, colocar una etiqueta a las particiones:
+
 
+
# tune2fs -L a <ETIQUETA><PARTICIÓN>
+
 
+
A continuación, se agrega una entrada usando las etiquetas:
+
 
+
{{bc|1=
+
menuentry "Arch Linux, session texte" {
+
    search --label --no-floppy --set=root archroot
+
    linux /boot/vmlinuz-linux root=/dev/disk/by-label/archroot ro
+
    initrd /boot/initramfs-linux.img
+
}
+
}}
+
 
+
====Recordando el último sistema arrancado====
+
 
+
GRUB2 puede recordar el último sistema arrancado y utilizarlo por defecto la próxima vez que ejecute el arranque. Esta característica es útil si tienes varios kernels (por ejemplo, le kernel actual de Arch y el LTS como fallback) o más sistemas operativos. Modificar {{ic|/etc/default/grub}} y cambiar el valor de {{ic|GRUB_DEFAULT}}:
+
 
+
GRUB_DEFAULT=saved
+
 
+
Esto permitirá que GRUB arranque el sistema operativo guardado. Para habilitar el rescate, añadir la siguiente línea a {{ic|/etc/default/grub}}:
+
 
+
GRUB_SAVEDEFAULT=true
+
 
+
{{Nota|La entradas del menú manualmente añadido a {{ic|/etc/grub.d/40_custom}} o {{ic|/boot/grub/custom.cfg}} (para Windows por ejemplo) se necesita la opción {{ic|savedefault}}.}}
+
 
+
Por favor, recuerde volver a generar el archivo de configuración de GRUB.
+
 
+
====Seguridad ====
+
 
+
Si usted desea hacer GRUB2 seguro y hacer que nadie pueda cambiar los parámetros de arranque o utilizar la línea de comandos, puede agregar un nombre de usuario y contraseña para los archivos de configuración de GRUB. Para ello, ejecute {{ic|grub-mkpasswd_pbkdf2}}. Es necesario introducir una contraseña y confirmarla. La salida tendrá este aspecto:
+
 
+
{{bc|<nowiki>
+
Your PBKDF2 is grub.pbkdf2.sha512.10000.C8ABD3E93C4DFC83138B0C7A3D719BC650E6234310DA069E6FDB0DD4156313DA3D0D9BFFC2846C21D5A2DDA515114CF6378F8A064C94198D0618E70D23717E82.509BFA8A4217EAD0B33C87432524C0B6B64B34FBAD22D3E6E6874D9B101996C5F98AB1746FE7C7199147ECF4ABD8661C222EEEDB7D14A843261FFF2C07B1269A</nowiki>}}
+
 
+
Añadir las siguientes cadenas a {{ic|/etc/grub.d/0_header}}:
+
{{bc|<nowiki>cat << EOF
+
 
+
set superusers="username"
+
password_pbkdf2 username <password>
+
 
+
EOF</nowiki>}}
+
 
+
Donde <password> corresponde a la cadena generada por {{ic|grub-mkpasswd_pbkdf2}}.
+
 
+
Hay que regenerar el archivo de configuración. La línea de comandos y los parámetros de arranque de grub2 ahora están protegidos.
+
 
+
Los ajustes anteriores se pueden hacer menos restrictivos y personalizar mediante la adición de más usuarios, como se explica en el capítulo "Seguridad" en el [https://www.gnu.org/software/grub/manual/grub.html#manual de seguridad de GRUB] .
+
 
+
====Partición root cifrada ====
+
 
+
Para asegurarse de que grub2 cambia automáticamente a los parámetros del núcleo necesarios para la encriptación de la raíz, agregue {{ic|1=cryptdevice=/dev/device:etichetta}} a {{ic|GRUB_CMDLINE_LINUX}} en {{ic|/etc/default/grub}}.
+
 
+
Un ejemplo con la raíz mapeada en {{ic|/dev/mapper/root}}:
+
 
+
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda2:root"
+
 
+
También desactive el uso de la UUID para el sistema de archivos raíz:
+
 
+
GRUB_DISABLE_LINUX_UUID=true
+
 
+
A continuación, generar el archivo de configuración de grub.
+
 
+
===Comenzar una imagen ISO directamente desde GRUB2 ===
+
 
+
Modificar {{ic|/etc/grub.d/40_custom}} o {{ic|/boot/grub/custom.cfg}}  mediante la adición de una entrada para arrancar la ISO que desea iniciar. Una vez hecho esto, se actualiza el menú de GRUB con el habitual {{ic|grub-mkconfig -o /boot/grub/grub.cfg}} (hecho como root).
+
 
+
====ISO de Arch Linux  ====
+
 
+
{{Nota|Asegúrese de cambiar la entrada "hdX,Y" a la tercera línea, para indicar la copia correcta de disco/partición donde reside la imagen iso. Haga lo mismo con la línea que contiene "img_dev".}}
+
 
+
menuentry "Archlinux-2011.08.19-netinstall-x86_64.iso" {
+
    set isofile="/archives/archlinux-2011.08.19-netinstall-x86_64.iso"
+
    loopback loop (hd0,7)$isofile
+
    linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201108 img_dev=/dev/sda7 img_loop=$isofile earlymodules=loop
+
    initrd (loop)/arch/boot/x86_64/archiso.img
+
}
+
 
+
menuentry "Archlinux-2012.07.15-netinstall-dual.iso" {
+
    set isofile="/archives/archlinux-2012.07.15-netinstall-dual.iso"
+
    loopback loop (hd0,7)$isofile
+
    linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201207 img_dev=/dev/sda7 img_loop=$isofile
+
    initrd (loop)/arch/boot/x86_64/archiso.img
+
}
+
 
+
{{Tip|Si está utilizando una memoria USB, utilice [[Persistent block device naming|la nomenclatura persistente del dispositivo a bloquear]] para definir el valor del parámetro {{ic|img_dev}}. (Ejemplo: {{ic|1=img_dev=/dev/disk/by-label/CORSAIR}})}}
+
 
+
====ISO de Ubuntu  ====
+
 
+
{{Nota | Asegúrese de cambiar la entrada {{ic|hdX,Y}} a la la tercera línea, para indicar la copia correcto de disco / partición donde reside la imagen ISO.}}
+
 
+
menuentry "ubuntu-12.04-desktop-amd64.iso" {
+
set isofile="/path/to/ubuntu-12.04-desktop-amd64.iso"
+
loopback loop (hdX,Y)$isofile
+
linux (loop)/casper/vmlinuz boot=casper
+
iso-scan/filename=$isofile quiet noeject noprompt splash --
+
initrd (loop)/casper/initrd.lz
+
}
+
 
+
==Usando la shell==
+
 
+
Dado que el MBR es demasiado pequeño para contener todas las formas de GRUB2, sólo el menú y los comanos básicos residen allí. La mayor parte de la funcionalidad de GRUB2 está contenida en los módulos en {{ic|/boot/grub}}, que se cargan cuando sea necesario. En caso de errores (por ejemplo, si la tabla de particiones se altera), GRUB2 puede fallar al arrancar, e iniciar un shell en lugar del clásico menú.
+
 
+
GRUB2 ofrece diferentes tipos de shell. Si tiene problemas para leer el menú, pero el gestor de arranque es todavía capaz de encontrar el disco donde el GRUB2 reside, es probable que lance un shell "normal":
+
 
+
sh:grub>
+
 
+
En caso de problemas más serios (GRUB no puede encontrar los archivos necesarios), puede aparecer la shell de emergencia:
+
 
+
grub rescue>
+
 
+
La shell de emergencia es una versión reducida de la normal, y ofrece, por lo tanto, un número reducido de funcionalidades. Trate de cargar el módulo {{ic|normal}}, e iniciar el shell clásico:
+
 
+
{{bc|1=
+
grub rescue> set prefix=(hdX,Y)/boot/grub
+
grub rescue> insmod (hdX,Y)/boot/grub/normal.mod
+
rescue:grub> normal
+
}}
+
 
+
====Soporte de Pager====
+
 
+
GRUB2 apoya el pager (paginador o localizador) para que sea fácil leer el output largo. Tenga en cuenta que esta característica sólo está disponible en la consola normal, y no en una de emergencia. Para activarlo, escriba:
+
 
+
sh:grub> set pager=1
+
 
+
==Herramientas para la configuración de gráficos==
+
 
+
Los siguientes paquetes pueden ser instalados desde [[AUR]]
+
 
+
* [https://aur.archlinux.org/packages.php?ID=44020 grub-customizer] (requiere gettext, gksu, gtkmm, hicolor-icon-theme, openssl)
+
*:Utilidad para personalizar el gestor de arranque (GRUB2 o BURG)
+
* [http://kde-apps.org/content/show.php?content=139643 grub2-editor] (requiere kdelibs)
+
*:Un módulo KCM para KDE4 para configurar GRUB2.
+
* [http://kde-apps.org/content/show.php?content=137886 kcm-grub2] (requiere kdelibs python2-qt kdebindings-python)
+
*:Este módulo KCM gestiona los ajustes de GRUB2  más comunes.
+
*[http://sourceforge.net/projects/startup-manager/ startupmanager] (requiere gnome-python imagemagick yelp python2 xorg-xrandr)
+
*:Una interfaz gráfica de usuario para cambiar la configuración de GRUB, GRUB2, Usplash y Splashy.
+
 
+
==parttool o mostrar/ocultar para particiones legacy==
+
 
+
Si usted tiene instalado Windows 9x con el disco C:\ oculto, GRUB Legacy  dispone de las opciones {{ic|hide/unhide}}. En GRUB2, estas opciones han sido sustituidas por {{ic|parttool}}. Por ejemplo, para efectuar el arranque del tercer disco C  de tres sistema Windows 9x instalados, se inicia el shell y:
+
 
+
{{bc|1=
+
parttool hd0,1 hidden+ boot-
+
parttool hd0,2 hidden+ boot-
+
parttool hd0,3 hidden- boot+
+
set root=hd0,3
+
chainloader +1
+
boot
+
}}
+
 
+
==Utilizar la consola de emergencia==
+
 
+
Véase más arriba [[#Usando la shell]]. Si usted no es capaz de iniciar la shell estándar, una posible solución es arrancar LiveCD o algún otro disco de reparación para corregir los errores de configuración y reinstalar GRUB. Sin embargo, un disco de recuperación no siempre es posible (ni necesario), y la consola de emergencia es sorprendentemente robusta.
+
 
+
Los comandos disponibles en esta modalidad incluyen {{ic|insmod}}, {{ic|ls}}, {{ic|set}} e {{ic|unset}}. Este ejemplo utiliza {{ic|set}} y {{ic|insmod}}. {{ic|set}} cambia el valor de las variables, mientras que {{ic|insmod}} añade nuevos módulos para ampliar la funcionalidad básica.
+
 
+
Antes de comenzar, es necesario que usted conozca la ubicación de la partición de {{ic|/boot}} (ya sea por separado o en un subdirectorio de la partición de root):
+
 
+
grub rescue> set prefix=(hdX,Y)/boot/grub
+
 
+
Donde X es el número de la unidad y la Y de la partición.
+
Para ampliar las capacidades de la consola, insertar el módulo {{ic|linux}}.
+
 
+
grub rescue> insmod (hdX,Y)/boot/grub/linux.mod
+
 
+
{{Nota|Si usted está usando una partición de arranque separada, se omite {{ic|/boot}} en la ruta. (Ejemplo: {{ic|1=set prefix=(hdX,Y)/grub y insmod (hdX,Y)/grub/linux.mod}}).}}
+
 
+
Esto proporciona comandos de {{ic|linux}} y {{ic|initrd}}, con los que debe estar familiarizado (ver [[#Configuración]]).
+
 
+
Un ejemplo de inicio de Arch Linux:
+
{{bc|1=
+
set root=(hd0,5)
+
linux /boot/vmlinuz-linux root=/dev/sda5
+
initrd /boot/initramfs-linux.img
+
boot
+
}}
+
 
+
De nuevo, en el caso de partición de arranque separada, cambie los comandos en consecuencia:
+
{{bc|1=
+
set root=(hd0,5)
+
linux /vmlinuz-linux root=/dev/sda6
+
initrd /initramfs-linux.img
+
boot
+
}}
+
 
+
Tras el lanzamiento de una instalación correcta de Arch Linux, usted puede arreglar {{ic|grub.cfg}} y proceder a la reinstalación de GRUB2.
+
 
+
Para reinstalar GRUB2 en el MBR, cambie {{ic|/dev/sda}} conforme a las propias necesidades. Consulte [[#Instalación del gestor de arranque]] para más detalles.
+
 
+
== Combinar UUID y scripting==
+
 
+
Si desea utilizar la asignación de UUID para superar los mapeados poco fiables de los dispositivos  realizadas por la BIOS, o si está teniendo dificultades con la sintaxis de GRUB, aquí hay un ejemplo que utiliza el UUID, y un pequeño script para GRUB para que apunte a las particiones correspondientes. Todo lo que uno debe hacer, es sustituir el ejemplo con el UUID correcto para su sistema (el ejemplo se aplica a sistemas con una partición de arranque separada y debe modificarse en consecuencia en caso de particiones adicionales).
+
 
+
{{bc|1=
+
menuentry "Arch Linux 64" {
+
    # Si impostino gli UUID delle proprie partizioni di boot e root
+
    set the_boot_uuid=ece0448f-bb08-486d-9864-ac3271bd8d07 
+
    set the_root_uuid=c55da16f-e2af-4603-9e0b-03f5f565ec4a
+
 
+
    # (Nota: In caso non si disponga di una partizione di boot separata, i due UUID saranno uguali)
+
 
+
    # Otteniamo gli identificativi dei dispositivi contenenti le partizioni di boot/root e li impostiamo nelle variabili "grub_boot" e "root"
+
    search --fs-uuid --no-floppy --set=root $the_root_uuid     
+
    search --fs-uuid --no-floppy --set=grub_boot $the_boot_uuid
+
 
+
    # Controllo per verificare che boot e root siano uguali
+
    # Se lo sono, allora aggiungo "/boot" a $grub_root, dal momento che $grub_root è effettivamente la partizione di root
+
    if [ $the_boot_uuid == $the_root_uuid] ; then
+
        set grub_boot=$grub_boot/boot
+
    fi
+
 
+
    # $grub_boot indica ora il dispositivo corretto e i seguenti comandi saranno in grado di trovare il kernel e l'immagine initrd senza problemi
+
    linux ($grub_boot)/vmlinuz-linux root=/dev/disk/by-uuid/$uuid_os_root ro
+
    initrd ($grub_boot)/initramfs-linux.img
+
}
+
}}
+
 
+
==Solución de problemas ==
+
 
+
=== Habilitar mensajes de depuración en GRUB2 ===
+
Se añade:
+
set pager=1
+
set debug=all
+
 
+
En {{ic|grub.cfg}}.
+
 
+
=== Corregir el error GRUB2 "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 inicializar el terminal gráfico GRUB2 (gfxterm), utilizando un modo de vídeo adecuado (gfxmode). Este se transmite de GRUB2 al kernel de Linux usando la opción {{ic|gfxpayload}}.
+
En sistemas UEFI, si la modalidad de video del GRUB2 no está inicializada, se mostrarán los mensajes de arranque del kernel (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 GRUB2 UEFI se instala con la opción {{ic|--boot-directory}} habilitada, entonces la ruta es {{ic|/boot/efi/EFI/grub}}).
+
 
+
# cp /usr/share/grub/unicode.pf2 ${GRUB2_PREFIX_DIR}
+
 
+
Si el archivo {{ic|/usr/share/grub/unicode.pf2}} no existe, instalar 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 habilitar GRUB2 para que pase correctamente la modalidad de video al kernel, de lo contrario obtendrá una pantalla en negro, aunque el arranque se haga periódicamente, sin que el sistema se bloquee:
+
 
+
Sistemi BIOS
+
insmod vbe
+
 
+
Sistemi UEFI
+
{{bc|
+
insmod efi_gop
+
insmod efi_uga
+
}}
+
 
+
A continuación, agregue el siguiente código (común a los sistemas BIOS y UEFI)
+
 
+
insmod font
+
 
+
{{bc|1=
+
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=${GRUB2_PREFIX_DIR}}}.
+
 
+
===Mensaje de error msdos-style===
+
 
+
{{bc|
+
grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding won't be possible!
+
grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists.
+
            However, blocklists are UNRELIABLE and its use is discouraged.
+
grub-setup: error: If you really want blocklists, use --force.
+
}}
+
 
+
Este problema se produce cuando se intenta instalar GRUB2 en VMWare. Más información [http://bbs.archlinux.org/viewtopic.php?pid=581760# aquí]. Se espera una solución pronto.
+
 
+
También puede ocurrir cuando la partición comienza justo después del MBR (bloque 63), sin dejar un espacio de alrededor de 1 MB (2048 bloques) antes de la primera partición.
+
 
+
===GRUB2 UEFI vuelve a la shell===
+
 
+
Si GRUB se carga, pero vuelve a regresar a shell, sin error, el archivo  {{ic|grub.cfg}} pueden estar en una posición incorrecta o no existir en absoluto. Este problema puede producirse si GRUB2 UEFI se ha instalado con la opción de {{ic|--boot-directory}} habilitada, y el archivo no existe, o si el número identificativo de la partición de arranque ha cambiado (este valor es, de hecho, "codificado" en el archivo {{ic|grubx64.efi}}).
+
 
+
=== GRUB2 UEFI no se carga ===
+
 
+
En algunos casos, EFI puede no arrancar correctamente GRUB. Suponiendo que todo ha sido instalado de la manera correcta, la salida de:
+
 
+
efibootmgr -v
+
 
+
se parecerá a ésto:
+
 
+
{{bc|
+
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
+
}}
+
 
+
EFI ahora debe cargar GRUB correctamente.
+
Si la pantalla deviene en negro durante unos segundos y  GRUB pasa a la opción siguiente del boot, como está escrito [https://bbs.archlinux.org/viewtopic.php?pid=981560#p981560 en este post], mover GRUB a la partición raíz podría ayudar.
+
 
+
La opción de arranque debería ser eliminada y recreada después de la operación.
+
El campo relativo a grub debería ahora ser similar a ésto:
+
 
+
  Boot0000* Grub HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\grub.efi)
+
 
+
===Invalid signature===
+
 
+
Si recibe el error "invalid signature" al intentar iniciar Windows, por ejemplo, si han alterado la tabla de particiones después de agregar otras particiones o discos duros, trate de eliminar la configuración de los dispositivos de GRUB y deje que la regenere él mismo:
+
 
+
# 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}}.
+
 
+
===Restaurar GRUB Legacy ===
+
 
+
* Mueva los archivos de GRUB Legacy o GRUB2:
+
 
+
# mv /boot/grub /boot/grub.nonfunctional
+
 
+
* Restaurar la copia de seguridad de GRUB Legacy en {{ic|/boot}}:
+
 
+
# cp -af /boot/grub-legacy /boot/grub
+
 
+
* Restaurar el MBR y los siguientes 62 sectores del disco sda:
+
{{Advertencia|El comando anterior restaura la tabla de particiones, asi que proceda con cautela o sobreescribirá la tabla de particiones modificada. Se estropeará su sistema.}}
+
# dd if=/path/to/backup/first-sectors of=/dev/sdX bs=512 count=1
+
 
+
Una solución más segura es restaurar sólo el MBR:
+
 
+
  # dd if=/path/to/backup/mbr-boot-code of=/dev/sdX bs=446 count=1
+
 
+
==Referencias ==
+
 
+
# Manual Oficial de GRUB2 - http://www.gnu.org/software/grub/manual/grub.html
+
# Página wiki de Ubuntu sobre GRUB2 - https://help.ubuntu.com/community/Grub2
+
# Página wiki de GRUB2 donde explica cómo compilarlo para sistemas UEFI - http://help.ubuntu.com/community/UEFIBooting
+
# Página de Wikipedia sobre la [[Wikipedia:BIOS Boot partition|partición de inicio del BIOS.]]
+
  
==Enlaces externos ==
+
{{Note|X siempre se debe ejecutar en la misma tty donde se produjo el inicio de sesión, para conservar la sesión logind. Esto es manejado de forma predeterminada por {{ic|/etc/X11/xinit/xserverrc}}.}}
  
# [https://github.com/the-ridikulus-rat/My_Shell_Scripts/blob/master/grub/grub_bios.sh A Linux Bash Shell script to compile and install GRUB(2) for BIOS from BZR Source]
+
== Consejos ==
# [https://github.com/the-ridikulus-rat/My_Shell_Scripts/blob/master/grub/grub_uefi.sh A Linux Bash Shell script to compile and install GRUB(2) for UEFI from BZR Source]
+
* Este método se puede combinar con [[automatic login to virtual console (Español)]].
 +
* Si desea permanecer conectado cuando la sesión X termina, retire {{ic|exec}}.
 +
* Para redirigir la salida de la sesión X a un archivo, cree un [[alias]]:
 +
: {{bc|1=alias startx='startx &> ~/.xlog'}}

Revision as of 20:20, 5 December 2012

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end Un gestor de pantalla se puede utilizar para proporcionar al usuario una pantalla de inicio de sesión e iniciar automáticamente el servidor X. Este artículo explica cómo iniciar manualmente el servidor X desde un terminal virtual existente.

Para iniciar manualmente X, se utiliza startx o xinit. Tanto uno como otro, ejecutarán ~/.xinitrc, el cual puede ser personalizado para iniciar el gestor de ventanas seleccionado, como se describe en el artículo xinitrc .

Archivo del perfil de la Shell

Nota: El siguiente procedimiento iniciará X en la misma tty que utiliza para iniciar sesión, condición necesaria para que se mantengan los permisos locales.
  • Para Bash, añada lo siguiente al final de ~/.bash_profile. Si el archivo no existe, utilice una copia de /etc/skel/.bash_profile.
  • Para Zsh, añada lo siguiente a ~/.zprofile, en su lugar.
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
Note: Se puede reemplazar la comparación -eq 1 por otra como -le 3 (de vt1 a vt3) si desea utilizar inicios de sesión gráfica en más de una VT.
Note: X siempre se debe ejecutar en la misma tty donde se produjo el inicio de sesión, para conservar la sesión logind. Esto es manejado de forma predeterminada por /etc/X11/xinit/xserverrc.

Consejos

alias startx='startx &> ~/.xlog'