小改BIOS轻松破解SLI(AMI篇)
硬用360度
笔者在今年第40期D15版的《给P45插上SLI的翅膀》一文中为大家介绍了用软件修改系统DSDT表内容实现对P45主板SLI功能破解的方法,但操作过程相对比较复杂,而且针对不同的主板操作不同,在不同操作系统下破解成功率也不同。本期笔者就和大家一起来看看如何修改BIOS,一劳永逸地破解SLI。
提取SLI验证代码
通过修改BIOS配合破解版驱动程序实现SLI的方法与软件破解法的基本原理是一致的,最大的不同在于把代码直接加入到BIOS的DSDT表中,不用替换hal.dll文件就能顺利打开SLI功能。
SLI验证代码在BIOS中具有一定的格式,如何完整地将整段代码提取出来呢?首先从华硕网站下载Rampage II Extreme主板的BIOS文件,该主板使用的是AMI BIOS,其DSDT表位于BIOS的ACPI.AML模块中。用MMTOOL软件打开BIOS文件,选中ID为10的ACPI.AML模块,点击上方的“提取”选项卡,并且在模块文件中输入后缀为.aml的任意文件名,例如X58.aml,以“非压缩形态”提取出该模块(图1)。正确完成提取之后,在BIOS文件所在文件夹中会生成一个名为X58.aml的文件。

在C盘下创建名为ACPI的文件夹,把X58.aml和iasl.exe、asl.exe都拷贝到该文件夹中。点击“开始→运行”输入“cmd”进入命令提示符模式,在“C:\ACPI”目录下运行“iasl –d X58.aml”命令,对X58.aml进行反编译,可以得到一个名为X58.dsl的文件。用记事本打开X58.dsl文件,在文件内容大约前三分之一的地方能够找到一段如下的代码:
Scope (^^PCI0)
{
Name (SLIC, Buffer (0x9E)
{
"987134512781Genuine NVIDIA Certified SLI Ready Motherboard for ASUS RAMPAGE II EXT 3287-Copyright 2008 NVIDIA Corporation All Rights Reserved-765289891023(R)"
})
Device (WMI1)
{
Name (_HID, "pnp0c14")
Name (_UID, "MXM2")
Name (_WDG, Buffer (0x14)
{
/* 0000 */ 0x3C, 0x5C, 0xCB, 0xF6, 0xAE, 0x9C, 0xBD, 0x4E,
/* 0008 */ 0xB5, 0x77, 0x93, 0x1E, 0xA3, 0x2A, 0x2C, 0xC0,
/* 0010 */ 0x4D, 0x58, 0x01, 0x02
})
Method (WMMX, 3, NotSerialized)
{
CreateDWordField (Arg2, Zero, FUNC)
If (LEqual (FUNC, 0x41494C53))
{
Return (SLIC)
}
Return (Zero)
}
}
}
}
把这段代码复制到新的记事本文件中,并且把最前面的“Scope (^^PCI0)”修改为“Scope (_SB.PCI0)”,这段就是我们后面所要用到的完整的SLI验证代码了,保存好备用。
修改BIOS实战
Intel芯片组的AMI BIOS
对于使用AMI BIOS的Intel芯片组主板,其DSDT表位于BIOS的ACPI.AML模块中,以映泰TP-i45主板为例,首先用MMTOOL软件打开其BIOS文件,参考前面的方法以“非压缩形态”提取出ACPI.AML模块,并且保存为名为P45.aml的文件。把P45.aml拷贝到“C:\ACPI”下,在命令提示符模式下运行“iasl –d p45.aml”进行反编译,得到名为p45.dsl的文件,用记事本打开该文件,找到文件最末尾的地方,把最后一个“}”符号去掉,重新另起一行,把前面提取并修改好的整段SLI验证代码复制进去,要注意的是,此时“Scope (_SB.PCI0)”前面只有一个“}”符号,而文件最后一共有四个“}”符号,把文件保存好。再次进入命令提示符模式,运行“asl p45.dsl”把p45.dsl文件重新编译为p45.aml文件。
最后用MMTOOL软件打开映泰TP-i45主板的BIOS文件,选中ID为10的ACPI.AML模块,在“模块文件”中选择前面步骤中得到的p45.aml文件,点击“替换”,把包含有SLI验证代码的AML模块替换到BIOS文件中(图2),并保存退出。

完成了BIOS的修改之后,我们用Windows系统下的AMI BIOS刷新软件AFUWIN打开前面修改好的BIOS文件,在“设置”选项卡中勾选“BIOS主程序”和“加载ROM文件安全值”,点击“刷写”把BIOS文件更新到主板上(图3)。

AMD芯片组的AMI BIOS

使用AMI BIOS的AMD芯片组主板,BIOS文件中并没有ACPI.AML模块,DSDT表隐藏在ID为1B的Single Link Arch BIOS模块中。以使用AMD 790FX芯片组的MSI K9A2 Platinum主板为例,我们依然使用MMTOOL软件提取出Single Link Arch BIOS模块,并且命名为790FX(图4)。用Winhex打开该文件,选取第一个“DSDT”关键字到最后一个“WAKH”关键字之间的所有字节,利用右键菜单把所选范围字段导出为一个新的文件(图5),命名为790FX.aml,这个就是DSDT表。运行“iasl –d 790FX.aml”进行反编译,得到790FX.dsl文件,和前面的步骤一样加入SLI验证代码后运行“asl 790FX.dsl”把790FX.dsl文件重新编译为790FX.aml文件,再利用Winhex打开790FX.aml文件,复制其中的所有字节替换掉原先790FX文件中的对应字节,保存文件。然后运行MMTOOL软件,利用修改好的790FX文件替换掉Single Link Arch BIOS模块,即完成了DSDT表SLI验证代码的加入。最后刷新BIOS即可。

安装破解版驱动
把修改好的BIOS刷进主板之后,如果重新启动出现黑屏,就拆下主板电池清空CMOS中的数据,然后重新启动计算机。完成BIOS破解之后,华硕SLI验证代码已经存在于主板BIOS的DSDT表中。把两块NVIDIA显卡安装到主板上,从网上下载破解版NVIDIA显卡驱动(驱动包中没有包含PhysX物理加速驱动,需要的朋友可以自己从官方网站下载)。安装后重新启动系统,进入NVIDIA控制面板,可以看到在以前开启PhysX物理加速的菜单下面增加了SLI开启选项,设置为“Enable SLI”就可以开启SLI功能,两块显卡就已经工作在SLI状态下了。
小贴士:为了让主流3D游戏更好地支持SLI技术,提高多显卡SLI系统在游戏中的实际效能,我们可以安装NVIDIA显卡SLI游戏增强包以获得最大的性能提升。
总结
相对于软件破解法,BIOS破解法更具有普及意义。在正确修改BIOS之后,主板就成为一块真正意义上的SLI主板,只要安装破解版驱动程序就能够顺利开启SLI多显卡互联,而且该方法适用于AMD的芯片组,只要你的主板上具备多条PCI-E ×4~×16插槽就能够实现SLI,免费享受SLI带来的性能飞跃。
本文介绍软件可在http://www.shudoo.com/bzsoft下载