我尝试.vhd
在 VirtualBox VM 中启动 Canonical 的 Azure 16.04 文件,但它挂在“非阻塞池已初始化”处。
它在 Hyper-V 中运行,因此它可能只是虚拟盒(5.0.20)中的一个错误。
答案1
这是 Canonical 发布的图像中长期存在的错误。
- https://bugs.launchpad.net/cloud-images/+bug/1573095
- https://bugs.launchpad.net/ubuntu/+source/livecd-rootfs/+bug/1546108
grub 配置正在尝试使用串行端口,但是当没有串行端口时,它无法正常处理。因此,请添加串行端口或将 grub 更改为不需要它。
这里有三个选项可让它首次启动:
- 如果 grub 菜单可用,您可以编辑启动参数以删除
console=ttyS0
- 您还可以在 VirtualBox 中启用串行端口
- 您可以从另一台虚拟机或通过环回设备安装驱动器并
console=ttyS0
从 /boot/grub/grub.cfg 中删除
此后有两个选项可以使其启动:
- 通过 VirtualBox 连接串行端口
- 覆盖或
GRUB_CMDLINE_LINUX_DEFAULT
中的值 以不包括,然后运行并验证 /boot/grub/grub.cfg 是否有您的更改。/etc/default/grub
/etc/default/grub.d/*.cfg
console=ttyS0
sudo 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 重启