笔记本安装 Hackintosh 黑苹果
基本说明
在网上找到对应机型的黑苹果 UEFI 文件(里面对应包含了 Clover 文件)
包含了
EFI/CLOVER
CLOVER 引导文件夹(可能还包含EFI\Boot
boot 启动文件夹)EFI\CLOVER\kexts
文件夹是.kexts
驱动文件,里面的子文件夹里面对应了 macos 对应版本号的驱动文件,EFI\CLOVER\kexts\Other
这个是通用驱动文件夹,如果版本号和你下载的 macos 版本不一致,就可以移动到这个文件夹.查看EFI\CLOVER\kexts\
文件夹对应的 macos 版本号,然后下载对应版本的镜像
下载镜像,下载
.dmg格式的懒人U盘镜像
,这种镜像是带 Clover 的,比如macOS High Sierra 10.13.6(17G66) Installer with Clover 4844.dmg
,懒人版镜像是带Clover
文件的VirtualSMC.kext
使用也很简单,将文件拷贝到 Clover 四叶草的对应目录即可,Drivers 目录里面的 VirtualSmc.efi 是 EFI 驱动文件,把他拷贝到EFI/Clover/drivers64UEFI
注意:10.14 以上的 N 卡没办法驱动,笔记本不能屏蔽核显的,最好使用 macOS 10.12.4.dmg
烧写镜像
win 使用
TransMac
软件,网上有注册版,然后烧写到 U 盘烧写到 U 盘之后,U 盘会被分为 2 个分区,一个是 efi 分区,一个是 mac 系统分区,剩下的都是未使用的分区,然后把下载好的 UEFI 文件,文件夹
EFI
所有的覆盖到 efi 分区,如果 efi 分区有文件,请删除.通过 U 盘启动会进入 Clover 引导界面
驱动说明,必要驱动,开机时尽量使用最少的驱动进行引导
Lilu.kext
驱动扩展补丁AppleFakeSMC.kext
/VirtualSMC.kext
破解驱动USBInjectAll.kext
USB 驱动Whatevergreen.kext
AMD/NVIDIA 显卡驱动补丁VoodooPS2Controller.kext
键盘鼠标触摸板万能驱动
其他
VoodooTSCSync.kext
处理器核心配置Sinetek-rtsx.kext
Realtek SD cardRealtekRTL8111.kext
RealtekRTL8111 网卡HWPEnable.kext
Intel Speed Shift on Skylake and upCodecCommander.kext
睡眠后声音耳机和外放自动切换BrcmPatchRAM2.kext
Broadcom PatchRAM driver for OS XBrcmFirmwareData.kext
蓝牙ApplePS2SmartTouchPad.kext
触控板AppleALC.kext
音频AirportBrcmFixup.kext
Broadcom Wi-Fi cardsACPIBatteryManager.kext
电源管理IntelBacklight.kext
屏幕背光
完善
DSDT(改错、打补丁、添加屏蔽独立显卡代码),在 Clover/ACPI 文件夹
开源项目
常见错误处理
在第一阶段结束,重启的时候出现”macOS could not be installed onyour computer, Unable to unmount volume for repair.” 具体原因我也不太清楚,解决办法虽然有很多种,但是我认为最简便省力的方法是把一个隐藏文件解压到安装 U 盘的根目录。这个文件叫 IAProductInfo。
config.plist 中我添加了我的机器的内存信息,如果不适合你的机器,请自行修改;当然还有 SMBIOS 也要根据你自己的情况修改;如果你有固态硬盘的话,请注意添加对应的驱动;
声卡驱动配合 config.plist 注入 Layout-id 6,如果不懂的话就用万能驱动吧
电源添加
ACPIBatteryManager.kext
,至于屏蔽显卡,我的方法是在_WAK 和_SB.PCI0.PEG0.PEGP、_SB.PCI0.XXX 下的_INI 中添加屏蔽独显函数_SB.PCI0.PEG0.PEGP._OFF()。
10.12.5的
DSDT和SSDT的处理:
用AIDA64提取DSDT和SSDT,命名为”DSDT.aml”、“SSDT.aml”、“SSDT-1.aml” 、“SSDT-2.aml”……注意一定要按顺序。然后在Yosemite下,把MACiAsl(编译器调成iASL5.0)里的iasl5复制到/usr/bin下,然后把上述的aml文件全部放到桌面,打开终端,输入
”cd Desktop”
“iasl5 –da DSDT.aml SSDT*.aml”
进行联合反编译,最后会得到dsl文件。
排错:
1.DSDT.dsl里会有syntax error,Unexpected PARSEOP_ZERO和syntax error,Unexpected PARSEOP_ARG0两个错误,分别用RehabMan的”Fix Parseop_zero Error”和”Fix ADBG Error”两个补丁解决。之后删除开头的 External (_SB_.PCI0.GFX0, UnknownObj) External (_SB_.PCI0.PEG0, UnknownObj) External (_SB_.PCI0.PEG0.PEGP, UnknownObj) External (_SB_.PCI0.PEG1, UnknownObj) External (_SB_.PCI0.PEG2, UnknownObj)
即可,警告不管。保存。SSDT-1.dsl里会有”syntax error,Unexpected PARSEOP_PACKAGE错误”,删掉从错误行开始的所有连续的Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 }即可,警告不管,保存。SSDT-6.dsl里会有syntax error,Unexpected PARSEOP_NAMESEG,expecting“(”的错误,删除
MUID REVI SFNC XRG0即可,无措后保存。至此,无错的DSDT和SSDT制作完成。
显卡方面:
独显已屏蔽,集显HD4600成功驱动,QE/CI开启,有水波纹。独显屏蔽的方法:DSDT打上RehabMan的
“Disable from _REG (DSDT)” ”Disable/Enable on _WAK/_PTS (DSDT)”,
编译,会有Name already exists in scope(\_SB.PCI0.PEG0.PEGP._OFF)的错误,
将错误行移到开头一堆External后面,再编译还会有这个错误,不过这时将错误行删除,无错后保存。SSDT-5.dsl打上“Disable from _INI (SSDT)”的补丁,编译,会有Object does not exist(_OFF)的错误,找到错误行,在其上一行把
//External(\_SB.PCI0.PEG0.PEGP._OFF, MethodObj) 改为External(\_SB.PCI0.PEG0.PEGP._OFF, MethodObj)
无错后保存。将全部的dsl文件生成aml文件放到Extra下,别忘了org.chameleon.Boot.plist加入DropSSDT=yes,至此显卡已屏蔽。HD4600驱动:本人采取的是SSDT注入+FakePCIID.kext+ FakePCIID_HD4600_HD4400.kext。简单来说就是在SSDT-4.dsl打RehabMan的“Haswell HD4600 Yosemite”补丁,并注入了EDID(EDID要经过一定修改,否则会导致屏幕只能输出16位色的问题),以下是我的_DSM部分的内容,AAPL00,override-no-edid下的就是修改后的EDIDMethod (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) } Return (Package() { "device-id", Buffer() { 0x12, 0x04, 0x00, 0x00 }, "AAPL,ig-platform-id", Buffer() { 0x06, 0x00, 0x26, 0x0a }, "hda-gfx", Buffer() { "onboard-1" }, "model", Buffer() { "Intel HD 4600" }, "AAPL00,override-no-edid", Buffer (0x80) { 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x06, 0xaf, 0xed, 0x21, 0x00, 0x00, 0x00, 0x00, 0x01, 0x15, 0x01, 0x04, 0x90, 0x22, 0x13, 0x78, 0x0a, 0xe2, 0xb5, 0x9e, 0x59, 0x52, 0x99, 0x26, 0x1e, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xb6, 0x35, 0x80, 0x7e, 0x70, 0x38, 0x28, 0x40, 0x3c, 0x3c, 0xee, 0x00, 0x58, 0xc2, 0x10, 0x00, 0x00, 0x18, 0xb6, 0x35, 0x80, 0x7e, 0x70, 0x38, 0x58, 0x42, 0x3c, 0x3c, 0xee, 0x00, 0x58, 0xc2, 0x10, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x41, 0x55, 0x4f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x42, 0x31, 0x35, 0x36, 0x48, 0x57, 0x30, 0x32, 0x20, 0x56, 0x31, 0x20, 0x0a, 0x00, 0x41 }, }) }最后所有的dsl全部打“Rename GFX0 to IGPU”补丁(能打则打,不能就算了),将全部dsl生成aml,放入Extra下。
然后FakePCIID.kext和FakePCIID_HD4600_HD4400.kext放在Extra/Extensions下(kext见附件),重启即可驱动。亮度:
对SSDT-4.dsl打Brightness fix (Haswell)补丁即可。无错后保存,生成aml文件,覆盖原有SSDT-4.aml,重启后用Scr LK和 Pause Break即可调节亮度。电量:
对DSDT.dsl打RehabMan的“Clevo P15SM”补丁,无错后保存,生成aml文件,覆盖原有DSDT.aml并安装ACPIBatteryManager.kext即可
CPU变频:
目前最低790Mhz左右,最高3.3GHZ。HWMonitor显示的档位:*8、*17、*25……(后面不记得了)
方法:Smbios设定成MacBookPro11.2(文件见附件),用ssdtPRGen.sh,把这文件放到/usr/bin下,进入终端,输入
cd Desktop
sh ssdtPRGen.sh
在桌面上会生成ssdt.dsl和ssdt.aml,把ssdt.aml改为ssdt-2.aml替换原来由ssdt-2.dsl生成的ssdt-2.aml。重启,就可以变频了。
AppleLPC、HEPT、RTC等原生支持。
声卡和网卡:
请用MultiBeast7.3.0安装VoodooHDA v2.8.7和RealtekRTL81xx v0.0.90即可解决声卡和有线网卡。我的无线网卡是RTL8723BE,无解。
我是用小米随身wifi解决的,解决办法看这http://bbs.8miu.com/viewthread-1552075-1-1.html,感谢tonyleen 。蓝牙:
目前不知怎么弄,貌似我的蓝牙和无线是一起的,无解。
指纹识别:
这东西估计百年无解吧。。。。。
目前的问题:
1.重启不正常,重启后屏幕不亮,但仍正常运行,因为可以进入Windows(有欢迎的音乐),合上笔记本待睡眠后唤醒屏幕点亮,一切正常。
2.Yosemite无法睡眠,睡眠不断电,就算断电,几秒后就被唤醒。
3.iMessage无法登录,FaceTime、App Store正常。
您需要在clover的引导界面中来提取,用户仅需要按F4即可提取,值得注意的是,提取后并没有提示,提取的dsdt会保存在目录中的efi-clover-ACPI-origin中,您可以打开后将其编译为dsl的格式,在mac下使用Maciasl,在这里我们以idt92hd91bxx声卡注入id作为示范,当然您也可以选择其他的