"Вскрытие" показало, что механизм загрузки не увидел диск, что выглядело, мягко говоря, странно.
Что оказалось в итоге: в некоторых случаях при перегенерации initrd (делается при установке и обновлении ядра или проприетарных драйверов, например) система не добавляет в initrd драйверы, необходимые для работы с диском. Соответственно, при следующей загрузке диск не виден - всё висит.
Почему механизм создания initrd так себя ведёт - пока не знаю.
Хорошие новости: обойти этот баг оказалось не очень сложно. Этому механизму можно сказать, чтобы не умничал, оптимизируя initrd для данной машины, а просто клал туда всё, что нужно. Для этого достаточно загрузить систему хоть как-нибудь, например, с другим ядром из уже установленных, затем создать файл /etc/dracut.conf.d/90-generic-initrd.conf с таким содержимым:
Код: Выделить всё
hostonly="no"
Код: Выделить всё
dracut -f /boot/initrd-<полная_версия_ядра>.img <полная_версия_ядра>
Код: Выделить всё
dracut -f /boot/initrd-4.9.31-nrj-desktop-1rosa-x86_64.img 4.9.31-nrj-desktop-1rosa-x86_64
Посмотрите, если на ваших машинах похожие проблемы возникнут, такое решение может помочь.
Из минусов - такие inird, не оптимизированные под данную машину, требуют больше места (55-60Мб вместо 12-15Мб) и создаются несколько дольше. Обычно это не проблема.