LINUX.ORG.RU

Debian перестал загружаться после update-initramfs -k $(uname -r) -u; sync

 , ,


1

1

Надоело сообщение, тормозяшее загрузку ОС:

WARNING: Failed to connect to lvmetad. Falling back to device scanning.

Решила воспользоваться рекомендацией: https://comeandtechit.wordpress.com/2017/09/18/warning-failed-to-connect-to-l...

Что было сделано:

1. mount -o remount,rw /boot
2. В /etc/lvm/lvm.conf добавлена строка use_lvmetad = 0
3. update-initramfs -k $(uname -r) -u; sync
4. mount -o remount,ro /boot

После перезагрузки система перестала загружаться и выдаёт сообщение:

Configuration setting "use_lvmetad" invalid. It's not part of any section.

Попыталась решить проблему, вернув всё как было:

1. Через LiveDVD удалила строку use_lvmetad = 0 в файле /etc/lvm/lvm.conf
2. update-initramfs -k $(uname -r) -u; sync

Не получилось. В терминале появилось сообщение:

cryptsetup: WARNING: could not determine root device from /etc/fstab

Строка с разделом /root в /etc/fstab у меня была отдельно, но после вышеописанных действий пропала.

При попытке перемонтировать раздел /boot из read-only в rw:

/bin/mount: /lib/x86_64-linux-gnu/libmount.so.1: version `MOUNT_2.33' not found (required by /bin/mount)
/bin/mount: /lib/x86_64-linux-gnu/libmount.so.1: version `MOUNT_2.30' not found (required by /bin/mount)

Помогите исправить эти неприятности. Я даже не знаю с чего мне начать :(

Есть доступ ко всем файлам системы через LiveDVD.


cryptsetup: WARNING: could not determine root device from /etc/fstab

Используешь зашифрованные разделы?

UUID, если используются, правильно настроены?

Я даже не знаю с чего мне начать

На pastbein.com выложи содержимое следующих файлов: lvm.conf и fstab.

Deleted
()

1. Через LiveDVD удалила строку use_lvmetad = 0 в файле /etc/lvm/lvm.conf 2. update-initramfs -k $(uname -r) -u; sync

Проблема в этом. При загрузке live системы, очевидно не были загружены модули luks и lvm, а update-initramfs надо выполнять chroot-нувшись в востанавливаемую систему, иначе скрипт не добавит нужные модули.

unanimous ★★★★★
()
Ответ на: комментарий от Deleted

Используешь зашифрованные разделы?

Да.

UUID, если используются, правильно настроены?

Используются. Настроены правильно.

lvm.conf — https://pastebin.com/pBa74XkS
fstab — https://pastebin.com/6JVzBG4B

Забыла упомянуть, что при загрузке ОС есть ещё одно сообщение. Что-то вроде:

Volume group not found

Через загрузочный диск обнаружила, что каталог /dev почему-то стал почти пустым. Хотя в резервной копии там много чего есть. Не понимаю, почему так получилось.

Joanna
() автор топика
Ответ на: комментарий от unanimous

При загрузке live системы, очевидно не были загружены модули luks и lvm

Скорее всего это не так, потому что live-система — это резервная копия моей ОС в виде образа .iso. При загрузке этого LiveDVD спрашивается пароль для зашифрованного раздела. Иначе, я бы не смогла просматривать файлы на жёстком диске.

update-initramfs надо выполнять chroot-нувшись в востанавливаемую систему, иначе скрипт не добавит нужные модули.

Я не знаю как это делать правильно.

Joanna
() автор топика
Ответ на: комментарий от Deleted

А что с cryptsetup?

Пароль не слетел и по-прежнему открывает зашифрованный раздел, если пытаться просматривать систему через загрузочный диск.

Joanna
() автор топика

Как тут можно было что-то сломать!?

Для исправления нужно было сделать.

1. Найти в файле /etc/lvm/lvm.cfg строку use_lvmetad=1 и изменить в ней 1 на 0.

2. Выполнить update-initramfs -k all -u.

3. Reboot.

anonymous
()
Ответ на: комментарий от anonymous

Как тут можно было что-то сломать!?

Я тоже не понимаю, почему всё вышеописанное произошло.

Найти в файле /etc/lvm/lvm.cfg строку use_lvmetad=1

В новом конфигурационном файле после обновления такой строки нет.

Выполнить update-initramfs -k all -u

cryptsetup: WARNING: could not determine root device from /etc/fstab

Joanna
() автор топика
Ответ на: комментарий от unanimous

vgchange -ay делаешь?

Пробовала. Вылазит такая ошибка:

libaio.so.1: cannot open shared object file: No such file or directory

Хотя в

/usr/lib/x86_64-linux-gnu/
файл libaio.so.1 есть.

Joanna
() автор топика
Ответ на: комментарий от Joanna

Я не знаю как это делать правильно.

chroot /mnt/real_root

legolegs ★★★★★
()
Ответ на: комментарий от Joanna

Ок

1. Грузишься с live системы

2. открываешь терминал, делаешь в нём

sudo su -
чтобы была рутовая консоль

3. первым делом рашифровываешь luks (я понимаю, что у тебя luks-контейнер с LVM на нём). Допустим он на /dev/sda2

cryptsetup luksOpen /dev/sda2 sda2_decr

4.

vgchange -ay

Тут система должна найти и распознать тома LVM на /dev/mapper/sda2_decr, пусть это будет myvg_root

5. теперь монтируем корень расшифрованной системы куда-нибудь

mount /dev/mapper/myvg_root /mnt

Теперь нужно смонтировать псевдофайловые системы в текущем окружении в иерархию каталогов в /mnt

6.

mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc 

Если /boot лежит отдельно (скажем в /dev/sda1) то и его надо замонтировать:

mount /dev/sda1 /mnt/boot/

7. Все готово к тому, чтобы сделать /mnt новым корневым каталогом:

8.

chroot /mnt

Теперь твоя командная оболочка находится в окружении, в котором / «отсчитывается» от /mnt. Это почти «образ» системы на диске

Поправляешь конфиги какие надо, после идешь в /boot и перегенерируешь initrd и, если надо, апдейтишь grub, или что там у тебя загрузчик. Поскольку /boot ты замонтировал(а) заранее, все изменения запишутся на диск, а не будут применены в live-окружению

Вроде всё.

unanimous ★★★★★
()
Последнее исправление: unanimous (всего исправлений: 1)
27 июля 2019 г.
Ответ на: комментарий от unanimous

6. mount --bind /dev /mnt/dev && mount --bind /sys /mnt/sys && mount --bind /proc /mnt/proc

mount --types proc /proc /mnt/gentoo/proc

mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys

mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
DAGAZ
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.