PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

MSI板卡黑苹果之主板BIOS改造篇

[复制链接]
跳转到指定楼层
1#
ivis 发表于 2013-5-22 01:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:36272|回复数:36
本帖最后由 ivis 于 2014-7-31 09:55 编辑

本章节包括以下几个内容:


1.各种软办法,解决电源管理问题。
2.BIOS打个补丁。
3.万不得已,修改BIOS


第一部分,软解决电源管理问题。
主板的BIOS如果能够支持苹果原生的电源管理AppleIntelCPUPowerManagement.kext,对于黑苹果来说,已经成功了一半。这个KEXT的作用非常重要,关系到Mac系统能否安装,安装好后能否睡眠唤醒,Cpu能否降频等等一系列重要的方面。有一些主板,比如技嘉的一些板子可以原生支持苹果的电源管理,一时被黑苹果用户奉为神器。如果不巧你手里没有这样的板子,那么我们也是有办法的。
首先是安装了,浅显办法可以用个nullpowermanagement.kext,这是禁用原生电源管理的,一般来说,可以安装了,再找个睡眠的KEXT,进行睡眠或者换新,这都不是根本的解决办法。下面我们来看几个软方法。
如果你的主板BIOS中有HPET功能,那么在BIOS中打开。去掉nullpowermanagement.kext。看看能不能用。如果能用,恭喜你,省掉了一些折腾。
如果你的BIOS没有HPET功能,如果你是变色龙引导的,那么要在变色龙的com.boot.apple.plist文件中加入
<key>ForceHPET</key>
<string>Yes</string>语句。
然后在DSDT中加入HPET代码:
Device (HPET)
                 {
                     Name(_HID, EisaId ("PNP0103"))
                     Name(ATT3, ResourceTemplate ()
                     {
                        IRQNoFlags ()
                            {0}
                        IRQNoFlags ()
                             {8}
                        Memory32Fixed (ReadWrite,
                            0xFED00000,         // AddressBase
                            0x00000400,         // AddressLength
                             )
                     })
                     Name (ATT4,ResourceTemplate ()
                     {
                     })
                     Method(_STA, 0, NotSerialized)
                     {
                        Return (0x0F)
                     }
                     Method (_CRS, 0, NotSerialized)
                     {
                        Return (ATT3)
                     }
                 }
如果是CLOVER引导的,那么需要在CONFIG中加入
<key>AsusAICPUPM</key>
<string>Yes</string>
来试验一下。如果能用,那是万幸。
或者在别人相同主板的打过补丁的AppleIntelCPUPowerManagement.kext来替换下。这些都是权宜之计。日后的升级可能还要修改。










第二部分,简单的方法给BIOS打补丁。
我们知道有些主板是原生支持苹果的电源管理的,比如技嘉的一些板子。被黑苹果玩家奉为神器。关键的地方就在于一个锁定。下一个部分我们再详细说。
现在先来看如何简单的解锁。


打开CMD,输入PMPATCH,这是一个玩家做的小工具。
用法很简单。命令如下:
Pmpatch e7733ims.a30 e53.a30
其中E7733IMS.A30Z77IA-E53BIOS,从官网下载。
E53.A30是修改后的BIOS,名字随意取即可。
命令执行完毕,我们可以看到在0037F190这个地方打了个补丁。
这也E53.A30就是修改后的BIOS,一般来说,可以使用了。
但是千万注意,不要着急。要先验证。否则直接刷机,变了砖头得不偿失。
MSI板子有个很好的功能就是支持U盘上的BIOS开机。
M-Flash内。官方的说法是,当BIOS损毁时可由USB随身碟载入BIOS档案进行开机修复作业。
我们现在理由的就是这个功能中的一个,只开机不修复。
需要注意的几个方面就是:
1.      BIOS文件的名字不能改。刚才我们输出的是E53.A30,拷贝到U盘后,必须改回原来的E7733IMS.A30
2.      U盘必须为FAT32格式。其他的好像不支持。
3.      必须插到USB 2.0端口。USB3.0好像不能用。

进入Utilities,选择M-FLASH,将BIOS BOOTFUNCITON设置为ENABLED。然后选择U盘里的E7733IMS.A30。最后F10保存,重启便可从U盘上的BIOS文件启动。
如果启动成功,经过一系列测试可以使用,那么再考虑从M-FLASH刷入。
如果刷写过程失败,可以考虑BIOS制作的问题,确认无误,可以用HPU盘工具制作一个DOS启动盘,进入DOS,输入AFUDE238 E7733IMS.A30便可刷写。
切记一定要先验证无误,再刷入主板。如果验证这个过程,不能启动,那这个BIOS一定不能用的,否则变了砖头送修浪费时间与精力。


