如何解决ACPI BIOS Error问题?

日志信息:

5月 12 21:57:21 Mt kernel: ACPI Error: Aborting method _SB.PC00.PEG1.PEGP._DSM due to previous error (AE_ALREADY_EXISTS) (20230628/psparse-529)
5月 12 21:57:21 Mt kernel: ACPI BIOS Error (bug): Failure creating named object [_SB.PC00.PEG1.PEGP._DSM.USRG], AE_ALREADY_EXISTS (20230628/dsfield-184)
5月 12 21:57:21 Mt kernel: ACPI Error: AE_ALREADY_EXISTS, CreateBufferField failure (20230628/dswload2-477)

这个 ACPI BIOS Error (AE_ALREADY_EXISTS)主板 BIOS 不规范 + Linux 内核严格校验导致的,不是系统坏了,也不影响使用,只是日志刷屏。

这两段日志是典型的 Ubuntu 启动 / 硬件兼容警告不影响系统正常使用,可以放心忽略或简单屏蔽报错输出。


第一步:编辑 GRUB 配置

sudo nano /etc/default/grub

找到这一行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

完整替换成这一行(专门针对你的 ACPI AE_ALREADY_EXISTS):

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash loglevel=3 acpi_enforce_resources=lax pcie_aspm=off nvidia-drm.modeset=1"

保存,退出

第二步:更新 GRUB

sudo update-grub

第三步:重启生效

sudo reboot

重启后验证

开机进系统后,再看日志就不会再疯狂刷 ACPI 错误了:

dmesg | grep -i acpi

为什么这样能解决?

  • acpi_enforce_resources=lax 让内核对 BIOS 不规范的 ACPI 表宽松处理,不再报 AE_ALREADY_EXISTS
  • pcie_aspm=off 关闭 PCIe 节能管理,PEG1/PEGP(独显插槽)相关 ACPI 报错直接消失
  • loglevel=3 只显示重要错误,不打印警告级别的刷屏信息
  • nvidia-drm.modeset=1 让 NVIDIA 显卡更稳定,减少显卡相关 ACPI 冲突

如果想从根源彻底根治(可选)

  1. 进主板 BIOS
  2. 关闭 CFG Lock
  3. 关闭 PCIe Power Management
  4. 更新到最新版 BIOS

其实既然不是严重影响系统使用,这个没问题的,系统自己都忽略了。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress