То, как иметь дело с хинду, не удающимся загружаться из-за “Блокировки инициализации типа, перестало работать” на checkroot?

Моя система является хинду основанной на Linux начальной загрузкой от LVM базирующийся корневой раздел.

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

Ошибка, о которой сообщают, состоит в том, что корневой диск (/dev/vg/lv) недоступен fsck.whichever.

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

2
задан 22.08.2009, 22:37

1 ответ

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

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

/etc/lvm/lvm.conf

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

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

Возможно установить locking_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
1
ответ дан 12.12.2019, 00:37

Теги

Похожие вопросы