LVM: ALERT! /dev/mapper/ does not exist. Dropping to a shell!

Однажды обновив ядро в Debian вышло так что том LVM отказался активироваться во время загрузки системы. Загрузка падает в такую вот ошибку:

Loading, please wait...
/var/log/lvm2.log: fopen failed: No such file or directory
Logging initialised at Tue Feb 24 12:08:12 2015
Set umask to 0077
Wiping internal VG cache
/var/log/lvm2.log: fopen failed: No such file or directory
Logging initialised at Tue Feb 24 12:08:12 2015
Set umask to 0077
Wiping internal VG cache

Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/mylvm-root does not exist. Dropping to a shell!

Так вот, если так всё печально получилось, то попробуйте сделать в консоли команду lvm. Если комманда lvm не найдена, то нужно скорее всего загрузиться с liveCD и собрать initramfs так чтобы он содержал lvm (но сам я этого не пробовал). Если же команда lvm завершилась удачно, т. е. попали в lvm-консоль, то наберите vgscan, затем vgchange -ay. Если команда завершилась удачно, набираем exit чтобы выйти из lvm-консоли, затем ещё раз exit чтобы выйти из консоли системы. Загрузка продолжится и завершится успешно (надеюсь:)). Затем пересоберем initramfs. Это обычная, временная файловая система, которая используется ядром в начале загрузки. Проще говоря, используя initramfs загрузчик загружается в память ядра, и начальная загрузка всей системы происходит именно из initramfs. Сам образ initramfs назначается и создается программой update-initramfs. Делаем:

$sudo update-initramfs -a -c -k all

 После этого система должна загружаться успешно.

 

unix-way