我收到了 Ubuntu 24.04 需要更新的通知。单击通知后,出现了固件更新程序 GUI。有一个针对较新版本的 UEFI dbx 更新。更新后,系统重新启动。但是,我注意到一个严重的问题。此系统 CPU 有 16 个内核、32 个线程,系统监视器将显示 32 个 CPU 内核。UEFI dbx 更新后,系统监视器现在只显示 1 个 CPU。更新似乎损坏了系统。我该如何解决此问题?
我认为 GUIfwupdmgr
与终端有关。我刚刚运行了命令fwupdmgr get-updates
,它显示
...
Devices with the latest available firmware version:
• UEFI dbx
────────────────────────────────────────────────
Devices that have been updated successfully:
• UEFI dbx (371 → 20241101)
Uploading firmware reports helps hardware vendors to quickly identify failing and successful updates on real devices.
此外,终端命令fwupdmgr get-devices
显示了此信息(我屏蔽了下面的一些 ID 信息):
...
...
...
│ └─UEFI dbx:
│ Device ID: Some numbers
│ Summary: UEFI revocation database
│ Current version: 20241101
│ Minimum Version: 20241101
│ Vendor: UEFI:Linux Foundation
│ Install Duration: 1 second
│ GUIDs: xxx ← UEFI\CRT_xxx&ARCH_X64
│ yyy ← UEFI\CRT_yyy&ARCH_X64
│ zzz ← UEFI\CRT_zzz&ARCH_X64
│ Device Flags: • Internal device
│ • Updatable
│ • Supported on remote server
│ • Needs a reboot after installation
│ • Device is usable for the duration of the update
│ • Only version upgrades are allowed
│ • Signed Payload
更新:
我刚刚尝试重新启动系统,以查看使用(恢复模式)或较旧的 Linux 版本启动时是否也会出现此问题。我确认在使用Linux 6.11.0-19-generic (recovery mode)
和较旧版本启动时不会出现此问题Linux 6.8.0-52-generic
。此问题似乎出现在Linux 6.11.0-19-generic
最新的 Linux 版本上。
另外,我发现我确实做了一个apt upgrade
(我忘记了,并在检查 /var/log/apt/history.log 后进行了验证),它将 Linux 版本升级到了 6.11.0-19.19~24.04.1。此升级必须在 UEFI dbx 更新之后但在重新启动之前进行。
$ dpkg --list | grep linux-image
ii linux-image-6.11.0-19-generic 6.11.0-19.19~24.04.1 amd64 Signed kernel image generic
rc linux-image-6.8.0-49-generic 6.8.0-49.49 amd64 Signed kernel image generic
rc linux-image-6.8.0-50-generic 6.8.0-50.51 amd64 Signed kernel image generic
ii linux-image-6.8.0-51-generic 6.8.0-51.52 amd64 Signed kernel image generic
ii linux-image-6.8.0-52-generic 6.8.0-52.53 amd64 Signed kernel image generic
ii linux-image-generic-hwe-24.04 6.11.0-19.19~24.04.1 amd64 Generic Linux kernel image
我该如何解决这个问题Linux 6.11.0-19-generic
?
有意思。我没有遇到这种情况。我使用的是内核 6.11.0-19-generic,没有任何问题。无论如何。在更新系统之前,请务必使用 Timeshift 应用程序以防出现问题;我假设您使用了命令
sudo apt install linux-generic-hwe-24.04
和sudo apt install linux-headers-6.11.0-19-generic
,对吗?好的首先,检查安装了哪些内核:
如果你发现 Linux 6.11.0-19-generic 一直存在问题,你可以启动到可以运行的旧内核版本并删除有问题的内核。你可以通过终端将其卸载。
您也可以尝试将旧内核设置为默认内核(我认为这是更好的解决方案)
接下来,找到以下行:
GRUB_DEFAULT=0
将 更改0
为与您想要的默认内核位置相对应的数字。请记住,最新的内核通常位于列表顶部(位置0
),因此您需要根据 GRUB 列表中较旧内核的位置调整数字。除了数字,您还可以输入路径:在你的情况下。之后,保存你的编辑并退出文件以执行
这些步骤应该可以解决问题
听起来 UEFI dbx(拒绝列表)更新可能导致系统硬件配置或操作系统识别 CPU 核心的方式出现一些问题。您可能需要考虑重新安装操作系统。这会将系统恢复到其默认状态,并可能修复更新导致的任何问题。无论如何,您可以采取以下一些步骤来尝试撤消或修复该问题
有时固件更新可能会导致设置恢复或更改,因此请检查 UEFI 设置 (BIOS)。重新启动系统并按下 F2、DEL 或 Esc 等键进入 UEFI/BIOS 设置
之后,将 BIOS 重置为默认值。如果与 CPU 配置相关的 BIOS/UEFI 设置有任何更改,请将其重置为默认值。查找与 CPU 核心、SMT(同步多线程)或多核设置相关的选项,并确保已启用所有核心和线程。
同样重要的是:检查 UEFI 安全启动设置。确保根据系统配置正确启用或禁用安全启动。有时,UEFI 更新会影响安全启动设置。我会将其禁用。
保存更改并退出。
问题也可能出在更新后的引导加载程序或内核配置上。确保系统使用正确的内核启动。
重新启动并在启动过程中按住 Shift 以调出 GRUB 启动菜单。从 GRUB 菜单中,选择 Ubuntu 的高级选项。选择一个较旧的内核版本(如果有)进行启动。启动后,检查系统是否识别正确的 CPU 核心数。
如果此操作解决了问题,您可能需要避免最近的内核更新,或调查更新是否导致当前内核版本出现任何问题,或者您可以尝试恢复 UEFI dbx 更新
我还怀疑 UEFI dbx 更新是导致该问题的直接原因,您可能需要撤消或恢复它。您可以尝试将 UEFI 恢复为以前的版本。某些系统允许您从 BIOS/UEFI 设置中降级 UEFI 版本。从制造商的网站上查看主板/系统的 UEFI 版本历史记录。
我觉得还有一件事可以帮到你。你可以尝试重新安装或降级 fwupd 或任何与 UEFI 相关的软件包。使用:
之后,重新启动并查看问题是否已解决。如果有帮助,请告诉我。