bios - 如何在 ACPI dsl/asl 源文件中区分 Windows、MacOS (Darwin) 和 Linux?
问题描述
我正在尝试在 Windows 上禁用 S0ix 睡眠(因为在“CsEnabled”注册表不再有效之后,无法强制 Windows 使用 S3 睡眠)并在 Linux 上允许 S0ix(S3 睡眠似乎不适用于 Chromium OS)。但是我找不到可靠的方法来判断我在 ACPI 中运行什么操作系统并在 OpenCore 中打补丁。类似于执行以下代码的相反操作以禁用 S3 ...
// AOAC
// Name (_S3, ......
// In config ACPI, _S3 to XS3
// Find: 5F53335F
// Replace: 5853335F
//
DefinitionBlock("", "SSDT", 2, "OCLT", "S3-Fix", 0)
{
External (XS3, IntObj)
If (_OSI ("Darwin"))
{
//
}
Else
{
Method (_S3, 0, NotSerialized)
{
Return(XS3)
}
}
}
//EOF
ACPI 标准中当然有 _OS、_OSI 和 _REV 方法,但是根据 Linux 内核文档,Linux 内核将自己模拟为 Windows/Darwin。虽然目前我可以告诉我正在加载 Linux 内核,因为当查询 _OSI 是否为 Darwin 时,Linux 会返回 TRUE。但是如果我以后安装 Hackintosh 会怎样?
解决方案
您可以进入 BIOS 设置菜单查看
推荐阅读
- java - 如何实现关键监听器?
- python - selenium.common.exceptions.ElementNotVisibleException:消息:元素不可交互
- html - ejs模板如何加载到浏览器上?前端如何与后端交互?
- font-awesome-5 - 在角材料 7 上使用 font awesome 5
- mysql - Spring MVC、Hibernate、MySQL(数据库关系)
- node-red - 如何从节点红色的沃森助手的用户输入中获取用户名?
- stl - stl::map 的迭代器递增和递减的时间复杂度是多少
- python - 如何让我的循环在计时器后重新开始?
- ios - 基于子视图(标签)以编程方式创建具有大小的 UIView
- php - Docker 容器的错误网关 nginx