自 6 月 22 日更新后,Ubuntu 22.04LTS 版本在兼容硬件上出现 ACPI 错误

自 6 月 22 日更新后,Ubuntu 22.04LTS 版本在兼容硬件上出现 ACPI 错误

我一直在 LINUX.org/Ubuntu 和这个论坛上阅读有关突然发生 APCI 错误导致系统可能启动或无法启动的情况的信息,后者就是我的情况。

我了解到,它被认为是“涉及新硬件时通常会发生的问题”。这种假设在一定程度上可能是正确的,但就我的情况而言,它并不正确。

我有一台 2014 年的台式机,配有华硕主板、AMD10 处理器和 16GB 内存(我的意思是它以前是兼容的硬件)。BIOS 来自 2013 年的 American Megatrends。我从 Ubuntu 14.04 LTS 开始,然后转到 16.04 LTS,然后是 18.04LTS(这导致了很多问题,所以我重新安装了 20.04 LTS),2022 年 6 月,我重新安装了 22.04 LTS 的 PC。在启动过程中,我从未遇到过任何 ACPI 错误。

自 2022 年 10 月以来,我的 PC 在 Ubuntu 启动过程中一直出现 ACPI 错误,闪现,我无法读取,它在去年圣诞节左右死机了。更糟糕的是,它损坏了 2 TB(3.5 英寸)的 HDD,但我的系统磁盘 SSD 仍在工作,但我不能确定。

九月份休假之前,我的 PC 启动时没有出现任何问题,我的意思是,之前启动时我无法进行网络测试,但从十月份开始,我可以一边等待 PC 启动,一边出去洗澡。我的 Ubuntu 22.04 安装在一根棒子上,无论我从棒子还是 SSD 启动都需要时间,非常长的时间。

因此,我可以断然否认 ACPI 错误问题与新硬件有关,在我看来,它与 ubuntu 22.04 查看 ACPI 的方式有关,我预计 2022 年 6 月之后的更新是导致问题的原因。

我的下一步是回到 Ubuntu 20.04 LTS 作为测试,我将 2020 年下载到磁盘并启动的 20.04.1 LTS 的 iso 映像打印出来,结果没有 ACPI 错误...这就引出了一个问题,在 20.04.1 和 22.04 之间 UBUNTU 发生了什么,这可能会导致在 22.04 出现之前兼容的硬件上出现 ACPI 启动问题?

解决方案之一是更改 Grub 配置文件并添加 noacpi、acpi strict 或其他任何内容。但我无法做到这一点:
请问有人能描述一下如何在从 flahdrive/usb 棒启动后执行此操作,如何获取 SSD 上的 /etc/default/grub 文件,如何编辑它以及如何保存它,然后如何从不能仅从可启动 USB 棒启动的系统将其传递到 grub2 可执行文件

请让我知道您需要有关我的设置的信息以帮助您解决问题

得到了 ACPI 错误的图片屏幕截图acpi 错误

答案1

您可以通过设置选项ACPI=off来禁用 ACPI/etc/default/grub

如果无法进入系统,您可以在 BIOS 后立即按 ESC 进入恢复模式,进入 grub,然后转到高级选项并选择恢复 linux 映像。从那里您应该能够进入根终端。

您应该有 rw,但我对 Ubuntu 20.04 上的 rw 不是很熟悉,如果您没有 RW,您可以通过mount列出您的挂载并找到要重新挂载为 rw 的根挂载来重新挂载驱动器。要重新挂载它,您需要执行mount -o remount,rw <mount_path>,如果不是,/您可以执行chroot <mount_path>

您现在可以修改/etc/default/grub并添加ACPI=offGRUB_CMDLINE_LINUX行。

如果你正在使用 grub2,你可以这样做grub2-mkconfig -o /boot/grub2/grub.cfg;对于常规 grub,你可以运行grub-mkconfig -o /boot/grub/grub.cfg

正常情况下不建议关闭 ACPI,但这将回答您关于如何修改和关闭 ACPI 的问题。

可能的解决方案

我对 i2c i2c-2 和 SMBus 问题进行了一些深入研究,发现它通常与内核问题有关。

以下是其他人解决问题的方法...

解决方案

参考:https://ubuntu-mate.community/t/i2c-i2c-2-smbus-timeout-at-boot-upgraded-to-new-kernel-5-0-0-21/19947

他们似乎可以通过添加这个来解决这个问题/etc/modprobe.d/sensors

blacklist adt7475
blacklist hwmon_vid
blacklist it87
blacklist k10temp

移除/etc/initramfs-tools/modules

vhost_scsi

然后接着sudo update-initramfs -u

修改GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="initcall_blacklist=i2c_dw_init_master"

其次sudo update-grub,但我更愿意建议做sudo grub-mkconfig -o /boot/grub/grub.cfgsudo grub2-mkconfig -o /boot/grub2/grub.cfg

这为他们解决了这个问题,但我不能保证它在这里会起作用。

请告诉我这是否解决了您的问题,以便我可以修改我的答案,使其更易于阅读。

相关内容