После обновления больше не загружается RAID-массив

После обновления больше не загружается RAID-массив

Недавно я обновил свою систему и после перезагрузки получаю следующее:

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

Моя корневая файловая система находится на RAID-массиве, и запуск blkidиз аварийной оболочки показывает, что массив отсутствует в списке.

У меня есть /dev/sda2и /dev/sdb2в RAID1 и обычно он монтируется в /boot. Они имеют UUID="b45...и собираются в /dev/md1с UUID="436.... В то время как /dev/sda3и /dev/sdb3в RAID0 обычно монтируются в /. Они имеют UUID="8dc...и собираются в /dev/md2с UUID="d0d.... Ошибка при загрузке ищет d0d....

Я загрузился с Live USB и запустил, blkidи массив был там. Поэтому я смонтировал массивы, proc, sys, dev, и boot. Я проверил /etc/mdadm.confи увидел, что все ARRAYстроки были закомментированы, поэтому я запустил:

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

Я проверил, что UUID соответствуют двум разделам, которые я использую в массивах ( b45...и 8dc...). Затем я chrootвошел.

Затем я проверил /etc/mkinitcpio.confи увидел, что этого mdadm_udevне было в HOOKSнастройках. Поэтому я это переписал.

После этого я попробовал каждое из следующих действий, после чего перезагрузил компьютер:

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

Для каждого я вижу, как он строит крючок mdadm_udev, и он говорит мне, что:

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

Но когда я перезагружаюсь, я получаю ту же ошибку, и использование blkidаварийной оболочки показывает, что мои RAID-массивы не указаны в списке (но разделы, из которых они состоят, присутствуют, и UUID совпадают с тем, что указано в mdadm.conf).

Я также добавил параметр ядра raid0.default_layout=2с тем же результатом. Его никогда не было там раньше, но вики, похоже, указывает, что он мне нужен.

Пакет Linux — это linux-5.12.6.arch1-1и перед ошибкой при загрузке он сообщает мне, что это:

Starting version 248.3-2-arch

Что я упускаю из виду и из-за чего массив не собирается при загрузке?

решение1

Я до сих пор не знаю, что изначально вызвало проблему. Но решение было предельно простым, и я чувствую себя глупым.

Проблема была в том, что я запустил:

# mount /dev/md1 /mnt/boot

с живого USB перед chrooting и запуском, mkinitcpioпотому что я хотел проверить настройки в grub. Поэтому initramfsобраз, который я создал, mdadmбыл на RAID-массиве. Тот, initramfsкоторый был загружен, не имел ни малейшего понятия об этом mdadmи поэтому не создавал массив.

Решением было запустить mkinitcpioБЕЗ chrootмонтирования массива в /boot.

Связанный контент