(P) Hugo Napoli, 2017
* * * MBR-DOS * * *
Edición manual de entradas en GRUB2 (guía rápida "paso a paso").
1. Abrir el navegador de archivos "Dolphin" como superusuario, ejecutando en la terminal el comando sudo dolphin y navegá hasta el archivo "grub.cfg" dentro de /boot/grub2/
Si usás otro navegador de archivos como Thunar, hacé lo mismo (sudo thunar).
2. Abrir "grub.cfg" (se puede utilizar KWrite o cualquier editor de texto simple para esto), y copiar todo lo que haya entre:
### BEGIN /etc/grub.d/30_os-prober ###
y
### END /etc/grub.d/30_os-prober ###
NOTA: se puede utilizar cualquier editor de estas características: lo importante es que este no añada "formato oculto" (tal como los procesadores de texto como Writer), y que sea un editor de texto plano (gedit, kate, kwrite, incluso nano u otros editores de texto para terminal).
En este caso, la información a copiar, sería la siguiente:
menuentry 'Windows 7 (loader) (en /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-0C608BFB608BE9B2' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 0C608BFB608BE9B2
else
search --no-floppy --fs-uuid --set=root 0C608BFB608BE9B2
fi
chainloader +1
}
menuentry 'Windows 7 (loader) (en /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-D92D-3233' {
insmod part_msdos
insmod fat
set root='hd0,msdos4'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4 --hint='hd0,msdos4' D92D-3233
else
search --no-floppy --fs-uuid --set=root D92D-3233
fi
chainloader +1
}
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 0C608BFB608BE9B2
else
search --no-floppy --fs-uuid --set=root 0C608BFB608BE9B2
fi
chainloader +1
}
menuentry 'Windows 7 (loader) (en /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-D92D-3233' {
insmod part_msdos
insmod fat
set root='hd0,msdos4'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4 --hint='hd0,msdos4' D92D-3233
else
search --no-floppy --fs-uuid --set=root D92D-3233
fi
chainloader +1
}
3. Navegar hasta /etc/grub.d/ y abrir el archivo 40_custom
Pegar, a continuación de las líneas
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
la información copiada anteriormente desde el archivo "grub.cfg".
4. Editar únicamente los nombres de este tipo, escribiendo solamente dentro de las comillas simples (no tiene por qué respetarse la misma cantidad de caracteres preexistente):
'Windows 7 loader (en /dev/sda4)'
Ejemplo:
'Sistema Operativo Windows 7'
En este ejemplo, son 2 entradas del estilo 'Windows 7 loader (etc.)', por lo tanto, pueden ser editadas ambas.
5. Guardar los cambios en 40_custom
6. Abrir una consola como superusuario y ejecutar la siguiente orden:
grub2-mkconfig -o /boot/grub2/grub.cfg
NOTA: el comando "grub2-mkconfig -o /boot/grub2/grub.cfg" es correcto para openSUSE y otros sistemas que utilicen esta ruta. Sin embargo, en otras distribuciones (como Debian/Artch, etc), la ruta común puede ser otra (por ejemplo "/boot/grub/grub.cfg") y el comando podría ser simplemente "update-grub" (el cual es un script que ejecuta grub-mkconfig con los parámetros adecuados) o "grub-mkconfig -o /boot/grub/grub.cfg".
7. Abrir la herramienta gráfica de configuración de GRUB2 (llamada "Cargador de arranque", en OpenSuse).
Desmarcar la opción -dentro de Bootloader Options- de "Sondear sistema operativo extra".
Desmarcar la opción -dentro de Bootloader Options- de "Sondear sistema operativo extra".
Esto hará que las entradas de Windows -y de otros sistemas operativos que puedan existir -incluyendo otros sistemas Linux-, desaparezcan, quedando únicamente la/s que hayamos introducido de manera manual.
Pulsar el botón Aceptar, y esperar a que termine todo el proceso (unos 30 segundos, posiblemente).
Pulsar el botón Aceptar, y esperar a que termine todo el proceso (unos 30 segundos, posiblemente).
NOTA: el nombre "Cargador de arranque" es el indicado en en openSUSE. Para otras distribuciones, podría no existir una herramienta gráfica (o tener esta un nombre diferente), y se necesitaría un "enfoque más manual" (basado en terminal) para deshabilitar la opción de "Sondear sistema operativo extra" si no se utiliza os-prober.
Existe una gran herramienta llamada "grub customizer" que puedes probar antes de "meter mano" en la terminal.
Existe una gran herramienta llamada "grub customizer" que puedes probar antes de "meter mano" en la terminal.
OPCIONAL: Abrir la herramienta gráfica de configuración de grub2, nuevamente, y seleccionar la entrada predeterminada, de no ser esta OpenSuse.
En la siguiente imagen, pueden identificarse claramente estos 2 últimos pasos.
NOTA IMPORTANTE: Se puede generar una imagen ISO arrancable de grub2, con las configuraciones personalizadas que hayamos realizado, mediante el siguiente comando:
grub2-mkrescue -o ruta_completa_al_archivo.iso iso
NOTA: tené en mente que la palabra "iso", al final de la orden, no debe ser interpretada como parte de la ruta en sí, sino como un argumento para el comando. Esto puede que se preste para la confusión.
* * * GPT-UEFI * * *
Si tu sistema utiliza el modo de arranque UEFI y el esquema de particiones GPT (lo cual es lo más común en ordenadores modernos), los pasos fundamentales para la edición manual de entradas en GRUB2 siguen siendo los mismos, pero el contenido de las entradas a copiar y algunos detalles menores varían.
Las principales diferencias a tener en cuenta son las siguientes.
Módulo de partición:
en lugar de insmod part_msdos (para MBR), verás insmod part_gpt. Esto indica que GRUB está manejando una tabla de particiones GPT.
Identificación de la partición:
En lugar de set root='hd0,msdosX' (donde X es el número de la partición MBR), verás set root='hd0,gptX' (donde X es el número de la partición GPT).
Carga del sistema operativo (especialmente Windows):
la línea "chainloader +1" que se utiliza para cargar el sector de arranque de un sistema MBR, cambia radicalmente para UEFI.
Para cargar Windows en un sistema UEFI, GRUB no "carga el sector de arranque", sino que apunta directamente al ejecutable EFI del gestor de arranque de Windows, que suele estar en la partición del sistema EFI (ESP).
Una entrada típica para Windows en UEFI luciría algo así:
menuentry 'Windows Boot Manager (en /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-0C608BFB608BE9B2' {
insmod part_gpt
insmod fat
set root='hd0,gpt1' # O la partición GPT en donde esté la ESP de Windows.
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 0C608BFB608BE9B2
else
search --no-floppy --fs-uuid --set=root 0C608BFB608BE9B2
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi # Esta es la clave para UEFI
}
Observá la línea "chainloader /EFI/Microsoft/Boot/bootmgfw.efi". Esta ruta especifica la ubicación del cargador de arranque de Windows dentro de la partición ESP. La UUID en la línea search --fs-uuid corresponderá a la UUID de la partición del sistema EFI (ESP) donde se encuentra "bootmgfw.efi".
Ubicación de "grub.cfg" y "40_custom":
las ubicaciones de los archivos principales de configuración de GRUB2 (/boot/grub2/grub.cfg o /boot/grub/grub.cfg y /etc/grub.d/40_custom) generalmente no cambian. Estos archivos residen en tu partición Linux. Lo que GRUB2 carga desde la partición EFI, es una "pequeña parte" que le indica dónde encontrar el resto de su configuración.
Herramienta gráfica (paso 7):
la opción de "Sondear sistema operativo extra" sigue siendo relevante y funciona de la misma manera para evitar que "os-prober" (el programa que detecta a otros sistemas) añada automáticamente las entradas, independientemente de si estás en BIOS o UEFI.
Resumen de la adaptación:
para un sistema UEFI-GPT, el procedimiento es idéntico al descrito en los 7 pasos, pero al momento de copiar la información del grub.cfg (paso 2), notarás que las entradas de otros sistemas operativos (como Windows) detectados por os-prober tendrán la sintaxis part_gpt y chainloader /EFI/... en lugar de part_msdos y chainloader +1. Es de vital importancia copiar estas líneas específicas para UEFI.
Una vez completados estos pasos, habrás logrado personalizar tus entradas de Grub2 de forma manual, dándote un control preciso sobre el orden y la visibilidad de tus sistemas operativos al iniciar. Este método es especialmente útil para aquellos que buscan una configuración más estática y confiable, evitando que futuras actualizaciones del sistema sobrescriban sus preferencias de arranque. Recordá que es bueno siempre realizar una copia de seguridad de tus archivos de configuración antes de hacer cambios importantes en ellos. Con esta guía, tienes el poder de adaptar el arranque de tu sistema a tus necesidades.
Artículo escrito en el año 2017 y revisado, ampliado y adaptado en julio de 2025.
0 Comentarios:
Publicar un comentario