Я создал виртуальный диск 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).
Быстрое исследование показывает это /boot/grub/grub.cfg
был изменен во время update-grub
даже если я не изменяю /etc/default/grub
вообще. Изображение 3 показывает исходный (часть, которая содержит запись меню, где $label
"система-a"); изображение 4 показывает новый.
Обновите 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 для показа меню личинки.
Ни одна из "системы-a" или "системы-b" не будет работать. "Ubuntu" работала в первый раз; но на следующей перезагрузке больше не существовал скрытый тайм-аут, и это получило панику ядра снова на "LABEL=system-a".
Это кажется этим в новом grub.cfg
, "Ubuntu" использует "root=UUID =...", в то время как "система-a" использует "root=LAEBL=system-a".
Обратите внимание на это, прежде чем я работал update-grub
, в меню личинки было только "системная-a" опция.
После изучения прошлого и сообщения 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
заменяется исходным после одной успешной начальной загрузки. Не уверенный, почему это происходит, но это, кажется, отдельная проблема, так не обсудил бы это здесь.