MCPLive > 杂志文章 > 英特尔芯片组破解SLI指南

英特尔芯片组破解SLI指南

2009-12-20Enoch《微型计算机》2009年11月下

一直以来,英特尔芯片组的主板只能支持AMD交火技术,无法支持NVIDIA SLI技术。不过,在X58主板上这个定律被打破,X58主板也可以支持SLI。那么其它英特尔主板是否也可以通过相同或者其它破解方式支持SLI呢?为此,笔者做了详细测试。

破解原理介绍—破解源于NVIDIA驱动认证

X58作为首款支持SLI技术的英特尔主板,早期版本的产品是通过增加NVIDIA nF200桥接芯片实现SLI功能的,因此成本相对较高。因此后期X58和新的P55主板均省略了桥接芯片,改由BIOS信息认证的方式来实现SLI,即在主板BIOS中加入相应的认证信息从而获得NVIDIA显卡驱动程序的认证,进而顺利支持SLI。不过这种认证方式目前仅应用在X58和P55主板上,早期诸如P45和975X主板均不支持。那么有没有方法让P45和975X主板通过破解的方式支持SLI呢?我们不妨先来看看
BIOS信息认证的整个过程。在一块已经获得NVIDIA驱动程序认证的主板上组建SLI时,整个开启过程如下:

步骤1.显卡驱动程序检测主板BIOS中是否存在NVIDIA特定的认证代码,如果存在正确的代码则进入步骤2;
步骤2.显卡驱动程序检测主板芯片组信息,如果芯片组信息与认证代码中的信息一致,则进入步骤3;
步骤3.正确安装显卡驱动程序并且开启SLI选项供用户选择。

可以看出,理论上只要模拟上述认证过程,添加认证信息就可以让其它英特尔主板获得NVIDIA驱动程序的认证,从而实现SLI功能。因此,笔者的破解过程也分三步:

步骤1.提取BIOS中的NVIDIA认证代码;
步骤2.把代码加入到要破解的主板BIOS中;
步骤3.干扰显卡驱动程序对芯片组信息的检测。需要注意的是,不同品牌的不同芯片组的代码是不同的,需要根据自己的主板品牌来选择对应的品牌代码。

破解实战

破解平台:
CPU:Intel Core 2 Duo E6320 OC 2.8GHz
主板:映泰T-Power I45(AMI BIOS)、七彩虹C.975X-MVP(AWARD BIOS)
内存:金士顿DDR2 667 1GB×2
显卡:两块GeForce 9600 GT
操作系统:Windows 7 Ultimate RTM 32-bit、Windows Vista Ultimate SP1 32-bit


笔者的破解平台

提取BIOS中的NVIDIA认证代码

下面笔者以映泰T-POWER X58主板为例,介绍提取NVIDIA认证代码的过程。首先在使用映泰T-POWER X58主板的主机上运行Everest软件。点击鼠标右键,在菜单中选择"ACPI Tool",并在出现的对话框中选择"Save DSDT",并且保存为acpi_dsdt.bin文件。接着把文件后缀bin改为"txt"。


利用Everest软件提取和保存主板上的ACPI信息

然后用写字板打开acpi_dsdt.txt文件,可以找到一段"987134512781Genuine NVIDIA Certified SLI Ready Motherboard for BIOSTAR TPOWER X58 0101-Copyright 2008 NVIDIA Corporation
All Rights Reserved-765289891023(R)"的文字,这段文字就是映泰T-POWER X58的认证代码,长度为157字节。在接下来的破解过程中就会用到该认证代码。

各大品牌X58主板的认证代码:
华硕:987134512781Genuine NVIDIA Certified SLI Ready Motherboard
for ASUS P6T Deluxe 0101-Copyright 2008 NVIDIA Corporation All
Rights Reserved-765289891023 (R)
技嘉:987134512781Genuine NVIDIA Certified SLI Ready Motherboard
for GIGABYTE GA EX58UD4P3287-Copyr ight 2008 NVIDIA
Corporation All Rights Reserved-765289891023 (R)
DFI:987134512781Genuine NVIDIA Certified SLI Ready Motherboard
for DFI LP UT X58 T3EH8 0101-Copyright 2008 NVIDIA Corporation
All Rights Reserved-765289891023(R)

