Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

搜索
查看: 41057|回复: 8

[分享] Windows 7支持NVME的艰难历程,对找Windows 7通用NVME驱动的朋友有帮助 [复制链接]

软件爱好者

Rank: 5Rank: 5Rank: 5

UID
431241
帖子
624
PB币
888
贡献
0
技术
21
活跃
677
发表于 2018-1-19 21:48:04 |显示全部楼层
本帖最后由 ganyuansi 于 2018-1-27 22:03 编辑

    Windows7操作系统作为一代经典(上一代还是Windows XP),是目前最顺手的操作系统,可惜对一些新的硬件技术支持不太好,比如USB3.0和NVME。USB3.0相对比较的容易,集成Intel/AMD的驱动即可,难的是NVME,以下是为了让Windows 7支持NVME(Windows 7+NVME Boot)所经历的磨难。
    作为一个软件洁癖,首先考虑是修改Windows 7自身安装文件实现完全的NVME支持,需要修改Boot.WIM文件和Install.WIM文件。
    一、第一个方法考虑的是使用微软自己推出的驱动支持。搜索发现没有单独的驱动提供,不过有热修复补丁KB2990941,然后磨难开始了,Boot.WIM集成了这个补丁过后,进入安装分区界面,仍然弹框要求加载驱动,而实际通过Diskpart发现NVME SSD已经识别了。怀疑是集成补丁的工具DISM++造成,按照KB2990941说明采用dism命令集成仍然会出现这个弹框,后面发现使用技嘉的Windows USB Installation Tool集成上面的KB并集成Intel和三星的NVME驱动,安装分区界面却不会弹框,于是又测试,用DISM++工具集成技嘉工具目录下的KB和驱动,仍然会出现弹框,实在找不到原因,放弃此方法。
    二、第一个方法行不通,想到了第二个办法,那就采用曲线救国的方式,提取KB2990941里面的inf和sys驱动文件,在集成过程中提示证书不对,后发发现驱动都有对应cat签名文件,KB里面提取出来的驱动不包含cat文件,无法使用。后面想到没有cat文件就自己生成一个cat文件,找到WinDDK里面的工具签名inf和sys文件,发现就算生成了cat文件也无法使用,因为没有对应电子证书,cat文件会提示安全目录无效,使用DISM++集成也会提供驱动证书无效无法集成,只能放弃此法。
    三、后面想到第三种方法,既然官方的通用驱动无法使用,那就找第三方驱动,结果还真有,pceva提供的第三方通用驱动,最新3.0版本没有搜索到下载,官方网站也需要160多RMB才能注册,鉴于投入的成本,放弃使用pceva的nvme驱动。
    四、既然pceva通用驱动找不到,那就想到了第四种方法,就是集成主流的NVME SSD主控的驱动,诸如intel和三星,慧荣SMI,群联Phison,美满Marvell…,在找驱动过程中还真有了发现,宇瞻SSD(群联主控)和阿斯加特SSD(Realtek主控)提供了inf完全相同的一个驱动,驱动签名不一致(WDKTestCert/Realtek),描述为Community NVMe 1.0e Storport Miniport,版本为1.4.0.0,怀疑为一个社区通用驱动,于是提取inf文件与微软KB2990941里面的inf文件进行对比,发现内容除了排版和变量名不一样外,主要的参数都是完全一样的,安装分区界面加载确认,Intel 600P(慧荣主控)可以驱动,VMware虚拟机(UEFI+NVME)可以驱动,就更加确信这是一个社区通用驱动,但用DISM++集成后发现在安装界面无法识别到SSD硬盘了,于是采用安装分区界面加载这个驱动的方法,识别SSD成功,但在安装进程重启过后就会蓝屏或者报NVME.SYS文件有问题,于是暂时只能放弃此驱动,希望后续有其他正常签名正常加载正常使用的版本出现。    继续采用集成主流主控驱动的方法。收集驱动时发现,慧荣也有签名的驱动,最新版本1.4.24.0,支持intel 600p,内容与上面的社区通用驱动一致,添加了少许参数以支持新功能,查看其changlog.txt,发现两个重要信息,一是1.4.0.0版本都由NVM Express organization社区提供代码,二是此驱动有支持列表。经过VMware虚拟机(UEFI+NVME)加载测试发现然只能用于慧荣主控的SSD。
     五、鉴于集成主流SSD主控驱动不能覆盖所有的SSD主控,且加载SSD主控驱动不能重复驱动文件名,既然windows 7 boot.wim加载驱动有问题,考虑采用Windows 8.1/10的安装文件+集成了KB2990941的Windows 7的Install.wim,实际安装分区界面完美识别SSD,安装好的Windows 7完美驱动SSD
    于是总结如下:
    方法一:用Windows 7的boot.wim和install.wim集成主流SSD主控驱动,优势是原厂驱动性能功能更好,但不能全部覆盖,其他不支持的另外加载驱动。
    方法二:用Windows 8.1/10安装文件+集成了KB2990941的Windows 7的Install.wim,支持所有SSD,但需要另外加载原厂驱动。

    本人环境:技嘉GA-Z87-HD3主板F8版本BIOS,添加NVME模块;Intel 600p 256G SSD;Windows 7 SP1集成汇总更新。
     Update:
     1.找到集成KB290941集成的问题了,boot.wim中的Index 2的sources目录要和安装ISO里面的sources文件版本一致。所有微软通用驱动也可以使用了。
     2.有第三方开源驱动,地址https://svn.openfabrics.org/svnrepo/nvmewin/,上面提到的通用驱动原来也是这个,不过不适合生产环境使用。


