最新的英特尔微码更新(2020年11月11日)后,启动崩溃。

ASUS UX303UB上安装Ubuntu 20.04:

$ inxi -M -y 80
Machine:   Device: laptop System: ASUSTeK product: UX303UB v: 1.0 serial: N/A
           Mobo: ASUSTeK model: UX303UB v: 1.0 serial: N/A
           UEFI: American Megatrends v: UX303UB.206 date: 03/02/2016

我今天通过内置的软件更新程序更新了Ubuntu。更新安装了5.4.0-53内核,并且没有中断完成。在此更新之前,我启动Ubuntu没有任何问题。
$ dmesg | grep "microcode"
[ 0.000000] microcode: microcode updated early to revision 0xe2, date = 2020-07-14 
[ 0.558654] microcode: sig=0x406e3, pf=0x80, revision=0xe2 
[ 0.558683] microcode: Microcode Update Driver: v2.2. –

更新后,我被提示重新启动电脑,于是我就这样做了。然而,每次重启后我都遇到了一个无响应的黑屏。我又重新启动了一次,能够进入GRUB。我可以进入恢复模式,但无法正常启动Ubuntu。我尝试了多次重启,最终成功启动了一次。我使用默认设置安装并运行了boot-repair。当我重新启动后,又回到了同样的黑屏界面。我还尝试启动之前的5.4.0-52内核,但在“加载初始ramdisk…”时卡住了。此后我再也无法启动Ubuntu了。
最终起作用的是进入UEFI固件菜单,禁用安全启动并启用CSM。我的问题是,出了什么问题,我该如何找出原因?
我的输出:
$ grep "upgrade " /var/log/dpkg.log
2020-11-11 10:25:47 upgrade network-manager-gnome:amd64 1.8.24-1ubuntu2 1.8.24-1ubuntu3
2020-11-11 10:25:47 upgrade libnma0:amd64 1.8.24-1ubuntu2 1.8.24-1ubuntu3
2020-11-11 10:25:47 upgrade gir1.2-nma-1.0:amd64 1.8.24-1ubuntu2 1.8.24-1ubuntu3
2020-11-11 10:25:55 upgrade intel-microcode:amd64 3.20200609.0ubuntu0.20.04.2 3.20201110.0ubuntu0.20.04.1
2020-11-11 10:25:55 upgrade linux-generic-hwe-20.04:amd64 5.4.0.52.55 5.4.0.53.56
2020-11-11 10:25:56 upgrade linux-image-generic-hwe-20.04:amd64 5.4.0.52.55 5.4.0.53.56
2020-11-11 10:26:06 upgrade linux-headers-generic-hwe-20.04:amd64 5.4.0.52.55 5.4.0.53.56
2020-11-11 10:26:06 upgrade linux-headers-generic:amd64 5.4.0.52.55 5.4.0.53.56
2020-11-11 10:26:07 upgrade linux-libc-dev:amd64 5.4.0-52.57 5.4.0-53.59
2020-11-11 11:02:35 upgrade libplymouth5:amd64 0.9.4git20200323-0ubuntu6.1 0.9.4git20200323-0ubuntu6.2
2020-11-11 11:02:35 upgrade plymouth-theme-ubuntu-text:amd64 0.9.4git20200323-0ubuntu6.1 0.9.4git20200323-0ubuntu6.2
2020-11-11 11:02:35 upgrade plymouth-theme-spinner:amd64 0.9.4git20200323-0ubuntu6.1 0.9.4git20200323-0ubuntu6.2
2020-11-11 11:02:35 upgrade plymouth-label:amd64 0.9.4git20200323-0ubuntu6.1 0.9.4git20200323-0ubuntu6.2
2020-11-11 11:02:36 upgrade plymouth:amd64 0.9.4git20200323-0ubuntu6.1 0.9.4git20200323-0ubuntu6.2
2020-11-11 12:35:35 upgrade libraptor2-0:amd64 2.0.15-0ubuntu1 2.0.15-0ubuntu1.20.04.1

