102.2 - Instalar un gestor de arranque: Ejercicios
Pregunta 1
Despues de modificar el archivo /etc/default/grub, que comando se debe ejecutar en un sistema Debian/Ubuntu para que los cambios surtan efecto?
a) grub-install /dev/sda
b) update-grub
c) systemctl restart grub
d) grub-mkconfig
Respuesta
b) update-grub
El comando update-grub es un wrapper de Debian/Ubuntu que equivale a grub-mkconfig -o /boot/grub/grub.cfg. Regenera el archivo grub.cfg a partir de /etc/default/grub y los scripts de /etc/grub.d/. Sin ejecutar este comando, los cambios en /etc/default/grub no tendran efecto. En Red Hat/CentOS se usaria grub2-mkconfig -o /boot/grub2/grub.cfg. El comando grub-install instala GRUB en el disco, no regenera la configuracion.
Pregunta 2
Por que NO se debe editar directamente el archivo /boot/grub/grub.cfg?
a) Porque es un archivo binario y no se puede editar con un editor de texto
b) Porque solo tiene permisos de lectura y no se pueden cambiar
c) Porque es un archivo generado automaticamente que se sobreescribe al ejecutar update-grub
d) Porque esta cifrado por seguridad del sistema
Respuesta
c) Porque es un archivo generado automaticamente que se sobreescribe al ejecutar update-grub
El archivo grub.cfg se genera automaticamente por grub-mkconfig / update-grub a partir de /etc/default/grub y los scripts de /etc/grub.d/. Cualquier modificacion manual se perdera la proxima vez que se ejecute update-grub, por ejemplo al instalar un nuevo kernel. El archivo tiene un comentario en su cabecera indicando “DO NOT EDIT THIS FILE”. La forma correcta de modificar la configuracion es editar /etc/default/grub y luego regenerar grub.cfg.
Pregunta 3
Estas en el menu de GRUB y necesitas arrancar temporalmente en modo de recuperacion. Que tecla pulsas primero y que parametro anades a la linea del kernel en un sistema con systemd?
a) Pulsar c y escribir boot --recovery
b) Pulsar e y anadir systemd.unit=rescue.target a la linea linux
c) Pulsar r y seleccionar “Recovery Mode” del submenu
d) Pulsar e y cambiar quiet splash por debug
Respuesta
b) Pulsar e y anadir systemd.unit=rescue.target a la linea linux
En el menu de GRUB, la tecla e permite editar la entrada seleccionada de forma temporal. Se busca la linea que comienza con linux y al final se anade systemd.unit=rescue.target (para sistemas con systemd). Otras opciones validas serian single o 1 (para SysVinit) o init=/bin/bash (para acceso directo a shell). Despues se pulsa Ctrl+X o F10 para arrancar. Estos cambios son temporales y se pierden en el siguiente reinicio.
Pregunta 4
Que script del directorio /etc/grub.d/ se encarga de detectar otros sistemas operativos instalados (como Windows)?
a) 00_header
b) 10_linux
c) 30_os-prober
d) 40_custom
Respuesta
c) 30_os-prober
El script 30_os-prober ejecuta la herramienta os-prober para detectar otros sistemas operativos instalados en el disco (Windows, otros Linux) y genera entradas de menu para ellos. Los scripts de /etc/grub.d/ se ejecutan en orden numerico al invocar grub-mkconfig. 00_header genera la configuracion general, 10_linux detecta los kernels Linux instalados, y 40_custom permite anadir entradas personalizadas. Solo se ejecutan los scripts con permisos de ejecucion.
Pregunta 5
El sistema muestra el prompt grub rescue>. Cual de los siguientes comandos se debe ejecutar PRIMERO para intentar recuperar el arranque?
a) insmod normal
b) boot
c) ls
d) linux /vmlinuz root=/dev/sda1
Respuesta
c) ls
El primer paso en grub rescue> es listar las particiones disponibles con ls para identificar cual contiene /boot/grub. Luego se prueban las particiones con ls (hd0,1)/boot/grub hasta encontrar los archivos. Despues se establece set prefix=(hd0,1)/boot/grub y set root=(hd0,1), seguido de insmod normal y finalmente normal para restaurar el menu de GRUB. Una vez arrancado el sistema, se reinstala GRUB permanentemente con grub-install y update-grub.
Pregunta 6
Como numera GRUB2 la primera particion del primer disco duro?
a) (hd0,0)
b) (hd0,1)
c) (hd1,0)
d) (hd1,1)
Respuesta
b) (hd0,1)
En GRUB2, los discos se numeran desde 0 (hd0, hd1, hd2…) pero las particiones se numeran desde 1. Por lo tanto, la primera particion del primer disco es (hd0,1), que tambien puede escribirse como (hd0,msdos1) para MBR o (hd0,gpt1) para GPT. Esto difiere de GRUB Legacy, donde las particiones tambien se numeraban desde 0, haciendo que la primera particion del primer disco fuera (hd0,0).
Pregunta 7
Que comando se usa para instalar GRUB2 en un sistema UEFI?
a) grub-install /dev/sda
b) grub-install --target=x86_64-efi --efi-directory=/boot/efi
c) efibootmgr --install grub
d) update-grub --uefi
Respuesta
b) grub-install --target=x86_64-efi --efi-directory=/boot/efi
En sistemas UEFI, grub-install necesita el parametro --target=x86_64-efi para especificar la plataforma y --efi-directory=/boot/efi para indicar donde esta montada la ESP (EFI System Partition). GRUB instalara su cargador como un archivo .efi en la ESP, tipicamente en /boot/efi/EFI/<distro>/grubx64.efi. La herramienta efibootmgr sirve para gestionar las entradas de arranque UEFI, pero no para instalar GRUB.
Pregunta 8
Que variable de /etc/default/grub se debe modificar para pasar el parametro nomodeset al kernel en TODAS las entradas del menu (incluidas las de recuperacion)?
a) GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
b) GRUB_CMDLINE_LINUX="nomodeset"
c) GRUB_KERNEL_PARAMS="nomodeset"
d) GRUB_DEFAULT="nomodeset"
Respuesta
b) GRUB_CMDLINE_LINUX="nomodeset"
GRUB_CMDLINE_LINUX contiene los parametros del kernel que se aplican a todas las entradas del menu, incluidas las entradas de recuperacion. GRUB_CMDLINE_LINUX_DEFAULT solo se aplica a la entrada por defecto (no a las de recuperacion). GRUB_DEFAULT define cual es la entrada por defecto del menu (un numero, “saved” o un nombre), no los parametros del kernel. Despues de cualquier cambio, se debe ejecutar update-grub.
Pregunta 9
Que combinacion de variables en /etc/default/grub hace que GRUB recuerde la ultima entrada del menu seleccionada por el usuario?
a) GRUB_TIMEOUT=saved y GRUB_DEFAULT=last
b) GRUB_DEFAULT=saved y GRUB_SAVEDEFAULT=true
c) GRUB_REMEMBER=true y GRUB_DEFAULT=0
d) GRUB_DEFAULT=last y GRUB_TIMEOUT_STYLE=saved
Respuesta
b) GRUB_DEFAULT=saved y GRUB_SAVEDEFAULT=true
Con GRUB_DEFAULT=saved, GRUB utiliza la ultima entrada guardada como entrada por defecto. Con GRUB_SAVEDEFAULT=true, GRUB guarda automaticamente la seleccion del usuario cada vez que se elige una entrada del menu. Esto es util en sistemas de arranque dual donde el usuario quiere que se recuerde la ultima seleccion. Despues de configurar estas variables, se debe ejecutar update-grub para regenerar grub.cfg.
Pregunta 10
Cual es el archivo de configuracion de GRUB Legacy y en que se diferencia de GRUB2 respecto a la forma de editarlo?
a) grub.cfg, se edita con update-grub igual que GRUB2
b) menu.lst o grub.conf, se edita directamente con un editor de texto
c) grub2.conf, se regenera con grub-mkconfig
d) boot.cfg, se edita directamente pero requiere grub-install despues
Respuesta
b) menu.lst o grub.conf, se edita directamente con un editor de texto
GRUB Legacy usa el archivo /boot/grub/menu.lst (en Debian/Ubuntu) o /boot/grub/grub.conf (en Red Hat/CentOS) como configuracion, y se edita directamente. No existe un equivalente a grub-mkconfig o update-grub en GRUB Legacy. En contraste, GRUB2 usa grub.cfg que se genera automaticamente a partir de /etc/default/grub y los scripts de /etc/grub.d/. Esta es una diferencia fundamental entre ambas versiones.
Pregunta 11
Cual es la ubicacion del archivo de configuracion principal de GRUB2 en un sistema Red Hat/CentOS?
a) /boot/grub/grub.cfg b) /boot/grub2/grub.cfg c) /etc/grub2/grub.cfg d) /boot/grub/menu.lst
Respuesta
b) /boot/grub2/grub.cfg
En Red Hat/CentOS/Fedora, GRUB2 almacena su archivo de configuracion en /boot/grub2/grub.cfg y los comandos llevan el prefijo grub2- (por ejemplo, grub2-mkconfig, grub2-install). En Debian/Ubuntu, la ubicacion es /boot/grub/grub.cfg. El archivo menu.lst pertenece a GRUB Legacy, no a GRUB2.
Pregunta 12
Que tecla se debe mantener pulsada durante el arranque para mostrar un menu de GRUB2 que esta oculto en un sistema con BIOS?
a) Esc b) F2 c) Shift d) Tab
Respuesta
c) Shift
En sistemas con BIOS, se debe mantener pulsada la tecla Shift durante el arranque para forzar la aparicion de un menu de GRUB2 oculto (cuando GRUB_TIMEOUT_STYLE=hidden esta configurado). En sistemas con UEFI, se pulsa la tecla Esc. Esto es importante para acceder al menu cuando se necesita editar parametros del kernel o seleccionar una entrada diferente.
Pregunta 13
En GRUB Legacy, como se identifica la primera particion del primer disco duro?
a) (hd0,1) b) (hd1,1) c) (hd0,0) d) (hd1,0)
Respuesta
c) (hd0,0)
En GRUB Legacy, tanto los discos como las particiones se numeran desde 0. Por lo tanto, la primera particion del primer disco es (hd0,0). Esto difiere de GRUB2, donde los discos se numeran desde 0 pero las particiones desde 1, haciendo que la primera particion del primer disco sea (hd0,1). Esta diferencia en la numeracion es un punto importante para el examen.
Pregunta 14
Que herramienta se utiliza para gestionar las entradas de arranque almacenadas en la NVRAM de UEFI?
a) grub-install b) update-grub c) efibootmgr d) bootctl
Respuesta
c) efibootmgr
efibootmgr es la herramienta para gestionar las entradas de arranque UEFI almacenadas en la NVRAM del firmware. Permite listar las entradas (efibootmgr -v), cambiar el orden de arranque (efibootmgr -o 0002,0001), y establecer una entrada para el proximo reinicio (efibootmgr -n 0002). No debe confundirse con grub-install, que instala GRUB en el disco.
Pregunta 15
Que valor de la variable GRUB_TIMEOUT en /etc/default/grub hace que el menu espere indefinidamente la seleccion del usuario?
a) 0 b) -1 c) 999 d) infinite
Respuesta
b) -1
El valor -1 en GRUB_TIMEOUT hace que GRUB2 espere indefinidamente hasta que el usuario seleccione una entrada del menu. El valor 0 arranca inmediatamente la entrada por defecto sin mostrar el menu. Cualquier valor positivo indica los segundos de espera antes de arrancar automaticamente. infinite y 999 no son valores especiales reconocidos.
Pregunta 16
En la consola de GRUB2 (prompt grub>), que secuencia de comandos se necesita para arrancar manualmente un sistema Linux?
a) mount, kernel, boot b) set root, linux, initrd, boot c) load, execute, start d) root, chainloader, boot
Respuesta
b) set root, linux, initrd, boot
Para arrancar manualmente desde la consola de GRUB2, se sigue esta secuencia: 1) set root=(hd0,1) para establecer la particion que contiene /boot, 2) linux /vmlinuz root=/dev/sda1 para cargar el kernel especificando la particion raiz, 3) initrd /initrd.img para cargar la imagen initramfs, y 4) boot para iniciar el arranque. La opcion (d) con chainloader se usa para arrancar otros bootloaders (como Windows).
Pregunta 17
Que script del directorio /etc/grub.d/ se utiliza para anadir entradas personalizadas al menu de GRUB2?
a) 00_header b) 10_linux c) 30_os-prober d) 40_custom
Respuesta
d) 40_custom
El script 40_custom en /etc/grub.d/ esta destinado a las entradas personalizadas del administrador. Su contenido se incluye directamente en grub.cfg al regenerar la configuracion. 00_header genera la configuracion general, 10_linux detecta los kernels Linux instalados, y 30_os-prober detecta otros sistemas operativos. Solo se ejecutan los scripts que tienen permisos de ejecucion.
Pregunta 18
Que combinacion de teclas se usa para arrancar con los cambios temporales despues de editar una entrada del menu de GRUB2?
a) Ctrl+S b) F5 c) Ctrl+X o F10 d) Enter
Respuesta
c) Ctrl+X o F10
Despues de editar una entrada del menu de GRUB2 (con la tecla e), se pulsa Ctrl+X o F10 para arrancar con los cambios temporales. Pulsar Esc cancela la edicion y vuelve al menu. Estos cambios son temporales y se pierden en el siguiente reinicio. Para cambios permanentes se debe editar /etc/default/grub y regenerar grub.cfg.
Pregunta 19
Cual es la diferencia entre el prompt grub> y grub rescue>?
a) No hay diferencia, son nombres alternativos para la misma consola
b) grub> aparece cuando GRUB no puede encontrar sus modulos; grub rescue> es la consola normal
c) grub> es la consola completa con todos los comandos; grub rescue> aparece cuando GRUB no puede encontrar sus modulos y solo tiene comandos basicos
d) grub rescue> es la consola de GRUB Legacy y grub> es de GRUB2
Respuesta
c) grub> es la consola completa con todos los comandos; grub rescue> aparece cuando GRUB no puede encontrar sus modulos y solo tiene comandos basicos
El prompt grub> aparece cuando GRUB ha cargado sus modulos correctamente pero no encontro grub.cfg o el usuario presiono c. Tiene acceso a todos los comandos. El prompt grub rescue> aparece cuando GRUB no puede encontrar sus propios modulos (por ejemplo, tras redimensionar particiones). Solo dispone de comandos basicos como ls, set e insmod. Para recuperarse desde grub rescue> se debe usar set prefix= para indicar la ubicacion de los modulos.
Pregunta 20
Que variable de /etc/default/grub controla si se detectan automaticamente otros sistemas operativos instalados?
a) GRUB_DISABLE_RECOVERY b) GRUB_DISABLE_OS_PROBER c) GRUB_DEFAULT d) GRUB_TERMINAL
Respuesta
b) GRUB_DISABLE_OS_PROBER
La variable GRUB_DISABLE_OS_PROBER controla si el script 30_os-prober detecta automaticamente otros sistemas operativos al regenerar grub.cfg. Si se establece a true, no se buscaran otros sistemas operativos. Si es false, os-prober buscara sistemas como Windows u otras instalaciones de Linux y creara entradas de menu para ellos. GRUB_DISABLE_RECOVERY controla si se muestran las entradas de recuperacion.
Pregunta 21
Que comando se ejecuta en Debian/Ubuntu para regenerar el archivo grub.cfg despues de modificar /etc/default/grub?
Respuesta
update-grub
update-grub es un wrapper de Debian/Ubuntu equivalente a grub-mkconfig -o /boot/grub/grub.cfg. Lee la configuracion de /etc/default/grub y ejecuta los scripts de /etc/grub.d/ para generar el archivo grub.cfg. En Red Hat/CentOS se usa grub2-mkconfig -o /boot/grub2/grub.cfg.
Pregunta 22
Que comando se usa para instalar GRUB2 en el MBR del disco /dev/sda en un sistema con BIOS?
Respuesta
grub-install /dev/sda
grub-install /dev/sda instala GRUB2 en el MBR del disco especificado. Se indica el disco completo (no una particion). En Red Hat/CentOS el comando es grub2-install /dev/sda. Para sistemas UEFI se requiere --target=x86_64-efi --efi-directory=/boot/efi.
Pregunta 23
En la consola de GRUB2, que comando lista los discos y particiones disponibles?
Respuesta
ls
En la consola de GRUB2 (grub> o grub rescue>), el comando ls lista todos los discos y particiones disponibles, mostrando entradas como (hd0), (hd0,1), (hd0,2), etc. Se puede usar ls (hd0,1)/ para listar el contenido de una particion especifica y verificar si contiene los archivos de arranque.
Pregunta 24
Que comando de GRUB2 se usa para generar el archivo de configuracion y guardarlo directamente en la ruta indicada?
Respuesta
grub-mkconfig
grub-mkconfig genera el archivo de configuracion de GRUB2 a partir de /etc/default/grub y los scripts de /etc/grub.d/. Se usa con la opcion -o para especificar la ruta de salida: grub-mkconfig -o /boot/grub/grub.cfg. Sin -o, muestra el resultado por pantalla sin guardarlo. En Red Hat/CentOS es grub2-mkconfig.
Pregunta 25
Que comando permite listar las entradas de arranque UEFI almacenadas en la NVRAM del firmware?
Respuesta
efibootmgr
efibootmgr sin opciones lista las entradas de arranque UEFI con su numero, nombre y orden. Con -v (verbose) muestra informacion detallada incluyendo las rutas de los cargadores. Permite gestionar el orden de arranque y crear o eliminar entradas de arranque UEFI.