Ubuntu 18.04 在启动成功和启动失败之间交替

Ubuntu 18.04 在启动成功和启动失败之间交替

我全新安装了 Ubuntu 18.04,它有以下奇怪的行为:

第一次启动失败 - grub 启动后黑屏。强制关机后,下一次启动成功。再次重启会使其回到第一个状态 - 启动失败(依此类推)。

该机器是 i9-9820x(华硕 X299),配备双 nvidia GPU(1080 Ti)。启动设备是 nvme ssd。

操作系统:Ubuntu 18.04.3 LTS

内核详细信息:

$ uname -a
Linux sbimage1804 5.0.0-36-generic #39~18.04.1-Ubuntu SMP Tue Nov 12 11:09:50 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

尝试了一些方法:

  • 内核参数::nomodeset显示相应改变,但首次启动仍然失败
  • 将 nouveau 驱动程序列入黑名单:显示分辨率降低,首次启动失败(尚未安装 nvidia 驱动程序)
  • 首次启动时尝试救援模式:首次启动挂起,屏幕上最后显示:Loading initial ramdisk
  • 也没有帮助:recordfail=0在 grub 中设置
  • 内核参数:acpi=off也无帮助

有什么办法可以解决/调试这种情况吗?我尝试添加debug earlyprintk=efi,keep内核参数,但在机器挂起之前它没有添加任何输出(即使在救援模式下)

答案1

因此,这似乎是由英特尔微代码更新错误(相对于受影响的硬件)导致的问题。

解决这个问题的方法是添加dis_ucode_ldr内核参数。这可以消除挂起的启动。

请注意,此解决方法存在错过 CPU 错误修复的风险。代价似乎是继续关注与 CPU 型号相关的勘误表/错误,并将 BIOS 更新到最新版本,希望供应商能够解决这些错误。希望软件包的未来更新能够intel-microcode解决该问题。

编辑:

我发现 Ubuntu 18.04.3 自带的 intel-microcode 默认软件包不会导致此问题。该软件包的较新版本sudo apt upgrade才是问题所在。将该软件包标记为“保留”可防止其升级,并避免需要输入dis_ucode_ldr内核参数:

$ sudo apt-mark hold intel-microcode

相关内容