黑苹果启动参数都是做什么用的?如何添加或删除?

31次阅读
没有评论

概述

本文最后更新:2021 年 2 月 21 日

Boot Arguments,翻译为启动参数,一般写作 boot-args,在安装黑苹果时避免不了操作 / 添加 / 删除这个启动参数,其作用是强制使系统在启动的过程中开启 / 关闭 / 切换某些特定的功能,达到兼容 / 排错等目的。但是,让人眼花缭乱的各类参数让小白们望而却步,跟着好不容易找到的教程添加了几个,结果到群里一问大神又说某某参数是用不到的。本文接下来会详细解释黑苹果安装 / 使用时用的各类启动参数以及对应效果,希望你看完后有所帮助。

因个人知识量和经验有限,如未能解决你的疑问请见谅。

 

如何添加启动参数?

首先,需要明确你在使用哪种引导工具,目前主流的是 Clover 以及 OpenCore。Clover 的标志是绿色四叶草,OpenCore 是蓝色的圆圈;Clover 在启动时系统选择界面有主题服务,所以一般比较花哨,OpenCore 的启动界面一般比较简陋,黑底白字菜单,或者黑底几个图标居中。

 

Clover 操作方法

针对 Clover,可以使用 Clover Configurator(翻译 四叶草配置工具),是比较成熟的软件,唯一需要注意的是 Clover bootloader 版本要和配置工具对应,截止本文发布,Clover r5120 以下版本用配置器 5.15.0.0 以下的版本都可以,r5120 及以上请使用 5.15.0.0 以上版本,「注意」如果你不清楚你的 Clover Bootloader 版本,一般位于启动后系统选择界面右下角,或使用 Hackintool,切换到“引导”选项卡查看。如果你还没有进入 macOS,则可以使用代码编辑工具,直接看下面代码编辑器方法。

黑苹果启动参数都是做什么用的?如何添加或删除?

下载安装并运行 Clover Configurator,挂载你的 EFI 分区:

黑苹果启动参数都是做什么用的?如何添加或删除?

找到并打开 Config.plist 文件:

黑苹果启动参数都是做什么用的?如何添加或删除?

 

切换到引导参数选项卡,引导参数可以在下图红框区域添加(可右键选择也可点击 + 号再双击输入):

黑苹果启动参数都是做什么用的?如何添加或删除?

添加完成后保存文件即可。

 

OpenCore 操作方法

和 Clover 类似,OpenCore 也有一个配置工具,名为 OpenCore Configurator,不过这个软件经常会更新出一些莫名其妙的 BUG,并且严格要求对应的 OpenCore Bootloader 版本,请务必从软件更新说明中查看对应的版本。至于如何查看 OpenCore Bootloader 版本,可使用 Hackintool,切换到“引导”选项卡查看;另外,也可以在不开启 OpenCore GUI 界面模式的情况下,在黑底白字的启动界面查看,OpenCore 会在第一行输出类似下面的内容:

OpenCore Boot Menu (REL-058-2020-05-04)

其中,REL 代表 Release 版,058 代表版本是 0.5.8,后面的数字是版本发布日期。

总之,新手慎用 OpenCore Configurator,其它推荐的有 PlistEdit Pro 和 ProperTree,这俩是专门用来编辑 .plist 文件的。针对这个情况,这里使用配置工具、ProperTree 进行演示。以下方法任选其一。

 

OpenCore 配置工具操作法

运行软件,点击上方图标即可加载 EFI 分区。

黑苹果启动参数都是做什么用的?如何添加或删除?

接下来找到 config.plist,右键使用 OpenCore Configurator 打开即可。

切换到 NVRAM 选项卡,右侧找到 7C436110-AB2A-4BBB-A880-FE41995C9F82,启动参数即显示在右方面板,见图:

黑苹果启动参数都是做什么用的?如何添加或删除?

输入或修改完成后,保存文件退出即可。

 

ProperTree 操作法

ProperTree 是一个基于 Python 编写的跨平台软件,这意味着该软件拥有 Windows 版本,所以以下操作均可以在 Windows 下进行。首先,挂载 EFI 分区,使用 ProperTree 打开 config.plist,找到以下位置,双击即可输入:

黑苹果启动参数都是做什么用的?如何添加或删除?

输入或修改完成后,保存文件退出即可。

 

代码编辑器方法

如果你已经进入 macOS,可以使用 Clover/OpenCore Configurator 一样的挂载 EFI 分区步骤,如果你不愿意使用配置工具,可在终端使用下面的命令:

diskutil list sudo diskutil mount disk1s1

每次执行一个命令,其中 disk1s1 需要根据你实际情况填写,一般情况下,当前系统的 EFI 分区是 disk1s1。

