Não é mais possível inicializar a matriz RAID após a atualização

Não é mais possível inicializar a matriz RAID após a atualização

Atualizei recentemente meu sistema e após uma reinicialização recebo o seguinte:

ERROR: device ‘UUID=...’ not found. Skipping fsck.
mount: /new_root: can’t find UUID=...
You are now being dropped into an emergency shell.

Meu sistema de arquivos raiz está em uma matriz RAID e a execução blkidno shell de emergência mostra que a matriz não está listada.

Eu tenho /dev/sda2e /dev/sdb2em RAID1 e normalmente ele é montado em /boot. Eles têm um UUID="b45...e são montados /dev/md1com um UUID="436.... Enquanto /dev/sda3e /dev/sdb3em RAID0 normalmente montado em /. Eles têm um UUID="8dc...e são montados /dev/md2com um UUID="d0d.... O erro na inicialização está procurando por d0d....

Inicializei no USB ativo e executei blkide o array estava lá. Então montei os arrays, proc, sys, dev, e and boot. Eu verifiquei /etc/mdadm.confe vi que todas as ARRAYlinhas estavam comentadas então executei:

# mdadm --detail --scan >> /mnt/etc/mdadm.conf

Verifiquei se os UUIDs correspondiam às duas partições que estou usando nas matrizes ( b45...e 8dc...). Eu então chrootentrei.

Então verifiquei /etc/mkinitcpio.confe vi que mdadm_udevestava faltando na HOOKSconfiguração. Então eu li isso.

A partir daí, tentei cada um dos seguintes procedimentos seguidos de uma reinicialização:

# pacman -S linux
# mkinitcpio -p linux
# mkinitcpio -P

Para cada um, posso ver que ele constrói o mdadm_udevgancho e me diz que:

Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays

Mas quando eu reinicio, recebo o mesmo erro e o uso blkidno shell de emergência mostra que minhas matrizes RAID não estão listadas (mas as partições que as compõem estão lá e os UUIDs correspondem ao que está mdadm.conf).

Também adicionei o parâmetro do kernel raid0.default_layout=2com o mesmo resultado. Nunca esteve lá antes, mas o wiki parece indicar que preciso dele.

O pacote Linux está linux-5.12.6.arch1-1e antes do ERRO na inicialização ele me diz que é:

Starting version 248.3-2-arch

O que estou perdendo que está fazendo com que o array não seja montado na inicialização?

Responder1

Ainda não tenho ideia do que causou o problema em primeiro lugar. Mas a solução era muito simples e me sinto idiota.

O problema era que eu tinha executado:

# mount /dev/md1 /mnt/boot

do USB ativo antes de chrootiniciar e executar mkinitcpioporque eu queria verificar as configurações no grub. Portanto, a initramfsimagem que criei mdadmestava em uma matriz RAID. O initramfsque foi carregado não tinha ideia mdadme por isso não estava construindo o array.

A solução foi rodar mkinitcpioSEM chrootmontar um array no /boot.

informação relacionada