Мгновенное Ядро Ubuntu 15,04 паники ядра (не может открыть корневое устройство) после 'личинки обновления'

Я создал виртуальный диск VMDK из Мгновенного Ядра Ubuntu, которое 15,04 изображений получили здесь: http://cdimage.ubuntu.com/ubuntu-snappy/vivid/stable/latest/, с помощью него для начальной загрузки недавно созданного VM в VMware Workstation Pro 14.

Я означал использовать эту более старую версию для эмуляции некоторого старого устройства, которое мы имеем. Это загружается прекрасный.

Однако, если я делаю a sudo update-grub (см. изображение 1), в следующий раз, когда оно загружается, это получает панику ядра из-за VFS: не Может открыть корневое устройство, "LABEL=system-a" или неизвестный блок (0,0): ошибка-6 (см. изображение 2).

Изображение 1: How I ran <code>update-grub</code>

Изображение 2: Kernel panic because root device not being found


Быстрое исследование показывает это /boot/grub/grub.cfg был изменен во время update-grub даже если я не изменяю /etc/default/grub вообще. Изображение 3 показывает исходный (часть, которая содержит запись меню, где $label "система-a"); изображение 4 показывает новый.

Изображение 3: Previous menu entry

Изображение 4: New menu entry that fails


Обновите 1 (6/28)

Предпринятый update-initramfs, никакая удача. Все еще получил панику ядра после update-grub.

Кроме того, это не жалуется "такой файл или каталог" для /boot/config-3.19.0-47-generic, не уверенный при необходимости (все еще большой вывод, если я включаю подробный режим для этой команды).


Обновите 2 (6/28)

Я установил GRUB_HIDDEN_TIMEOUT=10 и прокомментированный GRUB_HIDDEN_TIMEOUT_QUIET=true в /etc/default/grub. Теперь я могу видеть скрытый тайм-аут и Esc для показа меню личинки.

GRUB menu

Ни одна из "системы-a" или "системы-b" не будет работать. "Ubuntu" работала в первый раз; но на следующей перезагрузке больше не существовал скрытый тайм-аут, и это получило панику ядра снова на "LABEL=system-a".

Это кажется этим в новом grub.cfg, "Ubuntu" использует "root=UUID =...", в то время как "система-a" использует "root=LAEBL=system-a".

Обратите внимание на это, прежде чем я работал update-grub, в меню личинки было только "системная-a" опция.

2
задан 29 June 2018 в 08:48

1 ответ

После изучения прошлого и сообщения grub.cfg, открытие при выполнении update-grub, существует функция, записанная в /etc/grub.d/09-snappy названный get_kernels(...) это перечисляет все установленные ядра в /boot и выберите новейший для создания записи меню начальной загрузки.

Оригинал grub.cfg использование /vmlinuz и /initrd.img которые указывают на /boot/vmlinuz-3.19.0-47-generic и /boot/initrd.img-3.19.0-47-generic, соответственно. Однако после выполнения update-grub, это выбирает /boot/vmlinuz-3.19.0-47-generic.efi.signed, который не имеет соответствия initrd.img. Затем 09-snappy сценарий просто игнорирует этот файл, не найденный, и не добавил initrd команда в сгенерированном grub.cfg, затем запись меню не загружается.

После удаления /boot/vmlinuz-3.19.0-47-generic.efi.signed вручную, update-grub больше причины, загружающие проблему.


TL; DR

Изображение ядра со знаком /boot/vmlinuz-3.19.0-47-generic.efi.signed не имеет соответствия initrd.img. Удалите его.


Новая проблема: grub.cfg сгенерированный update-grub заменяется исходным после одной успешной начальной загрузки. Не уверенный, почему это происходит, но это, кажется, отдельная проблема, так не обсудил бы это здесь.

2
ответ дан 2 December 2019 в 03:32

Другие вопросы по тегам:

Похожие вопросы: