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) я получаю: "ALERT! / 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... done Начало: Ожидание корневой файловой системы... Начало: Запуск / scripts / local-block... lvmetad еще не активен, используется прямая активация во время sysinit Не удалось найти логический Том "Ubuntu-VG / корень" сделано.
(последний повторяется 20 раз)
Дождался ожидания корневого устройства. Типичные проблемы: загрузочные аргументы (cat /proc/cmdline). Проверьте корневые задержки (система достаточно долго ждала?). Проверьте root= (система ждала не то устройство?) Отсутствуют модули (cat /proc/modules: ls /dev) "ALERT! / Dev / mapper / ubuntu - vg-root не существует. Переход в оболочку!"
2 ответа
- Измените grub.cfg "root=/dev/mapper/ubuntu- vg-root" на "root=UUID=XXXX"
- Добавлен vgchange -ay где-то перед mountroot
По сути, основная причина - "/ dev / mapper / ubuntu - vg-root" не полностью готова, когда проверен корень. В некотором смысле, команда vgchange может запустить обновленный lvm и показать в / dev / mapper. Рекомендуется использовать "UUID" вместо использования имени устройства отображения, чтобы сделать его более общим.
У меня недавно установлен 16.04 Ubuntu Server с рутом на зашифрованном lvm. Он загрузился нормально с ядром 4.4.0-34, но с 4.4.0-36 я получил ту же проблему. Повторять сообщения о lvmetad и затем сбрасывать в оболочку. В качестве обходного пути я объявил 4.4.0-34 опцией загрузки по умолчанию и отключил автоматические обновления. Поэтому установка 4.4.0-34 может помочь вам получить работающее ядро 4.4. Я еще не нашел долгосрочного решения.