"Después del juego es antes del juego"
Sepp Herberger

Mostrando entradas con la etiqueta grub. Mostrar todas las entradas
Mostrando entradas con la etiqueta grub. Mostrar todas las entradas

domingo, 26 de enero de 2025

Chequear y reparar el sistema de ficheros Linux en el arranque.

Por algún motivo los ordenador AIO que nos han mandado a los centros educativos tienen ciertos problemas con el disco SSD. Con mas frecuencia de la esperade te encuentras con que en el arranque ha encontrado que el sistema de ficheros está corrupto y se parado en el prompt del initramfs para que hagas un chequeo y reparación de disco.

Es una lata tener que ir a hacer ese chequeo a mano cada vez que pasa, así que vendría bien que se hiciese de forma autómatica. La buena noticia es que se puede. Solo hay que editar /etc/default/grub y modificar la línea:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash fsck.mode=force fsck.repair=yes"
Con fsck.mode=force fsck.repair=yes le decimos que haga chequeo de disco y, si procede, lo repare. Para aplicar esta configuración tenemos que hacer además un:
# update-grub
El pero de esto es que el arranque se ralentiza un poco (en los AIO apenas se nota porque tienen un disco rápido y solo se suelen encender de forma automática una vez al día). La ventaja es que nos ahorramos esos molestos viajes a escribir un fscs y darle a enter.

lunes, 10 de mayo de 2021

Misterioso cuelgue en os-prober al actualizar el grub con update-grub.

Hace poco me ha pasado algo curioso: tras hacer unos cambios en /etc/default/grub e instalar un nuevo kernel, cuando hacía:
# update-grub
Me sucedía lo siguiente:
Generando un fichero de configuración de grub...
Encontrado tema: /usr/share/grub/themes/manjaro/theme.txt
Encontrada imagen de linux: /boot/vmlinuz-5.10-x86_64
Encontrada imagen de memoria inicial: /boot/intel-ucode.img /boot/initramfs-5.10-x86_64.img
Found initrd fallback image: /boot/initramfs-5.10-x86_64-fallback.img
Encontrada imagen de linux: /boot/vmlinuz-5.9-x86_64
Encontrada imagen de memoria inicial: /boot/intel-ucode.img /boot/initramfs-5.9-x86_64.img
Found initrd fallback image: /boot/initramfs-5.9-x86_64-fallback.img
Aviso: os-prober will be executed to detect other bootable partitions.
It's output will be used to detect bootable binaries on them and create new boot entries.
Y ahi se quedaba, parado en ese punto sin acabar nunca. Probando a lanzar el comando os-prober a mano sucedía lo mismo. En cambio, si edito el fichero /etc/default/grub y pongo:
GRUB_DISABLE_OS_PROBER=true
El update-grub funciona, ya que nos estamos saltando la llamada a os-prober. Todo esto es un poco raro y como no encontraba explicación y no salía ningún mensaje por pantalla, me ha dado por mirar en el syslog. Allí me ha llamado la atención esto:
abr 28 19:48:26.014019 ubuntu-pc kernel: blk_update_request: I/O error, dev mmcblk0, sector 15205696 op 0x0:(READ) flags 0x80700 phys_seg 14 prio class 0
Vaya, errores de acceso en mmcblk0. Eso es una tarjeta microSD que tengo puesta en el ordenador. La expulso y hago update-grub otra vez: ahora funciona correctamente y me actualiza el grub sin mayor problema.
# update-grub
Generando un fichero de configuración de grub...
Encontrado tema: /usr/share/grub/themes/manjaro/theme.txt
Encontrada imagen de linux: /boot/vmlinuz-5.10-x86_64
Encontrada imagen de memoria inicial: /boot/intel-ucode.img /boot/initramfs-5.10-x86_64.img
Found initrd fallback image: /boot/initramfs-5.10-x86_64-fallback.img
Encontrada imagen de linux: /boot/vmlinuz-5.9-x86_64
Encontrada imagen de memoria inicial: /boot/intel-ucode.img /boot/initramfs-5.9-x86_64.img
Found initrd fallback image: /boot/initramfs-5.9-x86_64-fallback.img
Aviso: os-prober will be executed to detect other bootable partitions.
It's output will be used to detect bootable binaries on them and create new boot entries.
Encontrado Windows Boot Manager en /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest86+ image: /boot/memtest86+/memtest.bin
hecho
Ya tranquilamente he insertado la tarjeta y hecho pruebas, verificando que si que se producen fallos al acceder a ella. La he formateado y comprobado que ya funciona bien. Nunca se me hubiera dicho que una tarjeta de memoria dañada iba a parar el update-grub (o cualquier actualización del sistema que implique un update-grub) sin dar ningún mensaje de aviso o error en consola.




Un helicóptero volando en la atmósfera de otro planeta, alucina,vecina. Se ha tardado en llegar hasta aquí, pero nos esperan unos años apasionantes. Como contrapartida no puedo evitar poner este hatajo de ignorantes haciendo alarde de su necedad:


Vergüenza ajena es lo que dan.

viernes, 26 de julio de 2019

Cambiar opción por defecto de Grub para el siguiente arranque

Tengo un grupo de máquinas con arranque dual Linux/Windows. Normalmente arrancan con Linux, siendo esta la opción por defecto en el Grub. Hay veces que estoy conectado a ellas de forma remota y quiero arrancar Windows para hacer algún cambio o actualización en dicho sistema.

Podría modificar la configuración de Grub para arrancar con Windows. El problema es que una vez está cambiada no es sencillo revertir el cambio desde el propio Windows y hay que desplazarse hasta la máquina para elegir y configurar manualmente el arranque de Linux. Yo solo quiero arrancar una única vez el Windows y que luego todo siga igual.

La solución es usar el desconocido comando grub-reboot, que permite especificar cual es la opción de arranque por defecto para el siguiente reinicio. Tras ese reinicio, al apagar la máquina todo volverá a su ser habitual y arrancará el sistema por defecto que hayamos tenido habitualmente.

Lo primero es saber como identificar la opción de arranque a programar:
# grep -e "menuentry\ " -e "submenu" /boot/grub/grub.cfg
menuentry 'Ubuntu'.....
submenu 'Opciones avanzadas para Ubuntu' ...
   menuentry 'Ubuntu, con Linux 4.15.0-54-generic' ...
   menuentry 'Ubuntu, con Linux 4.15.0-54-generic (recovery mode)' ...
   menuentry 'Ubuntu, con Linux 4.15.0-20-generic' ...
   menuentry 'Ubuntu, con Linux 4.15.0-20-generic (recovery mode)' ...
menuentry 'Windows 7 (en /dev/sda1)' ...
menuentry "Clonezilla live 2.5.5.38" ...
menuentry "Arranque por red: PXE" ...
El comando grub-reboot admite un parámetro numérico (empezando por 0, que identifica la posición en la lista), dos o más números separados por > (para indicar posiciones dentro de submenús, por ejemplo 1>2) o un texto con la etiqueta de la opción de arranque. Por ejemplo, para programar el arranque del Windows 7 haríamos:
# grub-reboot  'Windows 7 (en /dev/sda1)' 
# reboot
Y ya está, el sistema se reinicia y arranca en Windows. Podemos conectar a él con rdesktop y hacer nuestras cosas. Cuando ese Windows se apague volverá a arrancar en Linux.

Bueno, ayer 25 de julio SpaceX consiguió elevar sin anclajes hasta una altura de 20 metros la StarHopper, el prototipo de la nave que permitirá poner humanos en la Luna y Marte en el futuro.


Prueba superada. Todo listo para pasar a la siguiente fase.