在流行的 Linux 发行版(Ubuntu、Fedora、Mint、Debian)的最新版本中,我总是必须acpi=off
在启动计算机之前将其放入内核参数列表中。 Live CD 和安装版本都会发生这种情况。我一直无法找到有关解决此问题的信息。我想我必须更改内核中的一些设置并编译我自己的设置(我的 Gentoo 安装没有这个问题)。
我应该如何解决这个 ACPI 问题?
更新1:截图
更新2:内核配置差异(我搜索了 ACPI,所以它相对较短)。如果你愿意,也可以看看我的 Gentoo 内核配置(工作),以及Mint 的捆绑内核配置(不工作)。
更新 3:我使用 Mint 的内核配置来编译 Gentoo 内核并得到相同的错误,这是一个很好的迹象,表明问题出在内核配置上。
更新 4:在我的特殊情况下,在 BIOS 中禁用“新接口卡”可以消除问题(安全 -> I/O 接口安全 -> 新接口卡 -> 锁定 - 通过http://ubuntuforums.org/showthread.php?t=1662577&p=11851036#post11851036)
答案1
一般来说,这是由损坏的 acpi BIOS 引起的,但是,如果您可以识别在没有 acpi=off 的情况下它可以工作的特定内核版本,以及它损坏的版本,那么您可以开始一分为二,以准确地缩小导致它的更改的范围。这可能会导致找到需要修复的内核错误,或者可能了解 BIOS 中错误的性质,并找到解决方法。
答案2
在您陷入定制内核的麻烦(无论如何这可能对您有好处)之前,您可以尝试更多启动选项来调试问题,甚至可能成功启动。以下是我会尝试的一些:acpi=noirq
、acpi=strict
、pci=noacpi
。
您可能会使用的一个简单技巧是在 Gentoo 内核上运行 Mint。为此,您必须从两个位置复制文件:(/boot/
内核和 initrd 所在的位置)和/lib/modules
(保留每个内核的所有模块的位置)。从正在运行的 gentoo 系统运行的命令uname -r
将指示您必须复制到 Mint 分区的相应文件/目录。
如果你最终会构建自己的内核,请注意两件事:
- 你不能仅仅使用正在工作的 gentoo 内核中的内核配置和 Mint 的源代码(我指的是你粘贴的配置)——因为它们引用了不同的内核源代码。如果你确实想要使用Mint内核的gentoo配置,你可以尝试使用gentoo配置文件使用相同或更新的版本来自 Mint 的内核源代码。然后,你应该将 gentoo 配置复制到你的 Mint 源目录中,命名它
.config
,首先跑步make oldconfig
在进行任何手动配置之前。 - 如果您将来可能遇到 ACPI 问题,请确保启用 ACPI 调试(
CONFIG_ACPI_DEBUG
选项)并阅读有关在其中使用它<your_sources_dir>/Documentation/kernel-parameters.txt
以及从那里引用的其他文件的信息。
答案3
我通过添加 acpi_osi=Windows (谎言)和 acpi_backlight=vendor 参数作为启动选项来修复它。问题是由于富士康主板造成的