初始状态:

一块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

最新文章

  1. ajax待总结项
  2. Linux启动过程
  3. python 入门
  4. poj 2311 Cutting Game 博弈论
  5. Unity3D实现立体迷宫寻宝
  6. java编程思想第四版中net.mindview.util包
  7. 上机实践 - - 一个例子了解C/C++中指针与数组的区别
  8. 【spring-boot】spring aop 面向切面编程初接触--切点表达式
  9. ionic的弹出框$ionicPopover
  10. SQL Server 索引维护sql语句
  11. [Swift]LeetCode966.元音拼写检查器 | Vowel Spellchecker
  12. apt-get update 问题
  13. tensorflow中的name_scope, variable_scope
  14. Nginx 提示host not found in upstream 错误解决方法
  15. oracle安装教程
  16. python socket 实现的简单http服务器
  17. PS添加透明立体水印
  18. Linux查看CPU、内存、IO占用高的进程
  19. Text Justification leetcode java
  20. LoadRuner常见错误

热门文章

  1. Android开发学习—— Service 服务
  2. 自定义UITabBarController标签视图控制器
  3. IT菜鸟的生存指南(三)流行还是经典
  4. JSPatch来更新已上线的App中出现的BUG(超级详细)
  5. 安装redis以windows服务形式
  6. Oracle工具类-生成数据库现有Job的创建脚本
  7. T-SQL 实现行转列
  8. 取消chrome浏览器下input和textarea的默认样式;html5默认input内容清除“×”按钮去除办法
  9. windows10下sql server 2005 无法运行或sql server服务无法启动的完美解决方案
  10. After the exam