Recientemente actualicé mi sistema y después de reiniciar obtengo lo siguiente:
ERROR: device ‘UUID=...’ not found. Skipping fsck.
mount: /new_root: can’t find UUID=...
You are now being dropped into an emergency shell.
Mi sistema de archivos raíz está en una matriz RAID y al ejecutarlo blkid
desde el shell de emergencia se muestra que la matriz no aparece en la lista.
Tengo /dev/sda2
y /dev/sdb2
en RAID1 y normalmente se monta en /boot
. Tienen un UUID="b45...
y están ensamblados /dev/md1
con un UUID="436...
. Mientras que /dev/sda3
en /dev/sdb3
RAID0 normalmente se monta en /
. Tienen un UUID="8dc...
y están ensamblados /dev/md2
con un UUID="d0d...
. El error al arrancar está buscando d0d...
.
Arranqué desde USB en vivo y lo ejecuté blkid
y la matriz estaba allí. Entonces monté las matrices, proc
, sys
, dev
y boot
. Revisé /etc/mdadm.conf
y vi que todas las ARRAY
líneas estaban comentadas, así que ejecuté:
# mdadm --detail --scan >> /mnt/etc/mdadm.conf
Verifiqué que los UUID coincidieran con las dos particiones que estoy usando en las matrices ( b45...
y 8dc...
). Luego chroot
entré.
Luego verifiqué /etc/mkinitcpio.conf
y vi que mdadm_udev
faltaba en la HOOKS
configuración. Así que leí eso.
A partir de ahí, probé cada uno de los siguientes y luego reinicié:
# pacman -S linux
# mkinitcpio -p linux
# mkinitcpio -P
Para cada uno puedo verlo construir el mdadm_udev
gancho y me dice que:
Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays
Pero cuando reinicio, aparece el mismo error y el uso blkid
en el shell de emergencia muestra que mis matrices RAID no están en la lista (pero las particiones que las componen están ahí y los UUID coinciden con lo que está en mdadm.conf
).
También agregué el parámetro del kernel raid0.default_layout=2
con el mismo resultado. Nunca había estado allí antes, pero la wiki parece indicar que lo necesito.
El paquete de Linux es linux-5.12.6.arch1-1
y antes del ERROR al arrancar me dice que es:
Starting version 248.3-2-arch
¿Qué me falta que hace que la matriz no se ensamble durante el arranque?
Respuesta1
Todavía no tengo idea de qué causó el problema en primer lugar. Pero la solución era muy sencilla y me siento tonto.
El problema era que había ejecutado:
# mount /dev/md1 /mnt/boot
desde el USB en vivo antes de chroot
iniciar y ejecutar mkinitcpio
porque quería verificar la configuración en grub. Entonces la initramfs
imagen que creé mdadm
estaba en una matriz RAID. El initramfs
que se cargó no tenía ni idea mdadm
y, por lo tanto, no estaba construyendo la matriz.
mkinitcpio
La solución fue ejecutar chroot
SIN montar una matriz en /boot
.