Поймал очень интересный и опасный баг. Если у вас имеется операционная система Ubuntu Desktop 20.04.6, которая установлена на программный массив Intel RST, и вы установили утилиту mdadm, то ОС после перезагрузки не может распознать системный диск.
Программные массивы Intel RST сейчас доступны на многих материнских платах. Другие названия:
- Intel RST (Intel Rapid Storage Technology)
- Intel RSTe (Intel Rapid Enterprise)
- Intel VROC (Virtual RAID on CPU)
- FakeRAID
- Программный массив
Система работает, грузится. Ставим mdadm.
apt install mdadm
Перезагружаемся, и...
Система не грузится, диск не найден. Попадаем в initramfs. Эта означает, что ядро не может загрузить корневой раздел. Загруженная в этом режиме файловая система не имеет ничего общего с обычной операционной системой, это содержимое образа initramfs, которое содержит только самые необходимые компоненты, используемые ядром для загрузки.
cat /proc/mdstat
mdadm --detail /dev/md126
Получается, mdadm перехватил работу с массивами, создал их, но как-то криво. Почему-то не цепляются разделы массива при загрузке.
cd /dev
ls
Диск есть, а разделов нет. Давайте смонтируем RAID массив не через mdadm, а через dmraid.
dmraid обнаруживает, активирует, деактивирует и показывает свойства программных RAID массивов. Поддерживаются массивы:
dmraid -l
asr : Adaptec HostRAID ASR (0,1,10)
ddf1 : SNIA DDF1 (0,1,4,5,linear)
hpt37x : Highpoint HPT37X (S,0,1,10,01)
hpt45x : Highpoint HPT45X (S,0,1,10)
isw : Intel Software RAID (0,1,5,01)
jmicron : JMicron ATARAID (S,0,1)
lsi : LSI Logic MegaRAID (0,1,10)
nvidia : NVidia RAID (S,0,1,10,5)
pdc : Promise FastTrack (S,0,1,10)
sil : Silicon Image(tm) Medley(tm) (0,1,10)
via : VIA Software RAID (S,0,1,10)
dos : DOS partitions on SW RAIDs
В нашем случае подходит isw: Intel Software RAID (0,1,5,01).
Останавливаем массивы mdadm.
mdadm --stop /dev/md126
mdadm --stop /dev/md127
cat /proc/mdstat
Монтируем массивы через dmraid:
dmraid -ay -f isw
Проверяем.
cd /dev
ls
Ага, у нас появились разделы dm-1 и md-2.
cd /dev/mapper
ls
И в mapper тоже разделы видны. Пробуем продолжить загрузку: Ctrl + d.
Великолепно. Система загрузилась. Скорее сносим mdadm.
apt remove mdadm
apt purge mdadm
Ubuntu 20 полечили. Есть, наверное, и другие способы восстановления загрузки, к примеру, с помощью kpartx, но я не проверял.
Источник:
Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.