16.04 VirtualBox VM(来自 vhd 文件)在“非阻塞池已初始化”时挂起

Rha*_*aun 11 virtualbox hyper-v azure 16.04

我正在尝试.vhd在 VirtualBox VM 中启动 Canonical 的 Azure 16.04文件,它挂在“非阻塞池已初始化”处。

它在 Hyper-V 中工作,所以它可能只是 virtual box (5.0.20) 中的一个错误。

小智 19

这是 Canonical 发布的图像中长期存在的错误。

grub 配置正在尝试使用串行端口,但是当它不存在时,它无法正常处理此问题。因此,要么添加串行端口,要么将 grub 更改为不需要它。

这里有三个选项可以让它第一次启动:

  1. 如果 grub 菜单可用,您可以编辑引导参数以删除 console=ttyS0
  2. 您还可以在 VirtualBox 中启用串行端口
  3. 您可以从另一个 VM 或通过环回设备挂载驱动器并console=ttyS0从 /boot/grub/grub.cfg 中删除

之后启动它的两个选项:

  1. 通过 VirtualBox 保留一个串行端口
  2. 覆盖或不包含中的GRUB_CMDLINE_LINUX_DEFAULT值 ,然后运行并验证 /boot/grub/grub.cfg 是否有您的更改。/etc/default/grub/etc/default/grub.d/*.cfgconsole=ttyS0sudo update-grub

  • 在我的情况下,向 VirtualBox 添加串行端口似乎有帮助。 (2认同)
  • 向 VirtualBox 添加串口为我解决了这个问题 (2认同)

tik*_*end 1

我在实际机器上遇到了这个问题,解决方法是为内核启用“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 重新启动