|
NVIDIA nForce SATA RAID/AHCI解决方案正式版1.1
下载链接
http://www.ralfa.net/zznsnk/pc/nv-winpe.rar
txtsetup.sif部分见后
更新历程:
2008.04.18加入对MCP78(nForce 730a/720a/710a)的支持
感谢loRenZe用Biostar TPower N750进行验证和提供Everest报告(SATA控制器工作模式设定在IDE)
NVIDIA在MCP78(nForce 730a/720a/710a)驱动包内提供的AHCI/RAID驱动
终于解决了之前的驱动(MCP68、MCP73)存在的在系统关机或重启时令硬盘复位数次的问题
大家不用再胆战心惊的用nForce AHCI了
nForce 650i/750i的南桥部分是C51的nForce 430;nForce 680i/780i/790i的南桥部分是MCP55(nForce 570)
以前的方案也已经能很好的支持
nForce 780a也快了,华硕微星已经有样板,希望能搞到报告
而NVIDIA在intel平台方面的MCP79、MCP7A可能有点悬了
NVIDIA和Intel在Nehalem的SLI技术授权和QPI总线授权上纠缠不清
Intel在X48上支持AMD/ATI的CrossFire,另外又在准备Larrabee,积极切入GPGPU领域
这出IT三巨头的三劈还真精彩
2007.12.20
NVIDIA正式发布nForce 780i/750i(其实南桥部分还是C51的nForce 430/410)
其驱动经过分析后,现有的方案应该完全能支持。当然,有坛友能确认一下就是最好的
http://os.deepin.org/read.php?tid=487723
nForce 750i/780i官方驱动
另外再次提醒:不要更改驱动文件的加载顺序和硬件ID的先后顺序
MCP78(nForce 730a/720a/710a)就要出了,明年还有MCP7A,值得期待
方案的后面,MCP73(nForce 630i/620i/610i)之后的那些其实都是NVIDIA的工程师预留好的,呵呵
2007.10.27转为正式版:
解决NVIDIA nForce 520/560、MCP68(nForce 630a)、MCP73(nForce 630i/620i/610i)上开启AHCI后找不到硬盘的问题;
ACPI层面的HWID分配最终确认和及其测试通过,真正全面搞定nForce系列PATA/SATA。感谢deepin提供测试平台(Onda N68G/N73PV)。
2007.09.15修正:
根据NVIDIA驱动包的txtsetup.oem,掉换核心文件的加载顺序,让nvraid.sys在nvatabus.sys之前加载,让nvrd32.sys在nvgts.sys之前加载
解决可能存在的RAID无法识别的问题;
nForce 520/560上AHCI蓝屏的问题需要等待cgfans999的测试(更换nvgts.sys+nvrd32.sys)
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=113129
怒了 撒手不管版全是驱动问题 nf560蓝屏
2007.09.12更新:加入nForce 520/560的SATA/PATA控制器的HWID
http://itbbs.pcshow.net/viewthread.php?tid=350912647
感谢姚瑶提供nForce 560主板的Everest报告(SATA控制器工作模式设定在IDE)
------------
驱动文件来源:
nForce 2/3/4/550/570/590/650i/680i/680a/C51/C61/750i/780i/790i
http://www.nvidia.cn/object/nforce_nf4_win2k_6.86_cn.html
nForce4/500 series
版本: 6.86
发布日期: 2006年7月7日
操作系统: Windows 2000/XP
语言: 简体中文
文件大小: 43.1 MB
http://download.nvidia.com/Windo ... ernational_whql.exe
SW IDE/NVRAID :5.10.2600.0666 (nvatabus.sys+nvraid.sys)
---
nForce 520/560、MCP68(nForce630a)、MCP73(nForce 630i/620i/610i)、MCP78(nForce 730a/720a/710a)
http://www.nvidia.cn/object/nforce_730a_710a_winxp_18.11_cn.html
GeForce 8300
nForce 730a / GeForce 8200
nForce 720a / GeForce 8100
nForce 710a
版本: 18.11
发布日期: 2008年04月07日
操作系统: Windows XP (32-Bit)
语言: 简体中文
文件大小: 121 MB
http://cn.download.nvidia.com/Wi ... ernational_whql.exe
AHCI/RAID : 10.3.0.21 (nvgts.sys + nvrd32.sys)
------------
幕后花絮
http://os.deepin.org/read.php?tid=383545
[深度原创&首发]玩转MCP73须知 贺论坛改版二周年
------------
使用注意事项:
(一)、本方案所支持的硬件
nForce 2/3/4/550/570/590/650i/680i/680a/C51/C61/750i/780i/790i部分中
无论是否开启RAID,nvatabus.sys(SW IDE驱动)都是通用的
nForce 2/3/4的SATA控制器、PATA控制器都可以使用SW IDE驱动
nForce 550/570/590/650i/680i/680a/C51/C61/750i/780i/790i只有SATA控制器可以使用SW IDE驱动;其PATA控制器(已经没有RAID模式)只能使用pciide驱动
NVIDIA从C51开始就打造纯粹的SATA RAID,所以从C51开始其PATA已经不能组RAID
nForce 520/560、MCP68(nForce630a)、MCP73(nForce 630i/620i/610i)、MCP78(nForce 730a/720a/710a)的SATA控制器跟之前的nForce芯片组的原生SATA控制器有所不同
其工作模式分为三种:IDE、AHCI(新增)、RAID
IDE模式下使用微软在操作系统安装盘中提供的pciide驱动
AHCI模式下使用nvgts.sys
RAID模式下使用nvgts.sys+nvrd32.sys
而且根据我亲手测试
AHCI和RAID可以融合在一起;AHCI驱动是RAID驱动的基石
(旧)
另外根据驱动包内的txtsetup.oem
预留了MCP72、MCP77等即将推出的nForce芯片组的SATA AHCI/RAID支持
待NVIDIA正式发布芯片组和提供配套驱动后
此方案会继续跟进
------
(二)、setupreg.hiv的修改
这是解决nForce AHCI添加nvgts.sys和写入HWID后依然无法识别硬盘的关键
当时我是在研究在开启AHCI的MCP68主板上全新安装WINXP
发现nLite集成的可以安装
而我自己手工改的会在txtmode时就蓝屏,连看不看得到硬盘都不知道
后来用Beyond Compare比较nLite集成前后WINXP安装文件的差别
发现光改txtsetup.sif、dosnet.inf是不够的
要动手术的还有setupreg.hiv、hivedef.inf、hivesft.inf、hivesys.inf
改漏一个都会蓝屏看到0x000007B
那段日子我每天蓝屏十来二十次...快变成蓝血人了(状态二?)
后来还是彻底弄懂了,呵呵
作为“副产品”
WINPE不需要那几个hive***.inf
直接改setupreg.hiv即可
修改完毕后在开了AHCI的MCP68/MCP73的板子上都测试一次OK
那种爽快无法言喻
---
NVIDIA的16.08版芯片组的驱动包nforce_winxp_16.08_international_whql.exe中
IDE\WinXP\sata_ide\txtsetup.oem和IDE\WinXP\sataraid\txtsetup.oem
都有这样的一段
[Config.BUSDRV]
value = parameters\PnpInterface,5,REG_DWORD,1
而同文件夹内的INF中
IDE\WinXP\sata_ide\nvgts.inf
[pnpsafe_pci_addreg]
HKR, "Parameters\PnpInterface", "5", %REG_DWORD%, 0x00000001
IDE\WinXP\sataraid\nvrd32.inf
[pnpsafe_pci_addreg]
HKR, "Parameters\PnpInterface", "5", %REG_DWORD%, 0x00000001
另外参考XP自带的SCSI卡驱动
发现都是有在setupreg.hiv中留有痕迹
如Adaptec的aic78xx里面的
LMT\ControlSet001\Services\aic78xx\Parameters\PnpInterface
"5"=dword:00000001
另外参考WINXP安装盘的setupreg.hiv、pnpscsi.inf
都确认了这个古怪参数的存在
应该是挂PCI总线的SCSI控制器都是逃不掉的重要参数
我们之前的做法一直都忽略了这个参数
一直都没遇到大麻烦
不过这次就在nForce AHCI上碰壁了
所以要补回去
---
从WINPE.IS_\WINPE.ISO\WXPE\SYSTEM32中提取出SETUPREG.HI_
WINRAR解压得到SETUPREG.HIV
启动注册表编辑器,展开到HKEY_LOCAL_MACHINE
文件—加载配置单元
指向刚才得到的SETUPREG.HIV
项名称随意,这里用LMT
展开到HKEY_LOCAL_MACHINE\LMT\ControlSet001\Services
新建项,定名nvgts
继续新建项,就像之前的aic78xx那样,先建一个子项Parameters,再建一个子子项PnpInterface
建一DWORD键值,定名为5,值设定为1
如果要消除AHCI状态下的托盘栏的热插拔图标
可以在nvgts下建立一DWORD键值
定名DisableRemovable,值为1
同样可以对加载nvatabus驱动后SATA设备能热插拔的功能进行屏蔽
注意
nvatabus没有Parameters\PnpInterface(nvata.inf/nvatabus.inf/nvraid.inf和txtsetup.oem内都没有)
所以不用加
补充一点
测试过程发现
nvgts下的DisableRemovable只能屏蔽AHCI状态下热插拔图标,对RAID无效
修改完毕
退回到HKEY_LOCAL_MACHINE\LMT
删除与SETUPREG.HIV处于同一目录下的SETUPREG.HIV.LOG
再对SETUPREG.HIV用MakeCAB压缩成SETUPREG.HI_
然后放回WINPE.ISO中
如果txtsetup.sif也如下处理好,就能输出重新压缩WINPE.ISO,输出WINPE.IS_或者WINPE.IM_
------
(三)、txtsetup.sif中NVIDIA SATA AHCI/RAID部分
注意驱动文件的加载顺序
根据NVIDIA芯片组驱动内的txtsetup.oem
nvraid.sys在nvatabus.sys之前;
nvrd32.sys在nvgts.sys之前。
另外不建议删除注释,方便测试人员debug。
[SourceDisksFiles]
nvraid.sys=1,,,,,,3_,4,1,,,1,4
nvatabus.sys=1,,,,,,3_,4,1,,,1,4
nvrd32.sys=1,,,,,,4_,4,1,,,1,4
nvgts.sys=1,,,,,,4_,4,1,,,1,4
[HardwareIdsDatabase]
GenNvRaidDisk="nvraid"
*_NVRAIDBUS="nvraid"
*NVRAIDBUS="nvraid"
PCI\VEN_10DE&DEV_0065="nvatabus" ; nForce2 ATA Controller
PCI\VEN_10DE&DEV_008E="nvatabus" ; nForce2 SATA Controller
PCI\VEN_10DE&DEV_0085="nvatabus" ; nForce2 PATA Controller
PCI\VEN_10DE&DEV_00D5="nvatabus" ; nForce3 Parallel-Serial ATA,PATA Bridged Controller
PCI\VEN_10DE&DEV_00E5="nvatabus" ; nForce3 250 PATA Controller
PCI\VEN_10DE&DEV_00EE="nvatabus" ; nForce3 250 SATA Controller
PCI\VEN_10DE&DEV_00E3="nvatabus" ; nForce3 250 SATA Controller
PCI\VEN_10DE&DEV_003E="nvatabus" ; nForce4 Intel Edition SATA Controller
PCI\VEN_10DE&DEV_0036="nvatabus" ; nForce4 Intel Edition SATA Controller
PCI\VEN_10DE&DEV_0035="nvatabus" ; nForce4 Intel Edition PATA Controller
PCI\VEN_10DE&DEV_0055="nvatabus" ; nForce4 SATA Controller
PCI\VEN_10DE&DEV_0054="nvatabus" ; nForce4 SATA Controller
PCI\VEN_10DE&DEV_0053="nvatabus" ; nForce4 PATA Controller
PCI\VEN_10DE&DEV_0267="nvatabus" ; nForce 430/410 SATA Controller
PCI\VEN_10DE&DEV_0266="nvatabus" ; nForce 430/410 SATA Controller
PCI\VEN_10DE&DEV_0265="pciide" ; nForce 430/410 PATA Controller
PCI\VEN_10DE&DEV_037E="nvatabus" ; nForce 590/570/550 SATA Controller
PCI\VEN_10DE&DEV_037F="nvatabus" ; nForce 590/570/550 SATA Controller
PCI\VEN_10DE&DEV_036F="nvatabus" ; nForce 590/570/550 SATA Controller
PCI\VEN_10DE&DEV_036E="pciide" ; nForce 590/570/550 PATA Controller
PCI\VEN_10DE&DEV_03F6="nvatabus" ; MCP61 SATA Controller
PCI\VEN_10DE&DEV_03F7="nvatabus" ; MCP61 SATA Controller
PCI\VEN_10DE&DEV_03E7="nvatabus" ; MCP61 SATA Controller
PCI\VEN_10DE&DEV_03EC="pciide" ; MCP61 PATA Controller
SCSI\NVIDIA__Raid_Disk________="nvrd32"
SCSI\__NVIDIA_______Raid_Disk="nvrd32"
SCSI\NVIDIA__Raid_Disk_20_____="nvrd32"
SCSI\__NVIDIA____Raid_Disk_20="nvrd32"
*NVRAID20="nvrd32"
PCI\VEN_10DE&DEV_044D="nvgts" ; MCP65 AHCI
PCI\VEN_10DE&DEV_044E="nvgts" ; MCP67D AHCI
PCI\VEN_10DE&DEV_044F="nvgts" ; unknown from mcp78 driver
PCI\VEN_10DE&DEV_045D="pciide" ; nForce 520/560 SATA Controller (IDE Mode)
PCI\VEN_10DE&DEV_0448="pciide" ; nForce 520/560 PATA Controller
PCI\VEN_10DE&DEV_0554="nvgts" ; MCP67 AHCI, CHANNEL
PCI\VEN_10DE&DEV_0555="nvgts" ; MCP67 AHCI, OEM
PCI\VEN_10DE&DEV_0556="nvgts" ; MCP67 AHCI, NBP
PCI\VEN_10DE&DEV_0560="pciide" ; MCP68 PATA Controller
PCI\VEN_10DE&DEV_0550="pciide" ; MCP68 SATA Controller (IDE Mode)
PCI\VEN_10DE&DEV_07B5="nvgts" ; MCP72 AHCI
PCI\VEN_10DE&DEV_07F4="nvgts" ; MCP73 AHCI 1
PCI\VEN_10DE&DEV_07F5="nvgts" ; MCP73 AHCI 2
PCI\VEN_10DE&DEV_07F6="nvgts" ; MCP73 AHCI 3
PCI\VEN_10DE&DEV_07F7="nvgts" ; MCP73 AHCI 4
PCI\VEN_10DE&DEV_0768="nvgts" ; unknown from mcp78 driver
PCI\VEN_10DE&DEV_0AD5="nvgts" ; unknown from mcp78 driver
PCI\VEN_10DE&DEV_056C="pciide" ; mcp73 PATA Controller
PCI\VEN_10DE&DEV_07F0="pciide" ; mcp73 SATA Controller (IDE Mode)
PCI\VEN_10DE&DEV_0AD4="nvgts" ; MCP77 AHCI 1
PCI\VEN_10DE&DEV_0AB9="nvgts" ; unknown from mcp78 driver
PCI\VEN_10DE&DEV_0AB8="nvgts" ; unknown from mcp78 driver
PCI\VEN_10DE&DEV_044C="nvgts" ; MCP65 RAID
PCI\VEN_10DE&DEV_0558="nvgts" ; MCP67 RAID, OEM
PCI\VEN_10DE&DEV_0559="nvgts" ; MCP67 RAID, CHANNEL
PCI\VEN_10DE&DEV_055A="nvgts" ; MCP67 RAID, NBP
PCI\VEN_10DE&DEV_07B9="nvgts" ; MCP72 RAID
PCI\VEN_10DE&DEV_07F8="nvgts" ; MCP73 RAID 1
PCI\VEN_10DE&DEV_07F9="nvgts" ; MCP73 RAID 2
PCI\VEN_10DE&DEV_07FA="nvgts" ; MCP73 RAID 3
PCI\VEN_10DE&DEV_07FB="nvgts" ; MCP73 RAID 4
PCI\VEN_10DE&DEV_0AD9="nvgts" ; unknown from mcp78 driver
PCI\VEN_10DE&DEV_0AD8="nvgts" ; MCP77 RAID 1
PCI\VEN_10DE&DEV_0ABD="nvgts" ; unknown from mcp78 driver
PCI\VEN_10DE&DEV_0ABC="nvgts" ; unknown from mcp78 driver
PCI\VEN_10DE&DEV_0759="pciide" ; MCP77/78 - PATA Controller
PCI\VEN_10DE&DEV_0AD0="pciide" ; MCP77/78 - SATA Controller (IDE Mode)
[SCSI.Load]
nvraid=nvraid.sys,4
nvatabus=nvatabus.sys,4
nvrd32=nvrd32.sys,4
nvgts=nvgts.sys,4
[SCSI]
nvraid="NVIDIA nForce(tm) RAID Class Device"
nvatabus="NVIDIA nForce SATA RAID Controller"
nvrd32="NVIDIA nForce RAID Device"
nvgts="NVIDIA nForce Storage Controller"
[ 本帖最后由 ryvius 于 2008-4-19 06:51 AM 编辑 ] |
评分
-
查看全部评分
|