Ubuntu не загрузится из-за lvmetad

Я следовал этому учебному руководству для установки Ubuntu 15.10:

https://thesimplecomputer.info/full-disk-encryption-with-ubuntu

После перезапуска моего компьютера я добрался до меню личинки и выбрал Ubuntu. Вскоре после этого я получил эту ошибку:

/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.

Эти сообщения сохраняют сложение на черном экране каждую секунду. Через некоторое время я получаю доступ к initramfs консоль пепла.

что я делаю неправильно?

31
задан 31 March 2016 в 06:27

5 ответов

Ошибка Не удалось подключиться к lvmetad ошибка может произойти , потому что диск заполнен на 100%. Чтобы исправить это, загрузитесь с флэш-накопителя USB, смонтируйте полный диск, удалите некоторые ненужные файлы и перезагрузитесь. Я также переустановил загрузочную систему - я не знаю, нужно ли это или нет.

Это команды, которые решили для меня проблему, запускаемые с терминала после загрузки с USB-накопителя. У меня есть Ubuntu 18.04 с шифрованием всего диска. YMMV.

  1. Смонтируйте диск:

     sudo cryptsetup luksOpen / dev / sda5 sda5_crypt
    sudo vgscan --mknodes
    sudo vgchange -ay
    sudo mount / dev / mapper / ubuntu - vg-корень / mnt
     
  2. Удалите ненужные файлы ( cd / mnt / home / your_username ... rm ... )

  3. (может быть необязательно) переустановите систему загрузки:

     cd / mnt /
    sudo mount / dev / sda1 загрузка
    для d в dev sys proc run;  выполните sudo mount --bind / $ d $ d;  сделанный
    sudo vi etc / crypttab # убедитесь, что в первой строке используется "sda5_crypt"
    sudo chroot.
    update-grub
    grub-install / dev / sda
    обновить-initramfs -u -k все
    Выход
    sudo umount dev sys proc запустить загрузку
     
  4. Размонтировать:

     cd /
    sudo umount / mnt
    sudo vgchange -an
    sudo cryptsetup закрыть sda5_crypt
     
  5. Перезагрузка:

     перезагрузка sudo
     
5
ответ дан 23 November 2019 в 01:10

Сегодня я видел ту же ошибку на ноутбуке с Ubuntu 15.10, который я всегда обновлял, но не перезагружался в течение месяца, пока я не захотел протестировать текущее ядро ​​(т. Е. , могло быть недавнее изменение).

В любом случае, я обнаружил, что в моем случае основной причиной на самом деле был "отсутствующий" раздел подкачки из-за сбоя установки при выполнении приведенного выше руководства. Если это так и / или вы действительно используете lvm , вы можете пропустить шаг 2 ниже. Конечно, вы также можете увидеть вышеупомянутое сообщение об ошибке в случае, если ваш системный раздел (или вторичный раздел данных) был поврежден или не может быть найден (см. Шаг 3).

Шаг 1: Подключите вашу систему, загрузите разделы, следуя вышеупомянутому tutorial

Допустим, ваш загрузочный раздел (ext2) - / dev / sdX1, ваш (зашифрованный) раздел подкачки - / dev / sdX2, ваш (зашифрованный) раздел данных - / dev / sdX3, и вы успешно расшифровали последний, используя cryptsetup luksOpen / dev / sdX3 data с последующим подключением: mkdir / tmp / data; mount / dev / mapper / data /tmp/data[1172462pting.

Обратите внимание на монтирование привязки в руководстве и обязательно смонтируйте / dev / sdX1, чтобы вы могли получить к нему доступ из каталога / boot вашего системного раздела ( это очень важно, так как мы должны выполнить update-initramfs ).

Далее мы предполагаем, что вы успешно выполнили chroot / tmp / data / @ ubuntu1510 ( или как там называется ваш смонтированный системный раздел)

Шаг 2: Избавьтесь от приведенного выше сообщения об ошибке

Я использую btrfs (как вы могли догадаться по названному имени вложенного тома), поэтому lvmetad можно легко отключить как следует без потери функциональности:

  • отредактируйте /etc/lvm/lvm.conf и измените use_lvmetad = 1 на use_lvmetad = 0
  • выполните update-initramfs -k $ ( uname -r) -u; sync

Теперь вы можете перезагрузиться, и сообщение об ошибке исчезнет. Однако в моем случае следующее сообщение об ошибке [1] указывало мне на основную проблему, упомянутую выше, поэтому пока мы занимаемся этим ...

Шаг 3: Убедитесь, что / etc / crypttab указывает на правильные неповрежденные разделы

Сначала запустите sfdisk --list / dev / sdX и убедитесь, что ваш зашифрованный раздел подкачки (в моем случае / dev / sdX2) действительно выполняет ] not отображается как (обычный) раздел подкачки. Если это так (как в моем случае), это означает, что загрузка, например,использование аварийного диска, скорее всего, будет использовать этот доступный раздел подкачки, тем самым перезаписывая ваши метаданные, связанные с cryptsetup (ключевую фразу и UUID).

Затем посмотрите / dev / disk / by-uuid и сравните соответствующие UUID вашего зашифрованные разделы с теми, что содержатся в / etc / crypttab. На данный момент я предполагаю: в вашем случае есть несоответствие.

