Ubuntu переходит на оболочку на ядре 16.04

Ubuntu переходит на оболочку на ядре 16.04

Я уже несколько часов бьюсь над одной проблемой:

После обновления Ubuntu, сначала с 15.04 до 15.10, а затем с 15.10 до 16.04, я не могу загрузиться с новым ядром. После второго обновления у меня остались ядра 4.4.0-36 и 3.16.0-33 (никаких следов 4.2.x). Это заставляет меня думать, что я обновился с 15.10 до 16.04, все еще используя 3.16.0-33. Это может быть причиной моих проблем.

При загрузке (4.4.0-36) получаю: «ВНИМАНИЕ! /dev/mapper/ubuntu--vg-root не существует. Переход в оболочку!»

Загрузка с 3.16.0-33 работает нормально.

Что я пробовал:

  • переустановил ядро ​​(4.4.0-36). Никаких изменений.
  • В busybox я попытался ввести «vgchange -ay», но у меня ничего не получилось: моя клавиатура не работает в busybox.
  • Установил 4.4.0-38. Результат тот же.
  • пытаясь следовать инструкциям вhttp://pifuge.com/ubuntu/V0Wn-cant-find-lvm-root-dropped-back-to-initramfsОднако файл /usr/share/initramfs-tools/scripts/local-top/lvm2 не содержит никаких «modprobe -q», после которых я могу что-либо добавить.

Любая помощь будет высоко оценена!

Уорнер

Еще немного подробностей:

  • Запуск LVM2. Он (очевидно) установлен.
  • Никакой мультизагрузки. Только Ubuntu.
  • Никакого шифрования (насколько мне известно)
  • Busybox не реагирует на ввод, как ни странно. Это одно и то же, независимо от того, как я загружаюсь (если только я не запускаю 3.16.0-33, тогда система загружается нормально)
  • Он пытается смонтировать корневой каталог около 20 раз, прежде чем перейти в оболочку (busybox). Вот что он выдает:

Начало: Запуск корневой файловой системы ... Начало: Запуск /scripts/local-top ... lvmetad пока не активен, используется прямая активация во время sysinit Не удалось найти логический том "ubuntu-vg/root" выполнено. Начало: Запуск /scripts/local-premount ... выполнено Начало: Ожидание корневой файловой системы ... Начало: Запуск /scripts/local-block ... lvmetad пока не активен, используется прямая активация во время sysinit Не удалось найти логический том "ubuntu-vg/root" выполнено.

(последнее повторяется 20 раз)

Перестал ждать корневого устройства. Распространенные проблемы: Аргументы загрузки (cat /proc/cmdline) Проверьте rootdelays (достаточно ли долго ждала система?) Проверьте root= (не то ли устройство ждала система?) Отсутствуют модули (cat /proc/modules: ls /dev) "ВНИМАНИЕ! /dev/mapper/ubuntu--vg-root не существует. Переход в оболочку!"

решение1

  • Измените grub.cfg "root=/dev/mapper/ubuntu--vg-root" на "root=UUID=XXXX"
  • Добавил "vgchange -a y" где-то перед mountroot

По сути, основная причина в том, что "/dev/mapper/ubuntu--vg-root" не полностью готов, когда проверялся root. В некотором роде команда vgchange могла запустить обновление lvm и показать в /dev/mapper. Предлагается использовать "UUID" вместо имени dev mapper, чтобы сделать его более общим.

решение2

У меня недавно установлен Ubuntu Server 16.04 с root на зашифрованном lvm. Он нормально загрузился с ядром 4.4.0-34, но с 4.4.0-36 у меня возникла та же проблема. Повторные сообщения о lvmetad, а затем переход в оболочку. В качестве обходного пути я объявил 4.4.0-34 загрузочным вариантом по умолчанию и отключил автоматические обновления. Так что установка 4.4.0-34 может помочь вам получить работающее ядро ​​4.4. Я пока не нашел долгосрочного решения.

Связанный контент