方法一:
引导config文件加一条启动参数
NVRAM
└─ Add
└─ 7C436110-AB2A-4BBB-A880-FE41995C9F82
└─ boot-args
└─ -igfxvesa
方法二:
-v -x 后进入安全模式启动,进去卸载
OC 启动界面「临时一次」进入安全模式
操作步骤(不改 config)
1.开机 → 进入 OpenCore Picker(也就是开机看到的引导界面)
2.选中你的 macOS 启动盘(不要回车)
3.按 Space 空格键,选择:Boot with verbose,然后按 Enter
4.出现启动参数编辑界面,在原有参数后面加:-x(如果已有 -v,只加 -x 即可)
回车启动
✔️ 仅本次生效
✔️ 重启后自动恢复正常启动
方法三:
如果是打了核显的补丁,可以弄个PE,进PE修改config,把 ig-platform-id 改成 0x11111111,然后开机就可以进系统了。进系统之后重新用 OCLP 打补丁
DeviceProperties
└─ Add
└─ PciRoot(0x0)/Pci(0x2,0x0)
└─ AAPL,ig-platform-id
方法四(推荐):
此方法可以在Recovery下或者别的系统下使用(我是在Recovery下使用,会有不同的系统命令效果有差异的情况。如果你没有Recovery,那就要配置你的OC引导config.plist文件,引导时候显示所有的盘)
1.进入Recovery,打开实用工具 --> 终端
2.找到要撤销补丁的分区标识:diskutil list
-bash-3.2# diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *120.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk3 119.8 GB disk0s2
/dev/disk1 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme +1.2 GB disk1
1: Apple_APFS Container disk2 1.2 GB disk1s1
/dev/disk2 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +1.2 GB disk2
Physical Store disk1s1
1: APFS Volume macOS Base System 945.0 MB disk2s1
2: APFS Volume Preboot 81.3 MB disk2s2
/dev/disk3 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +119.8 GB disk3
Physical Store disk0s2
1: APFS Volume Macintosh HD - 数据 24.9 GB disk3s1
2: APFS Volume Preboot 10.4 GB disk3s2
3: APFS Volume Recovery 3.0 GB disk3s3
4: APFS Volume Ventura - 数据 16.6 GB disk3s4
5: APFS Volume Macintosh HD 15.3 GB disk3s5
6: APFS Volume Ventura 9.3 GB disk3s7
7: APFS Volume Sonoma - 数据 13.9 GB disk3s8
8: APFS Volume Applications 1.9 GB disk3s9
9: APFS Volume Sonoma 10.0 GB disk3s10
10: APFS Volume VM 1.1 GB disk3s11
例如我这里想要撤销Sonoma分区的补丁,就是disk3s10(注意不要选择Sonoma - 数据,要选Sonoma,不要选带数据那个;另外这个名字不一定是系统版本的名称,要取决于你自己取的名字,例如有的人用macos或者Macintosh)。
3.卸载这个分区:diskutil unmount diskXsY
-bash-3.2# diskutil unmount disk3s10
Volume Sonoma on disk3s10 unmounted
由于系统默认的挂载方式是只读的,不能进行下一步操作,所以需要先卸载再以适当的方式挂载。
这里的diskXsY就是上一步找到的标识,我这里就是disk3s10。
注意这里如果卸载错了也不要紧,重启后系统会自动挂载,只要继续卸载上一步找到的分区就行。
注意命令的结果,要卸载成功才能进行后续操作。
4.创建临时挂载点:mkdir dir
-bash-3.2# mkdir dir
默认是在/var/root下创建dir文件夹,在别的地方创建也行,但是后续使用要注意路径
使用ls命令查看是否创建成功
-bash-3.2# ls
.bash_history Desktop Downloads dir
.forward Documents Library
5.挂载要撤销补丁的分区:mount -o nobrowse -t apfs diskXsY dir
-bash-3.2# mount -o nobrowse -t apfs disk3s10 dir
这里的diskXsY就是第2步找到的标识,我这里就是disk3s10。
通过命令ls dir查看挂载是否成功
-bash-3.2# ls dir
.VolumeIcon.icns Users opt
.file Volumes private
.vol bin sbin
Applications cores tmp
Library dev usr
System etc var
6.预检查分区:diskutil info diskXsY
-bash-3.2# diskutil info disk3s10
Device Identifier: disk3s10
Device Node: /dev/disk3s10
Whole: No
Part of Whole: disk3
Volume Name: Sonoma
Mounted: Yes
Mount Point: /System/Volumes/Data/private/var/root/dir
...
APFS Snapshots are defined upon this APFS Volume. Snapshot list:
Snapshot UUID: 68FEEBDB-4C03-45E5-B957-B82869F95009
Name: com.apple.os.update-2EC73C0A30C4B87F8DA7553A83D8D5A028BEA8C7939287594B2C906F0C309D55
XID: 7924228
Snapshot UUID: 1A88BED2-CE3F-497B-B0B4-8781A33ECED5
Name: com.apple.bless.1F7F6042-D9F0-41E5-A0B5-93CA8592676B
XID: 8041363
这里的diskXsY就是第2步找到的标识,我这里就是disk3s10。
查看结果应该有一个或多个Name开头为com.apple.bless的快照,最后一个就是要撤销的快照。有一个Name开头为com.apple.os.install或com.apple.os.update的快照,这个是最初没打补丁之前的快照。如果没有上述的两种快照,那么可能是别的方式更改的快照(例如直接删除了最基础的快照,这样撤销后会导致没有快照无法开机或者干脆就无法撤销快照),此方法可能不适用。
7.撤销补丁:bless --mount dir --bootefi --last-sealed-snapshot
-bash-3.2# bless --mount dir --bootefi --last-sealed-snapshot
如果第4步在别的地方创建的挂载点,那么命令中替换dir
此命令没有返回结果,如果有结果则是失败了
到这里其实重启电脑,也就可以正常进系统了 ,第8步骤的清理可选。
8.清理补丁残留
三代CPU:
rm -rf dir/Library/Extensions/AppleIntelFramebufferCapri.kext
rm -rf dir/Library/Extensions/AppleIntelHD4000Graphics.kext
四代CPU:
rm -rf dir/Library/Extensions/AppleIntelFramebufferAzul.kext
rm -rf dir/Library/Extensions/AppleIntelHD5000Graphics.kext
五代CPU:
rm -rf dir/Library/Extensions/AppleIntelBDWGraphicsFramebuffer.kext
rm -rf dir/Library/Extensions/AppleIntelBDWGraphics.kext
六代CPU:
rm -rf dir/Library/Extensions/AppleIntelSKLGraphicsFramebuffer.kext
rm -rf dir/Library/Extensions/AppleIntelSKLGraphics.kext
9.重启:reboot
备注:
(1)在别的系统下也可以完成上述操作,如果执行命令提示没有权限,则在命令前加上sudo即可。
(2)理论上Non-Metal补丁(Nvidia Tesla、Maxwell、Pascal,AMD TeraScale 1、TeraScale 2,Intel Ironlake、Sandy Bridge),Nvidia Kepler补丁,AMD GCN 1-3、Polaris、Vega补丁都可以用,但暂未测试过,不确定除了撤销快照还要进行哪些操作(源码中是有一些命令的),各位可以研究一下


评论0