第三部分,情非得已,修改BIOS
这个步骤,只推荐有动手能力的玩家尝试。或者是失败了,你有办法刷写回来。否则不要尝试,以免烦恼。
我们先把要修改的BIOS打开。



我们看到powermangement对应的GUID8C783970-F02A-4A4D-AF09-8797A51EEC8D。原理上是可以用AMI这个MMTOOLAPTIO工具直接解压出来的,但是现在的BIOS已经被搞的比秋香中了面目全非掌还可怕,原厂的工具基本上已经无能为力了。还是求助别的吧。



这就是phoenixtool,现在是214版本,也是一个高手的作品。用法简单,导入你的BIOS文件即可。厂商哪里选择对应的,因为是MSIBIOS,选择MSISLIC这里我加如了2.2版,可以激活WINDOWS8 SERVER版和WIN7RW FILE我加了个文件,作为软件工作的参照,不加也可以,加了做的更规范点。如果你不打算加入SLIC,那么这两步可以不做,后面的勾选NO SLIC即可。

状态软件自己选择,不要去勾选。SLP FILE,这里建议不要加。加上就可以激活XP,这个东西加上,有时候会使得软件加入SLIC失败。都完到UEFI了,XP也太老迈了。如果实在想搞,可以用AMI的工具直接写到BIOS里即可,几个字节而已。

然后将软件设置一下。

















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
2#
ivis  楼主| 发表于 2013-5-22 01:11 | 只看该作者
本帖最后由 ivis 于 2013-5-22 01:16 编辑

点击ADVANCED然后勾选Allowuser to modify other modules,如果你不打算修改SLIC,就选择NO SLIC。如果还要一并将修改的好的DSDT加入的话,可以勾Allow user to modify dsdt

再谈下RW
工具。  我靠,又Tmd说我文件太大。。。。。。。


修改前,先用这个Rw工具打开,点击ACESS,选择ACPITLBLES。读出很多张表,然后点击CTRL+F2 SAVE ALL即可。
当然这个工具也可以查看主板BIOS的信息,比如我这个BIOS已经加了SLIC2.2。便可以点击SLIC,就会看到相应的SLIC信息。
将软件设置好以后,点击开始,软件便开始工作。当出来这个提示



然后去DUMP文件夹中,找8C783970-F02A-4A4D-AF09-8797A51EEC8D,类似的一共2个,选择大的那个。大概是25K左右。这里为了说明,我提取了一下。实际修改的时候,可以略过。进入CMD然后
objdump -m i386 -b binary -D8C783970-F02A-4A4D-AF09-8797A51EEC8D_1_353.ROM > pm.asm
提取出PM.ASM。打开。


我们搜索这一行,0f bae8 0f,会找到几个相关的。然后看前面几行是不是有mov     $0xe2,%ecx
这里确定我们需要修改的地方在32cajne 75 08
































本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
ivis  楼主| 发表于 2013-5-22 01:12 | 只看该作者
本帖最后由 ivis 于 2014-7-30 20:34 编辑

细说起来,这就涉及到一个MSR的问题。上面是E31230 V2MSR图。
MSR Model Specific Registers )特殊模块寄存器。MSRCPU 的一组64 位寄存器,可以分别通过RDMSRWRMSR 两条指令进行读和写的操作,前提要在ECX 中写入MSR 的地址。对于RDMSR 指令,将会返回相应的MSR 64bit 信息到(EDXEAX)寄存器中;对于WRMSR 指令,把要写入的信息存入(EDXEAX)中,执行写指令后,即可将相应的信息存入ECX 指定的MSR 中。MSR 的指令必须执行在level 0 或实模式下。注意不同的处理器族有自己不同的MSRINTELAMDCPU是不同的,需要去查对应的PDF
MSR 总体来是为了设置CPU 的工作环境和标示CPU 的工作状态,包括温度控制,性能监控等,一般来说,包括ThermalFrequencyC StateMicrocodeEISTTM Key Features Of CPU VoltageCache ControlMTRRDCA(Direct Cache Access)Machine Check、硬件联机控制等方面。
如果MSR 0xE2 bit 15是锁定的,那么MAC OSAppleIntelCPUPowermanagement.kext就无法很好的控制c-state
C-stateACPI spec定义的CPU工作在G0时的power states,这些状态包括C0,C1,C2,C3Cn.其中C0被称为Active状态,也只有C0的时候CPU才会执行指令;其余的状态则被称为sleeping,这时CPU是不执行指令的,也因而会节省更多的功耗。系统在运行时会根据loading状况在各个C-state之间切换降低功耗,
BIOS可以通过CPUID function 5 check CPU是否支持C-state,以及支持哪些C-stateC1 C1E C3 C6C7),支持的最大的C-state也可以通过MSR去设定,默认情况下增强型C-state以及IO MWAIT Redirection是不支持的,BIOS要根据系统的需求决定是否开启支持该功能的register,对于多核的系统就需要对每颗核都要单独去配置它的C-state的支持。前面的E3 1230 V2,我们可以看到8个核心的MSR配置情况。
解除锁定很简单,只要将跳转指令jne 75 0875改为eb即可。
将原来的
75 08 0F BA E8 0F 89 44 24 30
改为
EB 08 0F BA E8 0F 89 44 24 30
修改完毕后,保存,然后替换到刚才的DUMP里,点击前面那个弹出窗口的确定。然后工具就自从完成BIOS的修改了。
关于MSR这块,也可以不必去深究。INTEL给出的资料基本等于零。很多说法也语焉不详。只要打开8C783970-F02A-4A4D-AF09-8797A51EEC8D_1_353.ROM。搜索