Если выделенный зашифрованный раздел подкачки нигде не находится ниже / dev / disk / by-uuid, это потому, что он в настоящее время используется вашей системой восстановления. В этом случае сделайте следующее:

  • не забудьте прекратить использование раздела: swapoff -a
  • переформатируйте его: mkfs.ext2 / dev / sdX2 (это критически важный , особенно при использовании разделов GPT [2], поскольку он устраняет ошибку, о которой я упоминал ранее. Вероятная причина того, что раздел отображается как тип "swap" в списке sfdisk, заключается в том, что вы / я по ошибке использовали mkswap / dev / sdX2 при настройке раздела в начале.)
  • следуйте инструкциям, чтобы зашифровать раздел и установить парольную фразу; затем откройте его с помощью cryptsetup и правильно переформатируйте раздел , теперь расшифрованный (используя что-то вроде mkswap / dev / mapper / swap )
  • убедитесь, что sfdisk --list / dev / sdX не идентифицирует раздел подкачки как таковой (в этом случае повторите последние шаги)

Теперь еще раз проверьте, что UUID, перечисленные в / etc / crypttab, находятся в строке с тем, что вы видите ниже / dev / disk / by-uuid для соответствующих зашифрованных разделов.

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

Если вас устраивает, убедитесь, что все записывается на диск и перезагружаем систему (вручную все размонтировать не нужно). После этого ваша проблема должна исчезнуть.

[1] может быть, я не обратил внимания в первый раз или первое сообщение об ошибке «замаскировало» второе; то есть только после перезагрузки (с use_lvmetad = 0 ) мне была представлена ​​« Чтение всех физических томов. Это может занять некоторое время ... » (повторяется несколько раз), затем by " ALERT! / dev / disk / by-uuid / ... не существует. ". (Следует отметить, что update-initramfs также жаловался на отсутствие раздела.)

[2] потому что их тип вычитается из анализа их содержимого и в конечном итоге не определяется флагом / байтом (поэтому нет простого способ, например, изменить тип файловой системы GPT с помощью [g] parted .)

12
ответ дан 23 November 2019 в 01:10

Ubuntu 18.04.1 LTS здесь. Пару месяцев он работал без присмотра, но когда я вернулся, я обнаружил, что клавиатура не распознается. Когда я перезагрузился, я получил сообщение «Не удается подключиться к lvmetad» и еще кое-что о том, что не могу получить «Список баз данных UEFI».

Я установил без шифрования диска.

Сообщение UEFI вызывало беспокойство, потому что это была моей первой установкой на компьютер с UEFI, поэтому у меня не было опыта и, честно говоря, я до сих пор не осведомлен о ее полезности. Моя проблема усугублялась тем фактом, что я использовал lvm для того, что должно было стать моим '/', root, volume. (Фактически, я уже забыл, как я достиг ЭТОГО в первую очередь! Эй. Я стар.)

Однако, когда машина не перезагружалась, я искал решение и не нашел ничего окончательного, но сделал обратите внимание, что а) мой раздел EFI был меньше 500 МБ, рекомендованных для одного сайта, и б) отдельный раздел / boot /, который я организовал, вероятно, неуместен и не используется. Я подумал, возможно, что автоматическое обновление, возможно, привело к тому, что что-то, возможно, заняло отведенное ему пространство.

Я решил переустановить - что сработало, и моя структура каталогов / home / осталась нетронутой. Я не проверял / etc /, но сделал копии обоих заранее [1], так что могу проверить позже. / etc / действительно маленький.

Я также удалил удаленные и объединил разделы для EFI и / boot / в один больший раздел EFI (> 750 МБ).

Теперь он перезагружается, но одно сообщение об ошибке мигает слишком быстро, чтобы его можно было прочитать, и я не предлагается загрузочное «меню» образов Linux для загрузки, вместо этого загружается непосредственно в Ubuntu. Есть еще много работы, которую, я полагаю, с grub, чтобы решить эту проблему. Но, по крайней мере, мои файлы вернулись.

[1] Я загрузил установку Ubuntu с USB-накопителя и решил «попробовать» Ubuntu, что позволило мне сделать копии и т.д. и домой, прежде чем выбрать «Установить» на рабочем столе.

2
ответ дан 23 November 2019 в 01:10

Нет необходимости загружать вашу систему с USB или другого устройства. У меня была та же проблема и причина - потому что диск заполнен на 100%. Мне помогло следующее решение.

  1. Перезагрузите систему. В BIOS быстро нажмите и удерживайте клавишу Shift, чтобы открыть меню GNU GRUB.

  2. После нажатия «e» для редактирования настроек Ubuntu. В этой задаче вы можете найти скрины. Найдите строку, начинающуюся как «linux *», например:

     linux /boot/vmlinuz-4-4.0-22-generic root = UUID = 43ad24d3-e \
    c5b-44ee-a099-a88eb9520989 ro тихий всплеск $ vt_handoff
     

    Удалить:

     ro quiet splash $ vt_handoff
     

    И добавьте:

     init = / bin / bash
     

    Когда все будет готово, нажмите Ctrl + x или F10 для загрузки.

  3. Корневой раздел монтируется только для чтения. Чтобы смонтировать его для чтения / записи, введите команду

     mount -o remount, rw /
     
  4. Узнайте, что пошло не так:

     df -hT
     
0
ответ дан 5 January 2021 в 22:43

Я столкнулся с этой проблемой после игры с драйверами Intel на моем ноутбуке. Я использовал сторонний PPA для установки драйверов, и все пошло не так, так как у меня была только одна видеокарта, встроенная, я не мог загрузиться.

Чтобы решить проблему, я загрузился в режиме восстановления, удалил PPA стороннего производителя и переустановили драйверы.

sudo dpkg  --purge --force-all libgl1-mesa-dri
sudo dpkg  --purge --force-all libgl1-mesa
sudo dpkg  --purge --force-all libgl1-mesa-glx:i386

sudo apt-get autoremove
sudo apt-get update

sudo apt-get install --reinstall xserver-xorg-video-intel libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
sudo dpkg-reconfigure xserver-xorg

Для загрузки в режиме восстановления я использовал grub.

1
ответ дан 5 January 2021 в 22:43