黑苹果热补丁hotpatch来禁用笔记本独显

2023-05-16

写在前面

最近我根据 RehabMan 的 hotpatch 添加了一些路径做了一个屏蔽独显得 hotpatch 来屏蔽独显解决一些升级 10.13 后因为 nv_disable 参数失效而卡在 Window Server Service only ran for 0 seconds 的错误,发现有些成功,有些失败。于是把我琢磨到的一种方法分享给大家!希望该帖子能帮助到各位!

感谢:

  • PCBETA (远景论坛) yearjinheng 版主的帖子
  • tonymacx86.com Rehabman 的帖子  (还可以通过这个网站选购黑苹果硬件)
  • 转载请注明 原贴地址

屏蔽独显方法不一:

  • 第一种:直接在 DSDT SSDT 上做修改
  • 第二种:手动制作一个适合自己机器的 hotpatch 屏蔽独显达到屏蔽独显的作用

开工

本帖主要采用第二种方法,大致思路如下:

  • 提取 ACPI 原始表单
  • 反编译这些文件
  • 搜索一个名为 _OFF 的方法
  • 检查文件的结果以确定 _OFF 的路径
  • 修改 RehabMan 的 hotpatch 加入自己的路径

提取 ACPI 原始表单并提取 _OFF 路径

  • 打开电脑进入四叶草引导界面,按下 F4 或者 FN+F4 即可提取原始表单到 /EFI/CLOVER/ACPI/origin ,然后进入 MAC 将 origin 拷贝到桌面删掉除 SSDT DSDT 之外的所有 aml 文件,打开终端:
$ cd ~/Desktop/origin 
$ iasl -da -dl *.aml 
$ rm *.aml 
$ grep -l Method.*_OFF *.dsl
  • 以我修改的一个机器为例,上一条命令得到的结果如下
DSDT.dsl
SSDT-7.dsl
SSDT-8.dsl
SSDT-9.dsl
  • 依次打开这四个表单搜索 _OFF ,找到一个类似于下面这个函数:

 

  • 图片左下角的路径就是我们最终所需要的:
_SB.PCI0.RP05.PEGP

修改 REHABMAN 的 HOTPATCH 添加这个路径

  • 首先去 RehanMan 的 GitHub 下载 hotpatch 包
https://github.com/RehabMan/OS-X-Clover-Laptop-Config.git
  • 我们只需要 SSDT-Disable_DGPU 这个文件,编译成 aml 文件
$ iasl SSDT-Disable_DGPU.dsl 
  • 打开编译后得到的 aml 文件

 

  • 按照这个格式添加自己的路径

 

  • 保存放到 /EFI/CLOVER/ACPI/patched

几个注意点

  • 如果在 Config.plist 中使用了 SortedOrder (通常 Clover 安装后默认没有设置),需要在其内添加 SSDT-Disable_DGPU.aml 这一项。因为如果指定了 SortedOrder ,则 Clover 只加载其中指定的 SSDT 。如果没有出现在列表中,即使在 ACPI/patched 中,它也不会加载。
  • 此方法使用 SSDT 中的_DSM方法注入属性。如果本机 ACPI 在该路径上具有现有的_DSM方法,则需要重命名它,否则本机_DSM与 sSDT 正在添加_DSM冲突。
  • 你需要检查_OFF方法的代码,看看有没有访问到EC, 有的情况的代码,不会直接访问EC,而是调用EC里定义的方法(属于间接访问))。所以,对于有的电脑的情况,你需要深入检查代码。而我们的例子,是直接给出了EC0这样的字眼。
  • 访问EC的代码,将会造成一些问题,它(们)将在_INI调用_OFF时,阻止代码的完全执行
  • EC问题, 参考这篇文章https://blog.csdn.net/qq_41601836/article/details/106714438

 


参考:

https://athlonreg.wordpress.com/2017/10/04/hotpatch-%E5%B1%8F%E8%94%BD%E7%8B%AC%E6%98%BE/

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