75 08 0F BA E8 0F 89 44 24 30



原图说太大,只能这个德性了,将就看吧。



我们直接找到了这一行。看左边的32c0,从上面看,横着找到第11位置a,正是32ca的75,改成EB保存,去替换即可。
Phoenixtool修改完成的BIOS,会加个SLIC,以区别原来的,我们将这个BIOS拷贝到U盘,然后改回原来的名字,设置成从U盘的BIOS启动,进行验证即可。
此外还可以修改开机LOGO,由于不是必要的修改,而且修改的地方比较多,每个人的口味不同。后期我会选择两个图片,做几个BIOS供大家下载。
原版的Z77IA-E53的开机LOGO 是这样



还有原版的Z77 MPOWER的开机LOGO



题外话:对于ASUS而言,这种修改是正确的,但是你未必能刷进去。
记得ASUS的板子,高级点的有个那个FLASH BACK功能,等于你刷死后,通过文件恢复,此时貌似不校验。
我给普通的ASUS板子上移植过这个模块,可是硬件上无法配合,记得当时是需要按一个按钮,才可以进行刷新,这个太久远了记不太清了。
ASUS的BIOS是有保护区域的,也就是说,如果你修改的部分涉及到了它的保护区域,你进入EZ-FLASH想刷新,是不可以的。在DOS下直接刷,也不能成功 AMI APTIO工具直接报错。
玩编程器的,不在我这个讨论范围之内。
你修改SLIC,这个没有问题,可以刷入,可修改电源管理模块,恰恰是在BIOS的保护范围内,修改成功,也是不能刷新的。
这时候很多人想到了破解。
要破解你除非得到华硕的RSA PRIVATE KEY,否则也只能是硬破解。比如算一对RSA KEY,然后修改.CAP文件。接着用FLASH BACK刷进BIOS。日后就可以用算出的这一对RSA KEY,随意修改BIOS并且能够用EZ-FLASH刷了。这是一个思路。
其实ASUS官方貌似有个命令,是可以刷入测试版本的BIOS文件的。各种原因不便细说,有想折腾的,可以去ASUS打听打听。




































本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
wsy2220 发表于 2013-5-22 02:43 | 只看该作者
要强刷可以用这个方法,相当于编程器:
http://bbs.pceva.com.cn/thread-67714-1-1.html
5#
ivis  楼主| 发表于 2013-5-22 02:47 | 只看该作者
wsy2220 发表于 2013-5-22 02:43
要强刷可以用这个方法,相当于编程器:
http://bbs.pceva.com.cn/thread-67714-1-1.html ...

知道你发过教程,所以就没狗尾续貂。
万岁爷编程器独领风骚几十年,不是白给的。
这么晚了还不睡。你想搞什么?
@AMY
6#
xiahait 发表于 2013-5-26 08:58 | 只看该作者
ivis 发表于 2013-5-22 02:47
知道你发过教程,所以就没狗尾续貂。
万岁爷编程器独领风骚几十年,不是白给的。
这么晚了还不 ...

没@成功,我帮你@amywi
7#
solonace 发表于 2013-5-27 00:19 | 只看该作者
lz哪位?被石头重重推介
8#
ivis  楼主| 发表于 2013-5-27 08:30 | 只看该作者
solonace 发表于 2013-5-27 00:19
lz哪位?被石头重重推介

浴室老师的一个粉丝。

9#
qz3323451 发表于 2013-6-25 10:49 | 只看该作者
我想问一下用第二种方法(CMD)和第三种方法(大量手动修改)最终效果一样么?
还有一个问题就是如果同样是7系主板(例如同为B75)如果修改了MSI的BIOS也达到了原生电源管理,那么和技嘉还有多大的区别?

