每次启动都出现ACPI错误

我最近从Windows 10切换到了Ubuntu。到目前为止一切都还不错,但是每次启动时我都会遇到这些错误。在Windows 10上我没有遇到过这些错误(不确定是因为Windows没有这些错误还是Windows只是把它们隐藏起来了),我之前都忽略它们,因为系统仍然可以启动,而且我认为这些错误并不致命。
但现在我真的想知道是否应该采取行动,或者是否可以安全地忽略它们(即不会造成任何损害),或者是否应该添加noacpi之类的东西?我看到有人说这样做可能会导致其他正常工作的acpi组件停止工作,所以我一直忽略着,直到今天决定在这里询问。
我之所以想知道是否可以解决这个问题而不会造成任何损害,原因是每次启动时看到这些错误很烦人,而且它们似乎会稍微延迟启动时间(虽然我不确定是不是因为这个原因,但在错误出现后,在进入Ubuntu之前会停顿大约1.5-2秒钟等待闪烁的下划线)。
这些错误如下:
ACPI Error: Aborting method \_PR.CPU0._PDC due to previous error (AE_NOT_FOUND) (20201113/psparse-529)

ACPI BIOS Error (bug): Could not resolve symbol [\_PR.CPU0._PPC], AE_NOT_FOUND (20201113/psargs-330)

我不知道PR或PPC是什么意思,但从CPU0部分来看,似乎与我的CPU的第一个核心有关(我有一个双核心的CPU),但我的CPU工作正常(在Windows中也是如此)。
2个回答

有些BIOS/UEFI开发者就是懒,不把整个ACPI规范实现到他们的BIOS/UEFI中,或者更糟糕的是,他们以错误的方式实现。当Linux尝试读取一些特定的ACPI参数时,如果这些参数不存在或者错误,它会失败并报告这种错误。
你可以尝试更新BIOS/UEFI,但大多数情况下,你可以忽略这些"错误",将它们视为警告。
一个例子:
主板制造商XYZ创建了两个相似的主板,但其中一个有额外的以太网适配器:
1. 主板制造商XYZ为带有额外以太网适配器的主板创建了一个BIOS/UEFI,并将其安装在带有额外以太网适配器的主板上。 2. 主板制造商XYZ懒惰地使用相同的BIOS/UEFI镜像来制作没有额外以太网适配器的主板。
一位名叫Mustafa Öncel的用户在一块没有额外以太网适配器的XYZ主板上安装了Linux。Linux内核读取了BIOS/UEFI的ACPI表,该表显示存在额外的以太网适配器,Linux尝试读取内存区域,但失败了,因为没有额外的以太网适配器。
注意:如果这个错误以前没有出现过,但现在出现了,可能是因为您使用了新的Linux内核,更改了您的BIOS/UEFI或者您的硬件出现故障。

1我在我的HP Omen 15 2020上遇到了错误"ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - _PR_.P006 (20220331/dspkginit-438)"。我有两台笔记本电脑,不同的BIOS版本都出现了相同的错误。这个错误与使用电池时的功耗有关吗?似乎Ubuntu比Windows 11消耗更多的电力,在Windows上通常可以持续大约5小时的滚动和浏览,而在Linux上似乎只能持续不到3小时。 - Ivan Joe Hann
我认为这个答案可以建议采取行动来缓解问题,比如按照官方生产商的指示更新最新版本的BIOS/UEFI。 - Valerio Bozz
@ValerioBozz 但这并不能解决这个问题。 - Rinzwind
3@Rinzwind你错了,BIOS/UEFI更新可能会解决问题。 - paladin
@paladin 不对。你还需要一个新的内核。 - Rinzwind
@Rinzwind 内核更新本身并非必需。较新的内核版本往往只是在绕过固件错误方面进行了“修复”。通常这些修复只是将已知的无害错误移至警告部分,从而消除了控制台上的错误打印输出。换句话说,较新的内核会隐藏对用户没有任何“危害”的错误。 - paladin

我在一台联想机器上使用22.04和5.15.38版本。这个问题今天刚刚发生,唯一解决办法是将BIOS图形设置从动态切换到离散模式。不太清楚为什么会这样。

非常感谢您的回答,我正好遇到了同样的问题,尝试了noacpi(导致触摸板失效),acpi=off(只能显示/工作一个处理器)。我正在使用刚安装的双系统Ubuntu 22.04,节省了我的时间。 - 89n3ur0n