以下是deepseek给出的回答
错误解释
ACPI BIOS Error (bug): Could not resolve symbol [\_SB._DSC.CMM1]
- 含义:Linux内核(ACPI子系统)说它遇到了一个BIOS的Bug。BIOS的ACPI表中有一个方法(Method)或设备(Device)引用了另一个名为
\_SB._DSC.CMM1
的对象,但这个对象在ACPI表中并不存在(无法解析)。
AE_MDI_FOUND (20240827/psangs-332)
- 这是错误代码,
AE_MDI_FOUND
通常表示在解析命名空间时遇到了一个未初始化的条目。
Aborting method \_SB._DSC due to previous error
- 由于上述错误,ACPI解释器中止了执行
\_SB._DSC
这个方法。
简单来说:这是您电脑主板BIOS中的ACPI代码存在瑕疵或不兼容导致的,并不是Linux系统本身坏了。Linux内核严格遵循ACPI规范,而很多主板厂商的BIOS实现并不完全规范,从而触发了这个警告。
内核启动参数中忽略该错误(临时/快速解决方案)
如果上述方法无效,或者您暂时无法更新BIOS,可以通过修改Linux的启动参数,让内核忽略特定的ACPI错误继续运行。这是一个非常安全且常见的处理方式。
具体步骤(以GRUB引导管理器为例):
-
编辑GRUB配置文件:
bash
sudo nano /etc/default/grub
-
找到以 GRUB_CMDLINE_LINUX_DEFAULT
开头的行。这行内容通常类似于:
bash
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
-
在这行引号内的内容最后,添加以下参数:
text
acpi=off
警告:acpi=off
会完全禁用ACPI,可能导致一些功能失效(如CPU频率调节、电池状态显示、睡眠休眠等),不推荐使用。
更好的方法是使用更精确的参数来忽略错误继续执行,而不是完全禁用ACPI。请尝试添加:
text
acpi=ht
或者
text
acpi=force
如果以上不行,最有效的可能是忽略特定错误等级:
text
acpi=ignore
例如,添加后可能看起来像这样:
bash
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=ht"
-
保存文件(在nano中按 Ctrl+X
,然后按 Y
,最后按回车)。
-
更新GRUB配置:
bash
sudo update-grub
(对于使用UEFI的系统,此命令通常有效。如果无效,请查询您的发行版更新GRUB的命令)
-
重启电脑:
bash
sudo reboot
重启后,观察错误信息是否消失。如果 acpi=ht
无效,您可以尝试回退修改,并换用 acpi=force
或 acpi=ignore
再重复上述过程。