把代码加入到要破解的主板BIOS中

由于编辑BIOS风险比较大,在这里笔者采用模拟DSDT表的方法,利用软件把认证代码虚拟到系统DSDT表中。届时显卡驱动程序会把虚拟的DSDT表信息误以为是来自主板BIOS中的信息,从而成功干扰显卡驱动程序的检测。

下面以映泰T-Power I45主板为例,介绍如何把刚才提取的映泰X58主板认证信息虚拟到系统
DSDT表中。首先在C盘中创建名为ACPI的文件夹,把从网上下载得到的iasl.exe和asl.exe两个程序拷贝进去。在CMD模式下进入C:acpi运行“iasl–g”,此时会在C:acpi文件夹中产生一个名为dsdt_
P45A7001.dsl的文件。不同主板所得到的文件名会有所不同,但后缀都是“.dsl”。用写字板打开
dsdt_P45A7001.dsl文件,在后空白的地方加入如下字符:
Scope (\_SB.PCI0)
{
Name (SLIC, Buffer (0x9E)
{
987134512781Genuine NVIDIA Certified SLI Ready
Motherboard for BIOSTAR TPOWER X58 0101-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, 0x00, FUNC)
If (LEqual (FUNC, 0x41494C53))
{
Return (\_SB.PCI0.SLIC)
}
Return (0x00)
}
}
}
}

接着把修改后的dsdt_P45A7001.dsl文件保存好,在CMD模式下运行"asldsdt_P45A7001.dsl"命令,而后会在当前目录下生成已经加入了映泰X58 SLI认证信息的名为DSDT.aml的文件。后运行"asl/loadtable DSDT.aml–v"命令,把DSDT.aml文件的内容导入到系统DSDT表中。


将认证代码虚拟到系统DSDT表

如果以上各个步骤都正确完成的话,重新启动电脑之后会在设备管理器的“系统设备”中生成一个名为“Microsoft Windows Management Interface for ACPI”的新硬件,其设备实例路径为“
ACPIPNP0C14MXM2”。只有生成了这个硬件才说明SLI认证信息已经成功导入到DSDT表中。如果该步骤失败,则运行“asl/loadtable-d DSDT.aml”命令取消掉刚才的命令,然后检查前面的步骤再重新进行DSDT表的导入。



添加认证码成功后,会生成一个新硬件,其路径为ACPIPNP0C14MXM2

上述方法同样适用于其它品牌的主板,唯一不同的步骤就是把前面“987134512781Genuine NVIDIA ****** Reserved-765289891023 (R)”字段修改为相应品牌X58主板的认证代码即可。例如要破解EVGA品牌的主板,只需把字段修改为EVGA X58的认证代码“987134512781Genuine NVIDIA Certified SLI Ready Motherboard for EVGA 132 BL E758V00 0101-Copyright 2008 NVIDIA
Corporation All Rights Reserved-765289891023(R)”,其余步骤不变。这里需要注意的是,不管任何品牌的主板,其代码字段长度均为157字节,如果你提取的字段长度不相符,则说明提取失败,会影响后面步骤的顺利进行。

干扰显卡驱动程序对芯片组信息的检测

要终开启SLI功能,还要干扰显卡驱动程序对芯片组信息的检测。例如笔者使用的是P45芯片组的主板,芯片组的信息与认证代码中有关X58芯片组的信息不符,显卡驱动程序会在检测后停止对SLI的支持。要干扰这个检测过程,可以通过修改系统中C:WINDOWSsystem32目录下的hal.dll文件来实现。修改方法也很简单,下载“HALMod_v0.9_alpha.zip”压缩包,用管理员身份运行压缩包中的Install.cmd脚本即可。然后重新启动计算机,安装NVIDIA显卡驱动程序。


映泰P45主板成功开启SLI模式

