初始状态:
一块ssd硬盘,MBR格式分区,安装了WIN7 64位.
不想动win系统,因此就安装在硬盘的扩展分区
电脑配置:
cpu: i7-5600u
声卡: ALC280
显卡: HD5500
有线网卡: intel 218
无线网卡: intel ac7265(无法驱动,蓝牙免驱)
压缩磁盘、分区这些都不说了,主要就是分出两块来,一个用于写懒人版的cdr镜像,一个分区用于安装系统。
启动办法是使用EasyBCD增加一个菜单,然后在菜单中启动变色龙的光盘镜像。
这么做的目的是尽量少修改windows系统。
镜像取自http://bbs.pcbeta.com/viewthread-1702502-1-2.html
文件大小:7677251584 字节
修改时间:2016年7月21日 16:27:18
MD5 :FD03267F7948DCFBF561B8E2EFD8B52A
SHA1 :4C200BEA4E57B89FF70D1239B47C1697106DEF17
CRC32 :89E0CA2B
这个镜像里面的smbios是imac,
同时在e/e目录下的FakeSMC在hp 820 g2上运行有问题,我就换成新版本的,进了安装界面
安装后,修改dsdt基本是参照大神RehabMan的github上的说明修改的
参考https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/blob/master/patches/02_DSDTPatch.txt进行修改
由于笔记本型号毕竟不一样,我基本上是看了这些修改点,然后手工修改dsdt完成整个过程。
其实这些补丁有点正则表达式知识的,都是能够看得懂的。
修改dsdtr的大致步骤如下:
Chameleon_2.3svn_r2839_Enoch_10.12_pkg+wowpc CDR下载自 http://bbs.pcbeta.com/viewthread-1702502-1-2.html 文件名称:C:\El Capitan 10.11.6 Installer.cdr 文件大小:7677251584 字节 修改时间:2016年7月21日 16:27:18 MD5 :FD03267F7948DCFBF561B8E2EFD8B52A SHA1 :4C200BEA4E57B89FF70D1239B47C1697106DEF17 CRC32 :89E0CA2B 链接:http://pan.baidu.com/s/1bpaBXRD 密码:6tec 安装时CDR中的FakeSmc.kext在820上会kernel panic,替换最新版本的FakeSmc后OK DSDT修改: repair error. Store (\_GPE.VHOV (Arg0, 0x00), 0x01) Local1 => Store (\_GPE.VHOV (Arg0, 0x00, 0x01), Local1) 参考https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/blob/master/patches/02_DSDTPatch.txt进行修改 into device label WMID remove_entry; into all code_regex Name\s*\(WSIP,[\s\S]*Name\s*\(ETYP,\s*Buffer\s*\(.*\)\s*\{\}\) remove_matched; into_all all code_regex \.AC, replaceall_matched begin .ADP1, end; into_all all code_regex \(AC, replaceall_matched begin (ADP1, end; into all label AC set_label begin ADP1 end; into device label ADP1 code_regex Name\s+\(_PRW,[\s\S]*\}\) remove_matched; into device label ADP1 insert begin Name (_PRW, Package() { 0x18, 0x03 }) end; into method label _DSM parent_label PS2K remove_entry; into device label PS2K insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package()\n {\n "RM,oem-id", "HPQOEM",\n "RM,oem-table-id", "167C",\n })\n }\n end; # Inject Audio info into method label _DSM parent_label HDEF remove_entry; into device label HDEF insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package()\n {\n "hda-gfx", Buffer() { "onboard-1" },\n "layout-id", Buffer() { 0x0C, 0x00, 0x00, 0x00 },\n "PinConfigurations", Buffer() { },\n //"MaximumBootBeepVolume", 77,\n })\n }\n end; 参考如下文档里layout-id应该是3或者4 # https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/blob/master/Resources_ProBook/README.txt # http://www.tonymacx86.com/threads/hp-elitebook-g2-alc280-combo-jack-wip.191207/#post1242688 # IRQ fix into device name_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into device name_hid PNP0103 code_regex IRQNoFlags\s\(\)\n\s+\{.*\} removeall_matched; into device name_hid PNP0103 code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\)\n\s+\{((?:.|\n)*)\}\) replace_matched begin Name (%1, ResourceTemplate()\n {\n IRQNoFlags() { 0, 8, 11, 15 }\n %2 })\n end; # Rename all instances of GFX0 to IGPU into_all all code_regex GFX0 replaceall_matched begin IGPU end; into_all all label GFX0 set_label begin IGPU end; GFX0 => GFX0 inject "hda-gfx"="onboard-1" into IGPU (GFX0 originally) B0D3 => HDAU inject "hda-gfx"="onboard-1" into HDAU # Rename all instances of GFX0 to IGPU into_all all code_regex GFX0 replaceall_matched begin IGPU end; into_all all label GFX0 set_label begin IGPU end; GFX0 => GFX0 inject "hda-gfx"="onboard-1" into IGPU (GFX0 originally) # Brightness control fix into device label PNLF remove_entry; into scope label \_SB insert begin Device (PNLF)\n {\n Name (_HID, EisaId ("APP0002"))\n Name (_CID, "backlight")\n Name (_UID, 10)\n Name (_STA, 0x0B)\n }\n end; into_all method code_regex If\s+\([\\]?_OSI\s+\(\"Windows\s2012\"\)\) replace_matched begin If(LOr(_OSI("Darwin"),_OSI("Windows 2012"))) end; # RTC fix into device name_hid PNP0B00 code_regex (IO\s\((?:\s*[^,]+,\s*(?:\/\/\s.*)?\s*\n)+\s*)(\dx\d+)(,\s*(?:\/\/\s.*)?\s*\n\s*\)) replace_matched begin %10x02%3 end; http://www.insanelymac.com/forum/topic/289798-applertc-patch-cmos-reset-after-sleepwake/ # SMBUS fix into device label BUS0 parent_adr 0x001F0003 remove_entry; into device name_adr 0x001F0003 insert begin Device (BUS0)\n {\n Name (_CID, "smbus")\n Name (_ADR, Zero)\n Device (DVL0)\n {\n Name (_ADR, 0x57)\n Name (_CID, "diagsvault")\n Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package() { "address", 0x57 })\n }\n }\n }\n end; # Add missing IMEI device into device label IMEI parent_label PCI0 remove_entry; into device label PCI0 insert begin Device (IMEI)\n {\n Name (_ADR, 0x00160000)\n }\n end; # HPET fix to avoid AppleIntelCPUPowerManagement panic into method label _STA parent_hid PNP0103 remove_entry; into device name_hid PNP0103 code_regex Name\s\(_STA\,\s+0x0F\) remove_matched; into device name_hid PNP0103 insert begin Name (_STA, 0x0F)\n end; # repair HD5500 "device-id", Buffer (0x04) { 0x16, 0x16, 0x00, 0x00 }, "AAPL,ig-platform-id", Buffer (0x04) { 0x02, 0x00, 0x16, 0x16 }, "model", Buffer (0x17) { "Intel HD Graphics 5500" }, 2.使用UE修改AppleIntelBDWGraphicsFramebuffer的BIN文件,将其中的 4139c4 763e 改成 4139c4 eb3e 3.Extra/Extensions目录下需要放FakePCIID.kext / FakePCIID_Intel_HD_Graphics.kext / FakePCIID_Intel_HDMI_Audio.kext等几个 click again on + and add: Name* : disabled:IOAHCIBlockStorage Find* : [HEX]: 004150504C452053534400 Replace* [HEX] : 0000000000000000000000 Comment: Enable TRIM for SSD 1.进入SLE目录下去找到IOAHCIBlockStorage(在IOAHCIFamily.kext\Contents\PlugIns目录下),使用UE修改\IOAHCIBlockStorage.kext\Contents\MacOS目录下的IOAHCIBlockStorage文件 修改DSDT及SSDT中涉及HDAU中的layout-id为4 在Extra/Extensions目录下需要放AppleALC.kext 将EC0下面16bit的变量拆分成两个8bit,同时修改使用这些变量的函数,添加B1B2函数(由于没有32BIT的,因此没有B1B4函数) 例如:BDC, 16, => BDC0, 8, BDC1, 8, Store (BPR, Local3) => Store (B1B2 (BPR0, BPR1), Local3) 在Extra/Extensions目录下需要放ACPIBatteryManager.kext 删除之前添加的PNLF设备 在IGPU下添加PNLF设备,相关信息从如下链接中取得 https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/graphics/graphics_PNLF_haswell.txt 在Extra/Extensions目录下需要放ACPIBacklight.kext