10:25进行的升级 - 导致启动问题的升级 11:02进行的升级 - 通过恢复模式执行的升级(修复软件包) 12:35进行的升级 - 成功启动Ubuntu后,通过禁用SecureBoot和启用CSM进行的升级

grep microcode的输出可能会很有用。 - Pablo Bianchi
确认inxi输出。我的dpkg输出不同。 - calvh
4个回答

遇到了与Asus UX305CA相同的问题,在最后一次更新后,启动时出现黑屏。给我带来了非常糟糕的一天:尝试了恢复、grub-recovery...没有什么帮助。我只能进入恢复模式启动。 由于我有QHD显示器,我怀疑是因为Intel驱动程序更新的原因。
我的临时解决方法:
  1. 通过以下命令确定先前版本:

    sudo apt-cache policy intel-microcode
    
  2. 然后回滚到该版本:

    sudo apt-get install intel-microcode=3.20180312.0~ubuntu18.04.1
    
现在重新启动在正常模式下又可以正常工作了。

你可能需要将其保持以避免未来的升级:sudo apt-mark hold intel-microcode - Pablo Bianchi

有一个新版本的intel-microcode软件包。更新后,计算机可以正常启动。从apt changelog intel-microcode中得知:
Version 3.20201110.0ubuntu0.20.04.2:
  * SECURITY REGRESSION: Some CPUs in the Tiger Lake family sig=0x806c1
    fail to boot (LP: #1903883)
    - remove 06-8c-01/0x000806c1 microcode

你有哪个型号的模型?lscpu | grep -i 'Model name'。我仍然遇到了intel-microcode 3.20201110.0ubuntu0.18.04.2的问题(我使用的是i7-6500U)。降级到.1可以解决问题。完全禁用也应该可以解决。 - Pablo Bianchi
@PabloBianchi 这是一台搭载Intel(R) Core(TM) i5-6200U 2.30GHz处理器的电脑,运行着Ubuntu 20.04.1 LTS操作系统。 - inkantis

不确定是否是同样的问题,但我在升级到5.4.0-53版本后,在戴尔XPS 13上安装了Win10双系统后也遇到了问题。 在BIOS中,硬盘设置被改回了RAID模式,而之前需要将其设置为AHCI模式才能安装Ubuntu。 无论是Win10还是Ubuntu都无法找到硬盘。 将设置改回AHCI模式解决了我的问题。

这对我有用:

在启动过程中使用 "dis_ucode_ldr" 引导选项来防止微码更新。

我刚刚更新了一台笔记本电脑,基本上遇到了相同的崩溃问题。加载内存盘映像后,启动过程卡住了。有趣的是,有时候启动会成功,大约有10%的几率(如果我不使用 dis_ucode_ldr)。

我的笔记本电脑可能与你的处理器相同,是i5-6200U。你没有提到你拥有的ASUS UX303UB型号,但其中一个型号使用的是i5-6200U。

正如 inkantis 指出的那样,最近进行了一次英特尔微码更新,引起了问题。根据你的更新列表,我可以看到这个微码更新在10:25:55下载完毕,就在你第一次启动崩溃之前。它是"intel-microcode:amd64 3.20201110.0ubuntu0.20.04.1"(注意以 "1" 结尾)。

确实有一个新版本可用,即"intel-microcode 3.20201110.0ubuntu0.20.04.2"(以"2"结尾),但这恰好是我笔记本上安装的版本!看起来这个新更新并没有解决i5-6200U上的问题。我必须补充一下,这台笔记本没有经历过"intel-microcode:amd64 3.20201110.0ubuntu0.20.04.1"的更新,所以我不知道它是否会因此崩溃。
当我在grub命令行中插入"dis_ucode_ldr"时,机器每次都能成功启动(连续尝试了十几次)。
我使用Grub Customizer添加了这个引导选项"永久性地",下次看到Intel微码更新时我会将其移除。