将 Ubuntu 从 14.04 升级到 16.04,启动时挂起,可以使用恢复模式,但不清楚到底出了什么问题

将 Ubuntu 从 14.04 升级到 16.04,启动时挂起,可以使用恢复模式,但不清楚到底出了什么问题

我正在尝试手动升级 Vagrant VM 盒(WordPress 开发环境)变压变流,使用ubuntu/trusty64) 从 14.04 (我认为是 14.04.5 LTS...) 升级到 16.04.2 LTS。这是我第二次尝试,我事先拍了一张快照。

我使用了do-release-upgrade而不是 Debian 方法,并且在过程中没有发现任何明显的错误/问题。完成后它会重新启动并挂起,直到它到达以下状态:

[...]
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
random: nonblocking pool is initialized

开机截图

VM 显然没有 grub,所以我下载了 Ubuntu Live CD ISO 映像,配置 VirtualBox 从该映像启动,然后运行启动修复。(第一次尝试的 pastebin 输出)

我尝试过的最新选项:

启动修复高级选项-主要 启动修复高级选项 - GRUB 位置 启动修复高级选项 - GRUB 选项

然后我就可以访问 Grub 并启动到恢复模式。(顺便说一下,grub 为我提供了两组选项,版本 4.4 和更早的 v3.13,我使用的是最新版本)。

Grub 菜单

我尝试更新 grub 并执行dpkg --configure -a,虽然我怀疑两者都没有问题并且这些都没有什么区别,但它仍然挂在同一个地方。

我现在该做什么/寻找什么?

另外,如果我要恢复 14.04 快照并再次升级,我该怎么做预先这可能会阻止这种情况发生?

软件版本:

Vagrant 1.9.2
VirtualBox 5.1.10
Mac OS X 10.11.6 (El Capitan)

VirtualBox 设置:

Linux Ubuntu (64 位)
2 MB RAM,芯片组 ICH9
启用 I/O APIC - 开启
启用 EFI - 开启
硬件时钟采用 UTC 时间 - 开启

4 CPU
启用 PAE/NX - 关闭

加速:
半虚拟化接口:旧版
启用嵌套分页 - 开启

存储:
SATA 控制器类型 AHCI
2 个端口(1 个用于 HDD,1 个用于光盘)

答案1

console我通过从 GRUB 配置中删除以下行(加载 Linux 内核)中的第二行来解决了这个问题:

linux   /boot/vmlinuz-4.4.0-64-generic root=UUID=52c57bc3-f866-48d7-8cea-3e5fa835e51d ro  console=tty1 console=ttyS0

(如果您知道的话,请随意评论哪些控制台组合是允许的以及原因 - 例如,我知道您不允许将它们组合在一起ttyS0ttyS1因为它们是同一类型。)

初始临时修复:

  • 在 Grub 菜单中,确保默认的“Ubuntu”条目突出显示
  • 按下e编辑
  • 使用箭头键编辑行
  • 按 Ctrl-X保存并启动(这是一个 Emacs 编辑器)

永恒的:

  • 编辑/etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT=行)
  • 运行sudo update-grub以重新生成/boot/grub/grub.cfgGRUB 实际读取的文件
  • 重启

您可能遇到过我遇到的情况,即/etc/default配置与 相比不同步(即过时)/boot/grub/grub.cfg,因此编辑前者会在后者中产生新的错误。每次您有一台正常工作的机器时定期拍摄快照将节省您的时间。

我遇到的其他问题:

  • 需要重新安装 MySQL 包(mysql-client 和 mysql-server),因为 16.04 使用了较新的版本。

相关内容