黑苹果热补丁hotpatch来禁用笔记本独显 的相关文章

  • c++标准库

    C 43 43 标准库可以分为两部分 xff1a 标准函数库 xff1a 这个库是由通用的 独立的 不属于任何类的函数组成的 函数库继承自 C 语言 面向对象类库 xff1a 这个库是类及其相关函数的集合 C 43 43 标准库包含了所有的
  • c++11新特性

    姊妹篇 xff1a 请参考这篇博客 1 关键字及新语法 1 1 auto关键字及用法 1 2 nullptr关键字及用法 1 3 for循环语法 2 STL容器 2 1 std array 2 2 std forward list 2 3
  • ps笔记

    xff08 1 xff09 图层在以下情况下 xff0c 不可编辑 1 隐藏的图层 2 未栅格化的图层 3 锁定抄的图层百 4 智能图像图层 xff08 属于2 xff09 xff08 2 xff09 什么是栅格化 栅格化图层的简单意思是
  • therecipe / qt Windows版本安装

    先记录环境变量 四件套 这篇文章很有作用 xff1a https qiita com manymanyuni items a28acb545200f1f45c79 https qiita com 我使用的步骤和命令 注意 GOPATH和GO
  • Python常用小技巧,提高刷题效率(适用于蓝桥杯python组)

    1 掌握python标准库及小技巧 python课程学习到面向对象 xff0c 就可以刷题参加算法比赛了对于蓝桥杯不支持第三方库 xff0c 但学会python标准库 xff0c 将事半功倍 xff1b 2 常用的列表函数 list1 ap
  • 专业英语的一些单词

    convolutional neural network cnn卷积神经网络 support vector machine svm 支持向量机 append 附加 xff0c 增补 tuple 元组 dictionary 字典 direct
  • 导数

  • Octave工具箱的安装和装载

    网页搜索octave forge xff0c 可以下载离线包 xff0c 并离线安装 先cd到离线包所在目录 再执行以下 xff1a pkg install forge package name 一定要是带版本号的全名 但是推荐直接使用包管
  • Julia pro安装和初步使用

    Julia Pro 相当于Julia全家桶 xff0c 可以把它当作Python的Anaconda xff08 1 xff09 下载地址 xff08 国外 xff09 https juliacomputing com products ju
  • 配置虚拟机

    方式一 xff1a 用AS自带的虚拟机 此时把system images放在sdk目录内 但是注意 xff0c amd平台不支持intel虚拟化 xff0c 所以不能用 方式二 xff1a 使用genymotion插件 任何平台都推荐使用G
  • Genymotion虚拟软件的配置

    一 genymotion软件本身 xff08 1 xff09 点击安装 xff08 2 xff09 登录账户 xff08 3 xff09 设置关联virtualbox的安装路径 xff08 4 xff09 在ADB下选择使用genymoti
  • Vim编辑器配置

    推荐使用space Vim GitHub xff1a https github com SpaceVim SpaceVim 官网 xff1a https spacevim org cn 安装教程 xff1a https github com
  • 修改win10 cmd和shell的编码方式

    936对应GBK 65001对应utf 8 power shell 可以用Powershell的配置文件 xff08 PROFILE xff09 来实现 PROFILE默认文件不存在 xff0c 需要创建 New Item PROFILE
  • wsl2的hyper-v的开启与关闭

    大家都知道 xff0c win10在开启自家虚拟机的时候 xff0c VM和virtualbox就用不了了 xff01 开启hyper v xff1a xff08 1 xff09 打开控制面板 xff08 2 xff09 选择程序 xff0
  • virtualbox和vmware最新版已经支持win10的hyper了

    vmware支持hyper的版本 xff1a https blogs vmware com workstation 2020 01 vmware workstation tech preview 20h1 html virtualbox支持
  • Java读取已打包好的Jar包中的文件

    一般我们是通过下面这种代码获取文件在项目中的的绝对路径 Xxx class getResource 34 META INF xxx yaml 34 但是当模块打包成jar后 xff0c 我们获取到的路径可能会是下面这种 xff0c 这种并不
  • linux更换镜像的一般步骤

    xff08 1 xff09 根据使用的操作系统 xff0c 到清华镜像站上找到该系统的镜像源的连接 xff08 2 xff09 操作步骤 对系统给的镜像源进行备份 xff0c 以防出问题 sudo cp etc apt sources li
  • UEFI模式下Win10和Ubuntu18.04双系统安装总结

    现在都2020年了 市面上根本就买不到传统模式开机的笔记本了 所以我以我的经验总结一下uefi主板如何安装win10和Ubuntu操作系统 其他Linux也是同理 这篇教程是在安装了win10的基础上再安装的Linux 若不符合你的情况 请
  • gun-grub引导选择页面的美化

    不出意外地 xff0c 安装好Ubuntu和Windows的双系统后应该是由Ubuntu的grub引导启动的 也就是那个及其丑陋的页面 逃 优化设置 grub引导的设置文件是 etc default grub xff0c 对其进行修改可以得