希望得到你的指点,谢谢。
10#
ivis  楼主| 发表于 2013-6-25 15:18 | 只看该作者
qz3323451 发表于 2013-6-25 10:49
我想问一下用第二种方法(CMD)和第三种方法(大量手动修改)最终效果一样么?
还有一个问题就是如果同样是 ...

修改的东西都是一样的,手动修改是肯定可以用。
那个工具对应不同的主板不同的bios不知道效果如何。好处就是简单。
但是工具究竟如何修改,是不是有其他不安全的因素不得而知,所以需要更加小心的验证。

修改了电源管理这点,就完全没有区别。
gigabyte也好,msi也好,asus也好,关键是还看其他的芯片支持的 好不好。
不过对于diy来说,都问题都不大,一般的网卡声卡都能支持。
现在10.9系统对ati 7系支持的各种完美,n卡就更不用说了。
配合clover,无论是安装,升级,还是各种使用,你都不会感觉和白苹果有多大差异了
这个回复就是在10.9系统下回复的。

所以说搞定了电源这块,你就可以安装可以折腾,这是个前提
如果电源有问题,各种毛病。


11#
wakin20 发表于 2013-6-25 19:59 | 只看该作者
好帖,有空学习折腾!
12#
qz3323451 发表于 2013-6-29 11:26 | 只看该作者
ivis 发表于 2013-6-25 15:18
修改的东西都是一样的,手动修改是肯定可以用。
那个工具对应不同的主板不同的bios不知道效果如何。好处 ...

我在MSI北美论坛求了HD7850 HAWK 2G的UEFI BIOS,刷了以后装MAC
用的是iAtkos M3LU,结果安装完以后显存只有7M。。。其他完美(目前用技嘉板子,手头上还有一个微星板子,以后学改bios再用)
引导是幸运草,请问你有什么好办法么?另外我刷了管理员给的bios,但是想确认一下到底刷没刷到UEFI BIOS,如何确认?在GPU Z里看BIOS版本 版本号好像变了。。(没刻意记。。
13#
qz3323451 发表于 2013-6-29 11:30 | 只看该作者
ivis 发表于 2013-6-25 15:18
修改的东西都是一样的,手动修改是肯定可以用。
那个工具对应不同的主板不同的bios不知道效果如何。好处 ...

另外请问可否提供手动修改BIOS的软件?
我手头上的MSI主板是B75M-P45所以应该使用相同的软件即可修改,或是如果方便的话您可否帮我制作一份附有SLIC和改过电源管理的bios?
我的CPU也是E3 1230 V2
14#
ivis  楼主| 发表于 2013-6-29 13:14 | 只看该作者
qz3323451 发表于 2013-6-29 11:30
另外请问可否提供手动修改BIOS的软件?
我手头上的MSI主板是B75M-P45所以应该使用相同的软件即可修改,或 ...

没问题,你把附件发上来。
这两天我找个时间做
15#
qz3323451 发表于 2013-6-29 18:03 | 只看该作者
ivis 发表于 2013-6-29 13:14
没问题,你把附件发上来。
这两天我找个时间做

这是官方地址。。http://cn.msi.com/service/download/bios-20519.html
16#
qz3323451 发表于 2013-6-29 18:17 | 只看该作者
download3.msi.com/files/downloads/bos_exe/7798v16.zip  官方下载地址~
17#
qz3323451 发表于 2013-6-29 18:18 | 只看该作者
如果能改的话帮我改一下电源管理和SLIC~
18#
qz3323451 发表于 2013-6-29 19:45 | 只看该作者
之前链接是官网上的BIOS下载链接,我没加HTTP

另外我想问一下加入SLIC2.2后能激活WINDOWS8 SERVER以外的Windows8么?
非常感谢你的帮助~
19#
ivis  楼主| 发表于 2013-7-2 14:41 | 只看该作者
qz3323451 发表于 2013-6-29 19:45
之前链接是官网上的BIOS下载链接,我没加HTTP

另外我想问一下加入SLIC2.2后能激活WINDOWS8 SERVER以外的Wi ...

WIN8不行,激活机制变了。
但是有人把那个SERVER改的和WIN8差不多了

BIOS收到了,我这两抽时间给你改/。
20#
qz3323451 发表于 2013-7-3 01:08 | 只看该作者
ivis 发表于 2013-7-2 14:41
WIN8不行,激活机制变了。
但是有人把那个SERVER改的和WIN8差不多了

OK~   win8找到激活的方案啦 能激活win7(GPT)就好~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部