- 注册
- 2004-08-16
- 帖子
- 7,441
- 反馈评分
- 65
- 点数
- 71
本文只在Award BIOS下通过,具体信息是Phoenix - Award WorkstationBIOS v6.00PG,就是通常说的AWDBIOS6.0。至于本文适合的主板型号,只要是用AWDBIOS6.0并且ACPI表字段在7-8段的都适用!查看BIOS信息可以在EVEREST的“主板―― BIOS”里。
本例子中使用的文件和软件:
NF4LD329.BIN:是DFI LANPARTY UT nF4 Ultra-D的BIOS。
acpislic.bin:是ASUS的SLIC表数据文件,其中包含SLP证书公钥。
MODBIN6.2.01.01:用于分离BIOS组件,或者说分离BIOS的功能块。
cbrom219:提取ACPI数据用。
WINHEX 13.0 SR-12:手工修改相关数据。
把前四个文件放到一个文件夹里,WINHEX随便什么目录。找个绿色注册版的WINHEX最方便,软件太大了传不上来,需要的可以到http://greendown.cn/下载。
1、直接点击MODBIN6.2.01.01.EXE,该程序可直接运行于WIN环境。用MODBIN6打开原始BIOS文件NF4LD329.BIN,产生临时文件ORIGINAL.BIN,不要关闭MODBIN6。
注意事项:MODBIN版本比较多,尽量使用附件中的版本,其他版本可能出现问题,这个问题在我当年用MODBIN修改XP的OEM BIOS时就出现过,可能你修改后BIOS就是坏的,或者明明修改保存了实际却没有改成功等等等等……还有MODBIN对中文支持不好,BIOS的文件名尽量不要使用中文,危害还不清楚,但减少一点危险总是好的。另外,原作者提示在WIN2000下运行MODBIN有问题,请看官自己小心。
2、用WinHex打开ORIGINAL.BIN查找RSDT,可以看到类似“RSDT FACP DSDT APIC SSDT SRAT MCFG FACS”的字段,这里的例子为方便辨认以四字节一段显示,实际所有字符是连着的,注意该字段有短有长,不同主板BIOS不同长度。修改其中的SRAT或者MCFG为SLIC并保存。
注意事项:先用EVEREST查看主板的ACPI表,尽量挑选EVEREST里没有列出的项目,例如本例子中DFI NF4UD的0329版BIOS,EVEREST里可以看到APIC、DSDT、FACP、FACS、MCFG、SSDT、RSDT,没有SRAT,那么就把SRAT修改为SLIC,这是目前最安全的字段。如果你的这个字段比较短,那么修改MCFG是被破解方法原作者BINBIN推荐的,连MCFG都没有的话,就只能修改APIC,目前修改APIC已基本确定的问题是:修改该值会造成原系统无法使用,必须重新安装系统,所以要修改该值请先备份系统重要文件,还有一些人修改该值后有各种希奇古怪的问题出现,因此建议目前只能改APIC的同志还是再等等看有什么更好的解决方法吧,双BIOS或BIOS操作基础很高的人例外,你可以尝试一下:)因为也有极少数人修改了APIC后没有出现任何问题。
3、切换回MODBIN6保存BIOS,不会操作的人可以按F2保存或者按ALT+F调出MODBIN6的FILE菜单,按方向键选择保存或者另存,回车执行。
4、用cbrom分离前三步修改保存后的NF4LD329.BIN的,具体命令为:cbrom219 NF4LD329.BIN /acpitbl extract,路径就按你自己的实际路径来输入。打入该命令后cbrom会给出一段提示“Enter an extract file Name:<acpitbl.bin>”,是让你输入分离出来的BIN文件的名字,直接按回车使用默认acpitbl.bin的文件名,因为这个名字修改了也没什么意思。这样我们就把NF4LD329.BIN里面的ACPI数据区分离出来了。
注意事项:CBROM是不能直接点击运行的,需要打开命令提示符(开始―运行―CMD),定位到BIOS所在的文件夹,然后再输入cbrom219 NF4LD329.BIN /acpitbl extract回车执行。看仔细命令,一点也别差。
5、用WinHex打开分离出来的acpitbl.bin,右边第一行就是要修改的RSDT表OEMID和OEMTableID字段,修改为引号中的内容“_ASUS_Notebook”并保存。
注意事项:原作者说“OEMID固定为6字节,OEMTableID固定为8字节。不足的字符需要用空格(0x20)补齐”,这里不太详细。我修改的地方原始信息是“NVIDIAAWRDACPI”,正好对应了“_ASUS_”6个字节和“Notebook”8个字节,所以我不清楚“不足”具体是什么情况,空格是在“_ASUS_Notebook”的前面、中间、后面还是其他哪个位置补上?更不清楚任意添加空格是否会造成BIOS修改失败。
6、打开命令提示符(开始―运行―CMD),定位到BIOS所在的文件夹,使用DOS本身的COPY命令把acpislic.bin(ASUS的SLIC表数据文件)添加到上一步里已经修改过的acpitbl.bin的尾部,具体命令是:copy acpitbl.bin /b + acpislic.bin /b acpitbl.bin /b。
注意事项:同样看清楚命令的空格,不能错。这步命令执行后没什么提示,要分辨是否成功添加acpislic.bin,可以在回车执行命令前先看一下acpitbl.bin的修改时间,执行本步后,acpitbl.bin的修改时间会变为当前时间。原作者说“如提示覆盖,请确认”,我没碰到过。
7、这步是要把刚添加了acpislic.bin(ASUS的SLIC表数据文件)的acpitbl.bin文件重新封装到前三步修改好的NF4LD329.BIN里面,具体命令是:cbrom219 NF4LD329.BIN /acpitbl acpitbl.bin,这是最后一步,执行完成后BIOS就改好了。
看起来非常复杂是吗?其实本文是给很菜很菜但是又想自己动手改BIOS的“大胆人士”参考的,高手们可以无视飘过……简单点说就是修改原始BIOS里的ACPI表名索引,让原来没有SLIC表的BIOS变成有叫“SLIC”的这个表(所以“支持VISTA的BIOS”就不用这步,因为BIOS已经有SLIC表了),只有表名当然不行,还要添加相应的SLIC内容啊,所以用cbrom分离出BIOS中的ACPI数据区,也就是acpitbl.bin,把数据区里的RSDT表OEMID和OEMTableID字段修改成OEM厂商的SLP标志,然后在这个数据区的尾部添加OEM厂商的SLP证书公钥,添加完后再把ACPI数据区并回到BIOS里就算是完成了。这么看起来不算太复杂吧?刷这个BIOS,再用OEMKEY安装MSDN的VISTA然后以管理员模式启动命令行输入:slmgr.vbs -ilc x:\oemcert.xrm-ms就可以激活OEM的VISTA了
一些纯个人建议:
胆大心细,严格按照本文步骤和注意事项执行,不要缺步,不要打错命令,不要弄错顺序,别怕字多,先仔细看看本文。
如果你只能修改APIC段,请三思而后行,至少做好所有最坏的打算和准备。
刷新主板BIOS的时候最好不要带参数,也就是是类似"awdflash.exe xxx.bin"的基本形式,一般来说这样会保证不刷新BIOS芯片内部的基本启动模块,然后做个DOS启动软盘,放入原厂的正常BIOS和刷新程序,编辑好的AUTOEXEC.BAT,内部的命令就是刷BIOS的,但是带强制类参数,比如刷掉所有的保留区块、不校验BIOS文件等等,具体参数请参阅你自己的BIOS刷新程序帮助。
在刷修改的OEM BIOS前,在BIOS里先把第一启动盘设为软盘。这样当刷BIOS的时候如果出现意外情况,由于基本启动模块没有刷新,软盘还可以启动。只有U盘的朋友也可以一试,前提条件是你的U盘可以FDD方式启动DOS,但我并不清楚BIOS的基本启动模块是否支持U盘模拟的软驱,支持的可能性很小很小。
BIOS芯片直接焊在主板上的人,还是别折腾这些了,万一弄坏了太麻烦,要整个板子返修,至少也要找到有热风枪、焊接技术强的电脑维修点去修,太麻烦。实在想试一下的,建议在有SRAT表的情况下才动手,改动这个表出问题的几率非常低。
以下内容未经认证:
SRAT:Static Resource Affinity Table,静态资源关联表,从MS的说明上看该表提供了所有处理器和内存的拓扑结构,用于内存的热插拔,所以可以安全的修改,但是据说DFI NF4系列主板在修改了SRAT后不要动BIOS里的ACPI SRAT项目,动了就可能造成CMOS设置无法保存。richo 反映说改动后BIOS偶然自动失忆,偶然系统关闭/重启/恢复时死机花屏幕。我自己的是nF4 Ultra-D主板,改的也是SRAT段,但是目前还没有任何不良症状出现。
多核的不建议改APIC,这个APIC是会影响多处理器中断的。也就是说,你的BIOS要是没有SRAT也没有MCFG,用的又是双核CPU,那还是别改算了,比较保险一些。
目前在网上只发现ASUS的三样齐全:各版本KEY、acpislic.bin、oemcert。联想的OEM缺acpislic.bin,除HP版KEY外无其他KEY。其他个别品牌只有HPKEY,连oemcert都没有。
最新消息,wbpluto提供的方法,搜到较短表的朋友不用冒险改APIC段,只要看该表前面是否有空余位置(),然后把整个表提前四位(还是用WINHEX修改16进制地址位),在后面空出来的4位里添加SLIC表头,目前成功的是wbpluto,失败的已经超过4位同志,近一步观望中,如果该方法可行,那就无所谓ACPI表的字段长短了,只要前后有空位就可以改。另:aeno建议可以试着把SLIC添加到最前段的空位,整个表别移动那4个字节。就是说SLIC加在RSDT前面。另一个说法是:AWARD的必须是RSDT打头,这是代码决定的,所以大家还是测试加在后端吧。
APIC关闭直接的影响是减少了可用的IRQ。如果板卡不是非常多的话,关闭 APIC对系统是没有什么影响的。因此,大家把apic表用slic取代,直接的表现就是超线程cpu和多核cpu无法正常工作,只能用一个cpu。如果主板上集成网卡、声卡,那么有可能他们的irq就缺失,这也是很多主板刷了以后声卡、网卡不能正常工作的原因。解决的办法也很简单,查看主板剩余的irq,将空闲的irq赋予声卡、网卡一般就能够解决问题。在整合主板的bios中,有声卡和网卡的irq定义的选项,简单设置一下就行了。
AMI非原生SLP 2.0 BIOS添加SLP 2.0是难点,AEMO正测试中,近期可能推出方法!
修改技嘉965pds3主板方法:
cbrom219 (BIOS文件名字) /other 403b:0000 extract (导出ggroup.bin 在此文件中可以找到"RSDTFACPDSDTAPICHPETMCFGFACS"字段!)
winhex修改保存之后,用以下两条指令将该文件重新加入bios
cbrom219 (BIOS文件名字) /other 403b:0000 release
cbrom219 (BIOS文件名字) /other 403b:0000 ggroup.bin
再用以下指令分离出acpitbl.bin
cbrom219 (BIOS文件名字) /acpitbl extract
用winhex修改保存后,用以下指令追加SLIC表数据到ACPI数据区尾部。
copy acpitbl.bin /b + acpislic.bin /b acpitbl.bin /b
最后用以下两条指令导入BIOS。(期间可能会形成一个ROM文件,不用管它)
cbrom219 (BIOS文件名字) /acpitbl release
cbrom219 (BIOS文件名字) /acpitbl acpitbl
修改HPET字段,HPET是intel制定的新的用以代替传统的8254(PIT)中断定时器与RTC的定时器,全称叫作高精度事件定时器。目前影响未知。
本例子中使用的文件和软件:
NF4LD329.BIN:是DFI LANPARTY UT nF4 Ultra-D的BIOS。
acpislic.bin:是ASUS的SLIC表数据文件,其中包含SLP证书公钥。
MODBIN6.2.01.01:用于分离BIOS组件,或者说分离BIOS的功能块。
cbrom219:提取ACPI数据用。
WINHEX 13.0 SR-12:手工修改相关数据。
把前四个文件放到一个文件夹里,WINHEX随便什么目录。找个绿色注册版的WINHEX最方便,软件太大了传不上来,需要的可以到http://greendown.cn/下载。
1、直接点击MODBIN6.2.01.01.EXE,该程序可直接运行于WIN环境。用MODBIN6打开原始BIOS文件NF4LD329.BIN,产生临时文件ORIGINAL.BIN,不要关闭MODBIN6。
注意事项:MODBIN版本比较多,尽量使用附件中的版本,其他版本可能出现问题,这个问题在我当年用MODBIN修改XP的OEM BIOS时就出现过,可能你修改后BIOS就是坏的,或者明明修改保存了实际却没有改成功等等等等……还有MODBIN对中文支持不好,BIOS的文件名尽量不要使用中文,危害还不清楚,但减少一点危险总是好的。另外,原作者提示在WIN2000下运行MODBIN有问题,请看官自己小心。
2、用WinHex打开ORIGINAL.BIN查找RSDT,可以看到类似“RSDT FACP DSDT APIC SSDT SRAT MCFG FACS”的字段,这里的例子为方便辨认以四字节一段显示,实际所有字符是连着的,注意该字段有短有长,不同主板BIOS不同长度。修改其中的SRAT或者MCFG为SLIC并保存。
注意事项:先用EVEREST查看主板的ACPI表,尽量挑选EVEREST里没有列出的项目,例如本例子中DFI NF4UD的0329版BIOS,EVEREST里可以看到APIC、DSDT、FACP、FACS、MCFG、SSDT、RSDT,没有SRAT,那么就把SRAT修改为SLIC,这是目前最安全的字段。如果你的这个字段比较短,那么修改MCFG是被破解方法原作者BINBIN推荐的,连MCFG都没有的话,就只能修改APIC,目前修改APIC已基本确定的问题是:修改该值会造成原系统无法使用,必须重新安装系统,所以要修改该值请先备份系统重要文件,还有一些人修改该值后有各种希奇古怪的问题出现,因此建议目前只能改APIC的同志还是再等等看有什么更好的解决方法吧,双BIOS或BIOS操作基础很高的人例外,你可以尝试一下:)因为也有极少数人修改了APIC后没有出现任何问题。
3、切换回MODBIN6保存BIOS,不会操作的人可以按F2保存或者按ALT+F调出MODBIN6的FILE菜单,按方向键选择保存或者另存,回车执行。
4、用cbrom分离前三步修改保存后的NF4LD329.BIN的,具体命令为:cbrom219 NF4LD329.BIN /acpitbl extract,路径就按你自己的实际路径来输入。打入该命令后cbrom会给出一段提示“Enter an extract file Name:<acpitbl.bin>”,是让你输入分离出来的BIN文件的名字,直接按回车使用默认acpitbl.bin的文件名,因为这个名字修改了也没什么意思。这样我们就把NF4LD329.BIN里面的ACPI数据区分离出来了。
注意事项:CBROM是不能直接点击运行的,需要打开命令提示符(开始―运行―CMD),定位到BIOS所在的文件夹,然后再输入cbrom219 NF4LD329.BIN /acpitbl extract回车执行。看仔细命令,一点也别差。
5、用WinHex打开分离出来的acpitbl.bin,右边第一行就是要修改的RSDT表OEMID和OEMTableID字段,修改为引号中的内容“_ASUS_Notebook”并保存。
注意事项:原作者说“OEMID固定为6字节,OEMTableID固定为8字节。不足的字符需要用空格(0x20)补齐”,这里不太详细。我修改的地方原始信息是“NVIDIAAWRDACPI”,正好对应了“_ASUS_”6个字节和“Notebook”8个字节,所以我不清楚“不足”具体是什么情况,空格是在“_ASUS_Notebook”的前面、中间、后面还是其他哪个位置补上?更不清楚任意添加空格是否会造成BIOS修改失败。
6、打开命令提示符(开始―运行―CMD),定位到BIOS所在的文件夹,使用DOS本身的COPY命令把acpislic.bin(ASUS的SLIC表数据文件)添加到上一步里已经修改过的acpitbl.bin的尾部,具体命令是:copy acpitbl.bin /b + acpislic.bin /b acpitbl.bin /b。
注意事项:同样看清楚命令的空格,不能错。这步命令执行后没什么提示,要分辨是否成功添加acpislic.bin,可以在回车执行命令前先看一下acpitbl.bin的修改时间,执行本步后,acpitbl.bin的修改时间会变为当前时间。原作者说“如提示覆盖,请确认”,我没碰到过。
7、这步是要把刚添加了acpislic.bin(ASUS的SLIC表数据文件)的acpitbl.bin文件重新封装到前三步修改好的NF4LD329.BIN里面,具体命令是:cbrom219 NF4LD329.BIN /acpitbl acpitbl.bin,这是最后一步,执行完成后BIOS就改好了。
看起来非常复杂是吗?其实本文是给很菜很菜但是又想自己动手改BIOS的“大胆人士”参考的,高手们可以无视飘过……简单点说就是修改原始BIOS里的ACPI表名索引,让原来没有SLIC表的BIOS变成有叫“SLIC”的这个表(所以“支持VISTA的BIOS”就不用这步,因为BIOS已经有SLIC表了),只有表名当然不行,还要添加相应的SLIC内容啊,所以用cbrom分离出BIOS中的ACPI数据区,也就是acpitbl.bin,把数据区里的RSDT表OEMID和OEMTableID字段修改成OEM厂商的SLP标志,然后在这个数据区的尾部添加OEM厂商的SLP证书公钥,添加完后再把ACPI数据区并回到BIOS里就算是完成了。这么看起来不算太复杂吧?刷这个BIOS,再用OEMKEY安装MSDN的VISTA然后以管理员模式启动命令行输入:slmgr.vbs -ilc x:\oemcert.xrm-ms就可以激活OEM的VISTA了
一些纯个人建议:
胆大心细,严格按照本文步骤和注意事项执行,不要缺步,不要打错命令,不要弄错顺序,别怕字多,先仔细看看本文。
如果你只能修改APIC段,请三思而后行,至少做好所有最坏的打算和准备。
刷新主板BIOS的时候最好不要带参数,也就是是类似"awdflash.exe xxx.bin"的基本形式,一般来说这样会保证不刷新BIOS芯片内部的基本启动模块,然后做个DOS启动软盘,放入原厂的正常BIOS和刷新程序,编辑好的AUTOEXEC.BAT,内部的命令就是刷BIOS的,但是带强制类参数,比如刷掉所有的保留区块、不校验BIOS文件等等,具体参数请参阅你自己的BIOS刷新程序帮助。
在刷修改的OEM BIOS前,在BIOS里先把第一启动盘设为软盘。这样当刷BIOS的时候如果出现意外情况,由于基本启动模块没有刷新,软盘还可以启动。只有U盘的朋友也可以一试,前提条件是你的U盘可以FDD方式启动DOS,但我并不清楚BIOS的基本启动模块是否支持U盘模拟的软驱,支持的可能性很小很小。
BIOS芯片直接焊在主板上的人,还是别折腾这些了,万一弄坏了太麻烦,要整个板子返修,至少也要找到有热风枪、焊接技术强的电脑维修点去修,太麻烦。实在想试一下的,建议在有SRAT表的情况下才动手,改动这个表出问题的几率非常低。
以下内容未经认证:
SRAT:Static Resource Affinity Table,静态资源关联表,从MS的说明上看该表提供了所有处理器和内存的拓扑结构,用于内存的热插拔,所以可以安全的修改,但是据说DFI NF4系列主板在修改了SRAT后不要动BIOS里的ACPI SRAT项目,动了就可能造成CMOS设置无法保存。richo 反映说改动后BIOS偶然自动失忆,偶然系统关闭/重启/恢复时死机花屏幕。我自己的是nF4 Ultra-D主板,改的也是SRAT段,但是目前还没有任何不良症状出现。
多核的不建议改APIC,这个APIC是会影响多处理器中断的。也就是说,你的BIOS要是没有SRAT也没有MCFG,用的又是双核CPU,那还是别改算了,比较保险一些。
目前在网上只发现ASUS的三样齐全:各版本KEY、acpislic.bin、oemcert。联想的OEM缺acpislic.bin,除HP版KEY外无其他KEY。其他个别品牌只有HPKEY,连oemcert都没有。
最新消息,wbpluto提供的方法,搜到较短表的朋友不用冒险改APIC段,只要看该表前面是否有空余位置(),然后把整个表提前四位(还是用WINHEX修改16进制地址位),在后面空出来的4位里添加SLIC表头,目前成功的是wbpluto,失败的已经超过4位同志,近一步观望中,如果该方法可行,那就无所谓ACPI表的字段长短了,只要前后有空位就可以改。另:aeno建议可以试着把SLIC添加到最前段的空位,整个表别移动那4个字节。就是说SLIC加在RSDT前面。另一个说法是:AWARD的必须是RSDT打头,这是代码决定的,所以大家还是测试加在后端吧。
APIC关闭直接的影响是减少了可用的IRQ。如果板卡不是非常多的话,关闭 APIC对系统是没有什么影响的。因此,大家把apic表用slic取代,直接的表现就是超线程cpu和多核cpu无法正常工作,只能用一个cpu。如果主板上集成网卡、声卡,那么有可能他们的irq就缺失,这也是很多主板刷了以后声卡、网卡不能正常工作的原因。解决的办法也很简单,查看主板剩余的irq,将空闲的irq赋予声卡、网卡一般就能够解决问题。在整合主板的bios中,有声卡和网卡的irq定义的选项,简单设置一下就行了。
AMI非原生SLP 2.0 BIOS添加SLP 2.0是难点,AEMO正测试中,近期可能推出方法!
修改技嘉965pds3主板方法:
cbrom219 (BIOS文件名字) /other 403b:0000 extract (导出ggroup.bin 在此文件中可以找到"RSDTFACPDSDTAPICHPETMCFGFACS"字段!)
winhex修改保存之后,用以下两条指令将该文件重新加入bios
cbrom219 (BIOS文件名字) /other 403b:0000 release
cbrom219 (BIOS文件名字) /other 403b:0000 ggroup.bin
再用以下指令分离出acpitbl.bin
cbrom219 (BIOS文件名字) /acpitbl extract
用winhex修改保存后,用以下指令追加SLIC表数据到ACPI数据区尾部。
copy acpitbl.bin /b + acpislic.bin /b acpitbl.bin /b
最后用以下两条指令导入BIOS。(期间可能会形成一个ROM文件,不用管它)
cbrom219 (BIOS文件名字) /acpitbl release
cbrom219 (BIOS文件名字) /acpitbl acpitbl
修改HPET字段,HPET是intel制定的新的用以代替传统的8254(PIT)中断定时器与RTC的定时器,全称叫作高精度事件定时器。目前影响未知。