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.