2

查看全部评分

Rank: 7Rank: 7Rank: 7

UID
4809963
帖子
2282
PB币
2459
贡献
0
技术
2
活跃
965
发表于 2018-1-20 09:49:55 |显示全部楼层
看来是写给在这里问那哥们的…………也是不错了,朋友。

Rank: 5Rank: 5Rank: 5

UID
3676148
帖子
1053
PB币
822
贡献
0
技术
29
活跃
1358
发表于 2018-1-20 10:17:29 |显示全部楼层
不赞同LZ的思路:
1.通用驱动性能估计比不上原厂驱动。
2.Win7原版的boot.wim自带的安装工具不支持高压缩esd格式安装文件,如果集成最新补丁、驱动后,整盘文件大于5GB,一张DVD-5装不下,如果把install.wim压缩成install.esd,一张DVD-5可以装下。
3.高版本boot.wim和相关启动文件支持最新设备驱动,支持EFI BIOS安装。

黑龙

Rank: 9

UID
125547
帖子
2832
PB币
5887
贡献
0
技术
14
活跃
2175
发表于 2018-1-20 10:52:57 |显示全部楼层
谢谢分享,很详细经历和教程。

Rank: 1

UID
2873708
帖子
53
PB币
28
贡献
0
技术
0
活跃
714
发表于 2018-1-20 11:43:42 |显示全部楼层
隔着屏幕都能感受到楼主的艰难历程。。。

Rank: 5Rank: 5Rank: 5

UID
265640
帖子
1129
PB币
2758
贡献
0
技术
73
活跃
744
发表于 2018-1-20 13:53:55 |显示全部楼层
nvme支持不是需要2个补丁么,这里只提到一个
我验证过,可以支持600p,t10之类未提供官方驱动的nvme盘的,安装介质方式引导安装。

软件爱好者

Rank: 5Rank: 5Rank: 5

UID
431241
帖子
624
PB币
888
贡献
0
技术
21
活跃
677
发表于 2018-1-21 00:46:57 |显示全部楼层
mmxx2013 发表于 2018-1-20 10:17
不赞同LZ的思路:
1.通用驱动性能估计比不上原厂驱动。
2.Win7原版的boot.wim自带的安装工具不支持高压缩 ...

文章有提到微软的inf和我提到的inf内容一样,这些通用驱动只适用于没有提供官方驱动的情况。

软件爱好者

Rank: 5Rank: 5Rank: 5

UID
431241
帖子
624
PB币
888
贡献
0
技术
21
活跃
677
发表于 2018-1-21 00:48:39 |显示全部楼层
zerozerone 发表于 2018-1-20 13:53
nvme支持不是需要2个补丁么,这里只提到一个
我验证过,可以支持600p,t10之类未提供官方驱动的nvme盘的, ...

是两个补丁,前面一个才是有内容的补丁,后面一个是补丁的修复。
我不知道为什么微软的这两个补丁集成进入boot.wim,安装界面仍然会提示需要驱动,而实际diskpart查看已经识别到SSD了

Rank: 5Rank: 5Rank: 5

UID
1905567
帖子
1134
PB币
1123
贡献
0
技术
0
活跃
421
发表于 2018-1-22 11:03:20 |显示全部楼层
我用过三个版本Win7,板凳楼层的,Z&L合作版,版主第二版,第三版还没有用过。联想710S i7-6560U,自带PM951 512G,换过东芝XG3,这几个版都能装上。
回顶部
Copyright (C) 2005-2020 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件