16.04. VirtualBox VM (из VHD-файла) зависает при инициализации неблокирующего пула

10

Я пытаюсь загрузить .vhdфайл Azure 16.04 Canonical в виртуальной машине VirtualBox, и он зависает при "инициализации неблокирующего пула".

Он работает в Hyper-V, поэтому это может быть только ошибка в виртуальной коробке (5.0.20).

Rhangaun
источник
Должен ли я опубликовать это на serverfault или superuser вместо этого?
Rhangaun

Ответы:

17

Это давняя ошибка в изображениях, выпущенных Canonical.

Конфигурация grub пытается использовать последовательный порт, но когда его нет, он не справляется с этим изящно. Итак, либо добавьте последовательный порт, либо измените grub, чтобы он не требовался.

Здесь есть три варианта загрузки:

  1. если доступно меню grub, вы можете отредактировать загрузочные аргументы для удаления console=ttyS0
  2. Вы также можете включить последовательный порт в VirtualBox
  3. Вы можете смонтировать диск с другой виртуальной машины или с помощью устройства обратной петли и удалить console=ttyS0из /boot/grub/grub.cfg

Два варианта, чтобы загрузить его после этого:

  1. оставьте последовательный порт подключенным через VirtualBox
  2. переопределите GRUB_CMDLINE_LINUX_DEFAULTзначение /etc/default/grubили /etc/default/grub.d/*.cfgне включайте его console=ttyS0, затем запустите sudo update-grubи убедитесь, что /boot/grub/grub.cfg содержит ваши изменения.
боб
источник
2
Добавление последовательного порта в VirtualBox, похоже, помогло в моем случае.
Калян
2
Добавление последовательного порта в VirtualBox решило эту проблему для меня
vas
0

У меня была эта проблема на реальной машине, и исправление состояло в том, чтобы включить параметр «nomodeset» для ядра. Это происходит потому, что Ubuntu пытается переключиться в режим видео высокого разрешения для консоли, а ваше оборудование не взаимодействует. Чтобы исправить это

Исправление этого, пока на машине

Когда появится Grub2, выделите пункт меню для Ubuntu и нажмите «e»

Перейдите к строке, в которую загружается ядро, и нажмите «End», чтобы перейти к концу строки. Добавить «nomodeset».

Нажмите F10 или Ctrl-X, чтобы загрузить его

Исправление это навсегда

Обновите конфигурационный файл grub nano / etc / init / grub

Найдите строку, которая начинается с GRUB_CMDLINE_LINUX_DEFAULT

Отредактируйте строку, чтобы включить nomodeset, в моем случае строка выглядела следующим образом: GRUB_CMDLINE_LINUX_DEFAULT = "nomodeset"

Сохранить / выйти nano Запустить update-grub Reboot

tikend
источник
С изображением облака / лазури у меня не появляется меню Grub2 до того, как оно зависнет.
Rhangaun
У вас должен быть установлен Grub, но он, вероятно, не отображается. Попробуйте удерживать Shiftво время загрузки.
tikend
когда я держу Shift, я получаю: error : terminal 'serial' isn't found.
Rhangaun
@tikend У меня есть подобное сообщение об ошибке здесь , но добавление nomodeset(я помещаю его между "ro" и "console = tty console = ttyS0"), затем Ctrl-X для сохранения / загрузки не имеет никакого значения для того, что случается. Не думаю, что у вас есть идеи? Я отмечаю, что шрифт дисплея меняется вскоре после того, как он достигает строки «Переключен на Clocksrc TSC»…
Уильям
Исправлена! Я понял, что было странно, что консоль была в списке дважды (я пробовал nomodeset в конце строки, но безрезультатно), поэтому я удалил вторую консоль, и она загрузилась. Должен быть в состоянии исправить это навсегда сейчас ...
Уильям