2

Моя система загружается с Gentoo Linux с корневого раздела на основе LVM.

Система успешно загружается через initrd. Он запускает инициализацию основного ядра, но затем завершается неудачно при попытке проверить корневой диск (/etc/init.d/checkroot).

Сообщается об ошибке: корневой диск (/dev/vg/lv) недоступен для fsck. какой бы ни

[Примечание: я нашел одно решение этой проблемы и публикую это, чтобы помочь другим. Если вы знаете лучший подход, я хотел бы услышать об этом!]

1 ответ1

1

Проблема может заключаться в том, что схема блокировки LVM не позволяет активировать группу томов.

Если lvm.conf имеет:

/etc/lvm/lvm.conf

locking_type = 1
:
locking_dir = "/var/lock/lvm"

Тогда каталог блокировки должен быть доступен для записи, чтобы группа томов была активирована. Это проблема на этапе checkroot, поскольку корневая файловая система только для чтения только в этой точке.

Можно установить для lock_type значение 0, но это сопряжено с риском потери данных.

Некоторые из команд lvm принимают опцию --ignorelockingfailure, которая позволяет временно обойти блокировку. Это используется в стартовых скриптах initrd.

Чтобы заставить checkroot работать, я добавил две строки, прежде чем они начали.

&& ! is_net_fs / && ! is_union_fs / ; then

+  lvm vgchange -ayl --ignorelockingfailure
+  lvm vgmknodes --ignorelockingfailure

   if touch -c / >& /dev/null ; then

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .