Я уже несколько часов бьюсь над одной проблемой:
После обновления 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. Я пока не нашел долгосрочного решения.