102.2 - Instalar un gestor de arranque: Comandos clave

Instalacion y configuracion de GRUB2

ComandoDescripcionEjemplo
grub-install <disco>Instalar GRUB en el MBR del discogrub-install /dev/sda
grub-install --target=x86_64-efiInstalar GRUB para UEFIgrub-install --target=x86_64-efi --efi-directory=/boot/efi
grub-mkconfigGenerar configuracion (salida a stdout)grub-mkconfig
grub-mkconfig -o <archivo>Generar configuracion y guardargrub-mkconfig -o /boot/grub/grub.cfg
update-grubRegenerar grub.cfg (Debian/Ubuntu)update-grub

Equivalentes en Red Hat/CentOS/Fedora

Debian/UbuntuRed Hat/CentOS
grub-installgrub2-install
grub-mkconfiggrub2-mkconfig
update-grubgrub2-mkconfig -o /boot/grub2/grub.cfg
/boot/grub/grub.cfg/boot/grub2/grub.cfg

Archivos de configuracion

Archivo/DirectorioFuncionEditar?
/boot/grub/grub.cfgConfiguracion final de GRUB2NO (generado automaticamente)
/etc/default/grubVariables de configuracion principalSI
/etc/grub.d/Scripts generadores de seccionesSI (con cuidado)
/etc/grub.d/00_headerConfiguracion inicialNormalmente no
/etc/grub.d/10_linuxEntradas de LinuxNormalmente no
/etc/grub.d/30_os-proberDeteccion de otros SODesactivar con chmod -x
/etc/grub.d/40_customEntradas personalizadasSI

Variables de /etc/default/grub

VariableDescripcionValores comunes
GRUB_DEFAULTEntrada por defecto0, saved, "nombre"
GRUB_TIMEOUTSegundos de espera5, 10, 0, -1 (infinito)
GRUB_TIMEOUT_STYLEEstilo del timeoutmenu, hidden, countdown
GRUB_CMDLINE_LINUXParametros kernel (todas las entradas)"quiet splash"
GRUB_CMDLINE_LINUX_DEFAULTParametros kernel (entrada por defecto)"quiet"
GRUB_DISABLE_RECOVERYOcultar entradas de recuperacion"true", "false"
GRUB_DISABLE_OS_PROBERDesactivar deteccion de otros SOtrue, false
GRUB_GFXMODEResolucion grafica de GRUB1024x768, auto
GRUB_TERMINALTipo de terminalconsole, gfxterm

Interaccion con el menu de GRUB

TeclaAccion
Shift (BIOS) / Esc (UEFI)Mostrar menu oculto
eEditar entrada seleccionada (temporal)
cAbrir linea de comandos de GRUB
Ctrl+X o F10Arrancar con los cambios editados
EscVolver al menu desde la edicion

Comandos en la linea de comandos de GRUB

Comando GRUBDescripcion
lsListar discos y particiones
ls (hd0,1)/Listar contenido de una particion
set root=(hd0,1)Establecer particion raiz
linux /vmlinuz root=/dev/sda1Cargar kernel
initrd /initrd.imgCargar initramfs
bootArrancar con la configuracion actual
setMostrar todas las variables
set pager=1Activar paginacion
insmod <modulo>Cargar un modulo de GRUB

Recuperacion de GRUB desde Live CD

mount /dev/sda2 /mnt                    # Montar raiz
mount --bind /dev /mnt/dev              # Montar /dev
mount --bind /proc /mnt/proc            # Montar /proc
mount --bind /sys /mnt/sys              # Montar /sys
chroot /mnt                             # Entrar en chroot
grub-install /dev/sda                   # Reinstalar GRUB
update-grub                             # Regenerar configuracion
exit                                    # Salir del chroot
umount -R /mnt                          # Desmontar todo
reboot                                  # Reiniciar

Gestion de arranque UEFI

ComandoDescripcion
efibootmgrListar entradas de arranque UEFI
efibootmgr -vListar con detalles
efibootmgr -o 0002,0001Cambiar orden de arranque
efibootmgr -n 0002Siguiente arranque con entrada 0002

Flujo de trabajo habitual

# 1. Editar configuracion
nano /etc/default/grub
 
# 2. Regenerar grub.cfg
update-grub                 # Debian/Ubuntu
# o
grub-mkconfig -o /boot/grub2/grub.cfg  # Red Hat
 
# 3. Verificar (opcional)
cat /boot/grub/grub.cfg | grep menuentry