完成上述的破解步骤之后,可以看到在“NVIDIA控制面板”中已经出现了开启SLI的选项,把它设置为“Enable SLI”并保存退出。此时用Everest、GPU-Z等软件检测,可以发现两块GeForce
9600 GT显卡已经工作在SLI模式下。为了验证破解方法的通用性,我们还加入了对七彩虹C.975X-
MVP主板的破解。虽然该主板使用的是AWARD BIOS,但以上破解方法依然适用。

 破解前后测试成绩对比

 

 GeForce 9600 GT
 (650MHz/1625MHz
 /1800MHz)

 GeForce 9600 GT SLI
 (650MHz/1625MHz
 /1800MHz)

 3DMark Vantage Performance

 GPU分数

 4248

 8257

 总分

 P5285

 P9671

 《生化危机5》

 35

 49

 《极品飞车13》

 30

 42

 《蝙蝠侠:阿卡姆疯人院》

 26

 35

首先提取出七彩虹X58主板中的认证代码:“987134512781Genuine NVIDIA Certified SLI
Ready Motherboard for COLORFUL CX58X9 0101-Copyright 2008 NVIDIA Corporation All Rights Reserved-765289891023(R)”,并且进行整合和导入。和使用AMI BIOS的映泰T-Power I45一样,C.975X-MVP主板在Windows Vista和Windows 7系统下均成功开启SLI功能。

破解效果大阅兵

从测试来看,在笔者的测试平台上,GeForce 9600 GT SLI的3D性能较GeForce 9600 GT提升幅度在50%以上。尤其是在Windows 7下运行3DMark Vantage测试的分数提升为可观,无论是GPU得分还是总分成绩都几乎翻倍。测试成绩的大幅提升说明了笔者的破解是行之有效的。

总结

事实上,本文SLI的破解过程并不神秘,风险不算太高、成本为零,大部分有动手能力的玩家都有能力完成。理论上,常见的NVIDIA nForce 4、英特尔P965和X48,甚至AMD 790FX等芯片组,只要主板上具备双PCI-E x16或者双PCI-E x8插槽,甚至是PCI-E x16+x4插槽,并且能够在操作系统下同时识别出两块NVIDIA显卡,就能够利用上文介绍的方法实现SLI显卡互连。如果你正好有符合要求的主板,不妨试试本文的方法,体验一下SLI带来的强劲图形处理能力。

在破解过程中需要注意的是,在提取认证代码时,要原封不动地复制出来,包括其中的空格,自行删除或添加空格都会使代码长度不等于157个字节从而导致破解失败。

在对hal.dll文件的修改过程中可能会出现蓝屏,此时需要重装系统就可以解决问题,并不会对硬件造成损坏。另外,部分用户可能有这样的疑问:假设我使用了某品牌的P45主板,但恰好该品牌没有经过认证的X58主板,无法提取认证代码。此时,还可以对P45进行破解吗?能够使用其它品牌经过认证的X58主板的认证代码吗?对于上述疑问,笔者的回答是如果按照本文的方法进行破解的话,那么是无法使用其它品牌的X58认证代码的。因为NVIDIA驱动程序在检测时会校对品牌ID,所以不同厂家的代码无法通用。

但是,玩家可以考虑更改BIOS里面关于主板品牌的ID信息,以达成目的。但这种方法对普通玩家来说难度较大,而且修改厂家ID信息之后可能会导致主板无法启动,所以不推荐普通玩家使用。后还需要强调的是,本文所介绍的破解方法仍然存在一定风险,请玩家谨慎尝试!

分享到:

用户评论

共有评论(3)

  • 2010.01.01 10:46
    3楼

    自己家的P35不知道能不能玩~

    (0) (0) 回复
  • 2009.12.22 14:38
    2楼

    wo ye lai shi shi

    (0) (0) 回复
  • 2009.12.20 15:33
    1楼

    这个对于一些老主板还是有用的呵呵,反正是老了,可以发挥以下余热,做个交火也不错

    (0) (0) 回复

用户名:

密码: