在我之前的问题中你可以找到: 升级 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
当。。。的时候meltdown
和spectre
病毒潜在的最早被发现(但没有实际的病毒)2018 年初的第一个补丁也是破解了微代码。
grub
在此阶段,微码在启动内核之前加载initramfs
,但您也可以告诉内核不要运行代码,直到微码修复为止。这可能会或可能不会为您提供微码更新并仍然运行内核。您需要使用以下选项更新 grub 命令行:
nopti nospectre_v2 nospec
nopti
如何禁用页表隔离以恢复因英特尔 CPU 安全漏洞补丁而损失的性能?nospectre_v2
如何让 Linux 在 Intel CPU 上再次快速运行nospec
我可以禁用英特尔 Spectre 修复吗?
我使用的就是这三个 grub 选项,但是上面的中间链接有更多选项可供考虑。
我并不建议您为了提高速度而禁用 meltdown/spectre 内核选项,而是为了使用您的微码。
另一个选择是将微码回滚到出现错误之前的版本。您只能通过反复试验才能发现这是否可行: