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

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

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

它在 Hyper-V 中运行,因此它可能只是虚拟盒(5.0.20)中的一个错误。

答案1

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

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

这里有三个选项可让它首次启动:

  1. 如果 grub 菜单可用,您可以编辑启动参数以删除console=ttyS0
  2. 您还可以在 VirtualBox 中启用串行端口
  3. 您可以从另一台虚拟机或通过环回设备安装驱动器并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

答案2

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

相关内容