Ubuntu 18.04 中 Intel 微码包升级导致系统无法启动

Ubuntu 18.04 中 Intel 微码包升级导致系统无法启动

在我之前的问题中你可以找到: 升级 Ubuntu 18.04 后,GRUB 屏幕后出现黑屏

我描述了我的错误:

我使用的是华硕 Zenbook UX562F,集成了 GTX 1050 Max-Q。安装后,我安装了 Nvidia-390,并使用 ukuu 将内核更新到 4.20.17,以解决无声音问题。

重启后,一切顺利,我做了:

apt-get 更新 apt-get 升级 + J

一切都完成得很顺利,所以我重新启动了,在 GRUB 中选择 Ubuntu 后,下次启动时,它出现了一个长长的黑屏(紫色屏幕),经过这么长时间后什么都没有变化。

我尝试单独添加 nomodeset 和 noveau.modeset=0 并且一起添加但没有帮助,所以我不知道该怎么做。

通过安装软件包并尝试启动进行深入调查后,我发现导致错误的软件包是:

intel-microcode

当我用以下方法清除并阻止该包时:

sudo apt-get purge intel-microcode
sudo apt-mark hold intel-microcode

升级之前

sudo apt-get upgrade

我的系统能够正常启动。

我看到的问题是,据我了解,该包保护了我的英特尔 CPU

Intel® Core™ i7 8565U 1.8 GHz

容易受到崩溃攻击,但该软件包已修复该问题。

我该怎么做才能修复漏洞并使我的系统处于可启动状态?

感谢你的帮助 Vimu

编辑:我使用了(德语)中提到的手动更新技术:

https://www.thomas-krenn.com/de/wiki/Intel_Microcode_unter_Linux_aktualisieren

我使用了来自英特尔 GitHub repo 的文件:

https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files

使用教程中提到的以下代码来更新固件微码文件

sudo cp intel-ucode/06-8e-09 /lib/firmware/intel-ucode/
echo 1 | sudo tee /sys/devices/system/cpu/microcode/reload

我用英特尔仓库中最新的微码固件覆盖了旧的微码固件

它导致可启动系统

在不升级 apt 提供的 intel-microcode 包的情况下,这是否是最好的修复方法?

答案1

当。。。的时候meltdownspectre病毒潜在的最早被发现(但没有实际的病毒)2018 年初的第一个补丁也是破解了微代码

grub在此阶段,微码在启动内核之前加载initramfs,但您也可以告诉内核不要运行代码,直到微码修复为止。这可能会或可能不会为您提供微码更新并仍然运行内核。您需要使用以下选项更新 grub 命令行:

nopti nospectre_v2 nospec

我使用的就是这三个 grub 选项,但是上面的中间链接有更多选项可供考虑。

我并不建议您为了提高速度而禁用 meltdown/spectre 内核选项,而是为了使用您的微码。

另一个选择是将微码回滚到出现错误之前的版本。您只能通过反复试验才能发现这是否可行:

相关内容