如果你还在 Windows,打开 EFI 文件夹,找到 config.plist,使用代码编辑工具打开即可;如果你的 EFI 文件在 U 盘里,可使用 Diskgenuis 等软件将 config 文件拷贝到桌面,修改后再拷贝回原来的位置(没有配图,实在不明白请自行百度一下)。

接下来找到并使用代码编辑工具打开 Config.plist 文件(下图是 Visual Studio Code):

黑苹果启动参数都是做什么用的?如何添加或删除?

按下 Command + F 或 Ctrl + F 组合键调出查找框,输入 boot-args:

黑苹果启动参数都是做什么用的?如何添加或删除?

上图中,刚好位于 boot-args 下面一行的那一堆字母和符号就是启动参数,添加或修改,保存即可。

 

操作建议

只要掌握了各个软件的特性和操作方法,无论使用上述哪种方法都是可以的。需要注意的有以下几点:

  • Configurator 的版本务必、一定、必须与你正在使用的 Clover/OpenCore Bootloader 版本相对应,尤其是 OpenCore,版本对不上很容易 Game Over;
  • .plist 本质上是一个 xml 格式的文件,几乎任何一个专业的代码编辑器都可以操作它,例如本文使用的 VScode,其它还有 SublimeText,Notepad++ 等等。在使用代码编辑器修改 config 文件时,不能破坏标签的完整性,因为这会破坏 config 文件结构,但这需要拥有一定的 xml 或其它标记语言基础知识,新手请勿盲目操作。在黑苹果世界里,比较推荐的是 ProperTree 或 PlistEdit Pro 一类的专用编辑工具;
  • 不要用记事本,不要用记事本,不要用记事本编辑 config 文件!

 

引导参数列表 & 解释

下面是 macOS 系统可以使用的启动参数列表,功能解释同时列出,使用要点有两个:

  • 参数之间 以空格分隔开
  • 在一个参数中,- 和 = 只会同时存在一个,例如:debug=0x100,-xcpm。即:有了 = 号就不会有 – 号,反之亦然,新手请务必牢记
参数 解释
-v 用于安装前期启动时显示代码界面,在安装 macOS 时,应添加此参数以获取明确的错误信息。
-x 安全启动模式,类似 Windows 的安全模式。此模式下 macOS 会尽可能少的加载 Kext 文件。
-s 单用户模式。这一模式将会启动终端模式,可以用这种方式修复你的系统。
-f 关闭 Kext 缓存模式,等于强制重建 Kext 缓存。
-l 在系统日志中输出内存泄漏的相关记录。
arch=x86_64 该参数会强制 macOS 以 64 位内核模式启动,在 10.15 及以上没有什么作用。对应的是 arch=i386,将强制以 32 位模式启动。
iog=0x0 此参数将强制 MacBook 机型在合盖后,接入外部显示器和键盘时系统保持开启状态;但同时,此参数会在接入外部显示器时关闭笔记本的内屏,这可能对保护屏幕以及省电有帮助。
platform=X86PC 此参数将强制禁用 ACPI 电源管理。而 platform=ACPI 将强制启用 ACPI 电源管理。
idlehalt=1 强制 CPU 进入低功耗模式。
debug=0x100 此参数用于禁用五国图,把 Kernel Panic(内核崩溃)的相关数据直接输出在屏幕上,可用于禁止发生内核崩溃时自动重启,这将对排查错误有助益,这一参数还可以用于 Core Dump。其它可用值还有:0x200,这可以在内核崩溃后使用快捷键(C 继续、R 重启、K 进入 KDB);0x400 可用于触发内核崩溃后自动进行 Core Dump;0x2000 将只生成并发送 Kernel Panic 日志,不包括完整的 Core Dump。除此之外还有很多其他值,但一般以上几个已经足够安装 macOS 时使用。
keepsyms=1 此参数可以为 debug=0xN 提供更多错误信息。
dart=0 此参数会关闭 64 位硬件上的系统 PCI 地址映射器(DART)。DART 在拥有 2GB 以上物理内存的机器上是必需的,在默认情况下 DART 都是加载的。当使用 Clover 引导系统且 BIOS 无法关闭 VT-d 时可尝试此参数。
darkwake=0 在拥有完全定制好的 USB 接口时完全不必使用此参数,除非你真的需要操控 HID Tickle 行为。darkwake 是 XNU 的一部分,XNU 是一个混合内核,是 Darwin 系统的一部分(macOS 和 iOS 均使用了 Darwin)。因启动参数仅用于按位计算,所以可能的值有 0、1、2、3、256、257、258、259 等等以此类推,也因此 darkwake=8 实际等于 darkwake=0;darkwake=10 实际等于 darkwake=2,XNU 自 2782.1.97 起删除了这两个值(8 和 10),故这两个值在 Yosemite 及更高版本 macOS 中已失效。黑苹果建议关闭电能小憩,使用 pmset 命令调试休眠。如果实在需要使用,可尝试 darkwake=0 或 3。更多信息可参考外网这篇文章。
nvda_drv=1 用于启用英伟达显卡驱动,包括开启 NVIDIA Web Driver
nv_disable=1 关闭英伟达显卡驱动,请勿与 nvda_drv=1 同时使用。
-no_compat_check 用于禁用 macOS 兼容性检查。例如,macOS 11.0 BigSur 不再支持 iMac 2014 年之前推出的机型,此时可使用此参数以禁止兼容性检查,以达到安装目的。
kext-dev-mode=1 开启 Kext 开发模式,将允许加载未签名的 Kext。在 Yosemite 及更高版本 macOS 中,默认情况下出于安全原因,只会加载已签名的 Kext。此参数可以在 Yosemite 更改此设置,允许加载未签名的 Kext。在比 Yosemite 更新的 macOS 版本(El Capitan)中,引入了另一种安全机制,即系统完整性保护(SIP,也称为 Rootless),该系统会防止修改系统文件,加载未签名的 Kext 等。SIP 可以通过注入正确的 CSR NVRAM 变量来禁用,也可以通过恢复分区运行命令行禁用它。总之,在 10.11 及以后的系统中,已无需此参数。
cpus=1 CPU 单核模式,用于限制系统中活动 CPU 的数量。苹果的开发者工具有一个选项用于启用或禁用系统中的一些 CPU,但你也可以通过这个参数指定要使用的 CPU 数量。在某些情况下,这也许有助于省电,或者你正在调试 X86 电源驱动。
-xcpm 用于强制开启 xcpm 以实现 CPU 原生电源管理,一般用于较老架构的 CPU,例如 Ivy Bridge。
npci=0x2000 此参数会禁用某些与 kIOPCIConfiguratorPFM64 相关的 PCI 调试,另一个相似的选择是 npci=0x3000,后者还会禁用与 gIOPCITunnelledKey 相关的调试。当卡在 PCI Start Configuration 时,应使用此参数,因为存在与 PCI 通道有关的 IRQ 冲突。
npci=0x3000 同 npci=0x2000。
-gux_no_idle 用于终止英特尔芯片的空闲模式(idle-mode)功能。
slide=N 用于引导系统时分配系统内核在内存中的位置,Clover 在一排加号处卡住可以尝试 slide=0,其它参考:Slide 值的说明。
rootless=0 使用 Rootless 模式,请勿在 El Capitan 及更高版本的 macOS 上使用,因为从 El Capitan 起引入了 SIP(系统完整性保护)机制。一般情况下关闭 SIP 即可达成你的目的。
-disablegfxfirmware 在 WhateverGreen.kext 出现之前,该参数用于关闭苹果的 iGPU firmware 以正确驱动 Intel 核显,在 macOS 10.13 及更高版本中已不使用。

 