随机推荐

  • 双系统完整卸载Ubuntu+Windows磁盘分区安全删除Ubuntu的EFI分区和其他分区

    就参考这篇文章吧 https blog csdn net wq6ylg08 article details 103223620 大致上分为三个步骤 一 把开机引导给删除 可以使用easyUEFI或者BOOTICE 删除你准备卸载的系统的引导
  • legacy传统模式启动下的win10和Ubuntu18.04双系统安装

    前提是你的电脑支持传统模式开机 比如现在的一些笔记本已经不支持传统模式了 强行会找不到引导 和这篇文章大致相同 注意以下不同点 1 在为linux分区的时候 legacy模式下的启动引导分区需要这样设置 空闲 处 xff0c 继续点 43
  • 使用rEFInd来引导多个操作系统

    以下讲解仅适用于EFI的启动模式 且注意一定要关闭secure boot 在同一个电脑上安装了N个操作系统 在开机时 引导肯定会非常的混乱 一种方式是可以使用windows boot manager来选择要启动的操作系统 但是缺点是每次开机
  • rEFInd去掉不必要的启动项

    refind是uefi环境下使用的引导器 如果一台设备上有N个系统 xff0c 那么有必要了解一下refind如 何来引导 但因为默认的引导效果是非常杂乱的 xff0c 我们需要做一些工作 一 安装refind 参考这篇文章 https b
  • pacman的常用命令

    S 指令 安装 sudo pacman S 安装软件 sudo pacman Sy 获取最新打软件情况 xff0c 如果已经是最新了 xff0c 直接会提示已经更新到最新了 sudo pacman Syy 强行更新你的应用的软件库 xff0
  • pacman的包管理命令

    S 指令 安装 sudo pacman S 安装软件 sudo pacman Sy 获取软件源的最新情况 xff0c 如果已经是最新了 xff0c 会提示已经更新到最新了 sudo pacman Syy 重新同步应用的软件源 sudo pa
  • vscode的不同设置的区别

    转载链接 https www jb51 net article 186000 htm
  • Unable to register with master node [http://localhost:11311/]: master may not be running yet.

    树莓派和PC端都安装了ROS xff0c 然后将树莓派ROS当主机运行roscore xff0c 为了让两台机子的ROS可以通讯 xff0c 需要在PC端的 bashrc文件中配置如下环境变量 xff1a PC端 bashrc文件 expo
  • 新手安装arch安装界面wifi-menu连接不了wifi

    新手安装arch安装界面wifi menu连接不了wifi 在物理机上安装arch 但是遇到了一个很无语的地方 因为安装arch是要联网下载基础包的 所以在安装过程中要进行联网 我是连接的wifi 在安装命令行里执行 wifi menu 可
  • 安装arch的网络连接问题(新手易犯)

    估计有很多像我这样的 第一次安装arch 被网络的连接问题搞得欲仙欲死 这篇文章就总结一下我遇到的问题 只适用于wifi无线连接 有线的绕开 刚开始安装 进入到live系统 你会发现 哎 可以使用wifi menu iw 等这些命令 但是a
  • Arch设置开机自动连接wifi网络:

    Arch设置开机自动连接wifi网络 i3wm netctl是arch的源生项目 xff0c 集成于base包 netctl基于命令行 xff0c 你可以安装其他的图形网络管理工具 从 etc netctl examples 拷贝 wire
  • 现在最新版的vmware已经和win10hyper-v兼容

    新增功能 此 VMware Workstation Pro 发行版本是面向所有 VMware Workstation 15 Pro 用户的免费升级 其中包含以下更新 xff1a 支持 Windows 10 主机 VBS xff1a 现在 x
  • Linux下如何设置交换文件?

    一 创建指定大小的文件 我们需要用到dd命令来创建一个指定大小的空文件 xff0c 比如是1G xff0c 执行命令 dd if 61 dev zero of 61 swap bs 61 1024 count 61 1048576 上面命令
  • 虚拟机vmware安装arch在桥接模式下没有eth0网卡,只有ens33,提示no such device

    参考大牛的一篇博客 道理都是一样的 CentOS7系统安装完毕之后 xff0c 输入ifconfig命令发现没有eth0 不符合我们的习惯 而且也无法远程ssh连接 xff0c 这个问题解决起来还算简单 xff1a 一 xff0c 永久搞定
  • vim或gvim的配置(推荐)

    本文简述如何跟换gVim的字体和选择喜欢的配色方案 xff1a 1 下载配色方案 xff1a gVim官网提供了很多配色方案 xff0c 可以根据自己的需要来选择下载 xff0c 本人比较喜欢深色背景系列的 xff0c 所以以下列举一些 x
  • vim的光标设置

    光标显示选项 可以通过以下命令设置guicursor选项 xff0c 来定义图形界面下的光标显示 xff1a set guicursor 61 mode style highlight mode style highlight 其中 xff
  • 如何修改WSL的安装路径

    一 还没有安装wsl实例 自定义wsl安装位置 下载wsl的appx镜像https docs microsoft com zh cn windows wsl install manual xff0c 比如下载的Ubuntu 18 04 将下
  • WSL安装Arch

    WSL安装Archlinux子系统 再次感谢助人为乐的朋友 xff1a https github com yuk7 ArchWSL 下载releases的zip包 并解压到一个有写权限的地方 xff0c 在右键管理员权限运行Arch exe
  • 【rotors】多旋翼无人机仿真(一)——搭建rotors仿真环境

    rotors 多旋翼无人机仿真 xff08 一 xff09 搭建rotors仿真环境 rotors 多旋翼无人机仿真 xff08 二 xff09 设置飞行轨迹 rotors 多旋翼无人机仿真 xff08 三 xff09 SE3控制 roto
  • 黑苹果热补丁hotpatch来禁用笔记本独显

    写在前面 最近我根据 RehabMan 的 hotpatch 添加了一些路径做了一个屏蔽独显得 hotpatch 来屏蔽独显解决一些升级 10 13 后因为 nv disable 参数失效而卡在 Window Server Service