各内核扩展提供的参数

  • 以下是各常用内核扩展提供的参数,例如 AppleALC、Whatevergreen、Lilu 等等;
  • 使用要点和上面的参数一致。

当前内容被隐藏,登陆后查看

已有 92723 次阅读

 

建议的参数

全新安装 macOS 10.15 及以上时,在没有特殊情况下,最基础常用的参数有下面几个:

  • -v:跑码排错
  • debug=0x100 或 debug=0x200:防止自动重启,禁用五国图直接输出错误信息
  • keepsyms=1:辅助上一个参数
  • agdpmod=pikera:Navi 核心避免黑屏使用,其它显卡如 RX400/500,Vega56/64 无需此参数
  • npci=0x2000 或 npci=0x3000:AMD 系统没有开启 Above 4G Decoding 时使用;X299 卡在 PCI Start Configuration 时使用

若要使用其它参数,根据上面的解释按需添加即可。

 

黑苹果教程
0. 本站所有资源解压密码均为 heipg.cn
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后 24 小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,联系:admin#heipg.cn,或到 QQ 群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!

黑苹果星球 » 黑苹果启动参数都是做什么用的?如何添加或删除?

黑苹果启动参数都是做什么用的?如何添加或删除?

黑酱 超级会员

如何关闭 Parallel Desktop 虚拟机中 macOS 的 SIP?

微星 MAG B460M MORTAR 实装 macOS Big Sur 11.7.2/Monterey 12.6.2/Ventura 13.1 经验分享

如何使用 AllowToggleSIP 功能禁用系统完整性保护?

黑苹果 macOS 系统 U 盘版 / 恢复版基础安装教程

OpenCore 安装卡住的拯救手册 Q &A

USB 定制新姿势:Windows 下定制黑苹果 USB 接口详细攻略

解决安装 macOS 需要管理员账号和密码

修复 OpenCore 引导 Windows 蓝屏

正文完
 0
liveob
版权声明:本站原创文章,由 liveob 于2024-09-14发表,共计5828字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码