无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)最好用的系统一键装机工具广告联系 QQ:184822951 微信:wuyouceo
查看: 6076|回复: 33
打印 上一主题 下一主题

[原创] 全面支持Win10 ARM64!已签名专用exFAT驱动制作完成

    [复制链接]
跳转到指定楼层
1#
发表于 2019-7-9 18:07:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 朱玛12345678 于 2019-7-9 18:10 编辑

注意:该驱动仅适用于Windows 10 ARM64架构的系统,对于其他体系结构的系统则不可使用。

前言
在上个月之前,我成功制作出基于x64架构的已签名exFAT驱动并完美解决了启动时间过长的问题:http://bbs.wuyou.net/forum.php?m ... 14353&mobile=no
感谢一些热心坛友向我提交测试报告,帮助我改善并解决可能遇到的潜在问题。而这一次开帖更新将彻底解决基于ARM64平台的启动报错问题,下面让我们开始吧。

原因
说到驱动的数字签名,我当时并没有考虑到有ARM64这个特殊平台的存在。就在几天前有一位热心网友主动添加我为好友并向我反映了现有驱动不能使用导致无法从exFAT分区启动系统的问题,当他在细节中提到使用的设备为树莓派3B,运行Windows 10 ARM64操作系统时,我意识到这是一个完全在我意料之外的新问题。
由于我没有可用于测试的ARM64设备,因此在这期间均由他配合测试并向我反馈结果,经过我们的研究与测试连夜奋战了多天终于宣布解决,同时在此也感谢 @Monkey_Yang 的热心支持。

分析
既然是ARM64的系统,那么X64的驱动肯定是无法使用的,这样我就需要收集各版本ARM64系统的exFAT驱动并重新加入数字签名制作驱动包进行测试。
根据上一次签名驱动的经验,我立即用相同的方式为该驱动加上了数字签名,本以为这就能够解决问题。

然而汇报的实际测试结果却让我非常意外,在启动系统时居然提示无法验证此文件的数字签名。很奇怪该驱动明明已经有了数字签名而且还是显示有效的却被系统视为没有签名,而这在x64的系统上是完全没有这个问题的。
不过手动按F8选择禁用驱动程序强制签名验证则可以启动系统,但每次开机都要这样做的话显然太过麻烦也不是解决办法。

当时我认为应该是系统本身有问题,他报告当前用的系统版本是Win10 v1803,我就说尝试重装最新的Win10 v1903看看能不能解决,不过重装期间也因为机器配置原因在安装系统时遇到了一些小问题。
当重装完成后我再将新的已签名exFAT驱动发给他测试启动时,结果竟然和重装之前的情况完全一样。这真是怪事了,按说数字签名都是有的没道理不能识别啊。

后来仔细想了想也许这可能真的是数字签名问题,但一时半会儿又找不到能验证这个问题的方案。我沉思许久突然想到可以尝试把已经内置微软数字签名的NTFS驱动替换成自己做的签名,这或许可以得到答案。

结果本来能用的驱动在测试启动时也出现了数字签名验证不过的现象,这样的话基本可以确定不是系统问题而是我做的签名问题了。


思路
得到了这个测试结果也为我后面的研究打开了新的思路,接下来就要分析这两个数字签名之间的差异,看来这是一个要解决的新问题了。
经过我的研究发现其中有一个很大的不同之处在于:微软是用SHA256算法的证书来为文件做数字签名,而我是用SHA1算法的证书来为文件做数字签名。这很可能是签名算法过旧而导致的,似乎需要改用新的算法签名才能被系统识别。

那么要用新签名就得换证书,但寻找可用证书是件麻烦事。好不容易找到了一个SHA2的证书能用于做数字签名,但签署时间戳又是一个大问题。

还好能用微软的SignTool命令行再打一次有效的时间戳,这时测试了用纯SHA256数字签名的驱动已经可以通过系统的签名验证了。

出于兼容性考虑这次将采用SHA1+SHA2双签名制作ARM64版的exFAT驱动,最终成功搞定Win10 ARM64的签名验证问题。


实践
这次分享的exFAT驱动均从原版Win10ARM64系统映像中提取并由我添加内置双数字签名可快速通过ARM64系统签名验证,解压缩包后根据你的系统版本选择对应的驱动文件并直接放到C:\Windows\System32\Drivers文件夹内替换掉原文件再测试启动即可。
文件下载链接
论坛直接下载: exFAT(ARM64)驱动.zip (1.12 MB, 下载次数: 112)

腾讯微云下载:http://share.weiyun.com/583QbWg

百度网盘下载:http://pan.baidu.com/s/18wdtQB-ZYkMSzt2AJ8YYVg


当exFAT驱动添加SHA256的数字签名后测试ARM64系统在启动时果然不再报签名错误并成功加载驱动,至此该问题圆满解决!

exFAT启动Win10 ARM64系统测试截图



后记
最后还要提醒一句:基于Win10 x64系统的驱动只需要有SHA1或SHA2任意一个数字签名就可以通过启动验证,但基于Win10 ARM64系统的驱动则必须含有SHA2数字签名才能通过启动验证,如果只含有SHA1数字签名在启动系统时也会被视为无数字签名验证不过,在做驱动程序开发的一定要注意这一点。

评分

参与人数 13无忧币 +61 收起 理由
wwwzhx + 5 给技术大拿点赞1
xujinbiao + 5 很给力!
liuzhaoyzz + 5 很给力!
V587 + 5 很给力!
palm777qqq + 5
sakuraphoenix + 5 很给力!
sghihor + 5
maomihuacha + 1 很给力!
acer669 + 5 很给力!
大自然的园丁 + 5 很给力!
新空气 + 5 赞一个!
JinPei + 5 赞一个!
chishingchan + 5 很给力!

查看全部评分

2#
 楼主| 发表于 2019-7-9 18:08:07 | 只看该作者
本想到这个问题应该很容易就能解决,万万没想到这居然还是一个坑。。
回复

使用道具 举报

3#
发表于 2019-7-9 18:36:29 | 只看该作者
除了评分想不起有更好的表达!
回复

使用道具 举报

4#
发表于 2019-7-9 18:40:04 | 只看该作者
想问一下,上次的那个好像没有32位版本提供下载。

点评

32位系统没有强制数字签名验证,一般不需要做已签名的x86驱动。  详情 回复 发表于 2019-7-9 19:02
回复

使用道具 举报

5#
 楼主| 发表于 2019-7-9 19:02:15 | 只看该作者
chishingchan 发表于 2019-7-9 18:40
想问一下,上次的那个好像没有32位版本提供下载。

32位系统没有强制数字签名验证,一般不需要做已签名的x86驱动。
回复

使用道具 举报

6#
发表于 2019-7-9 19:17:03 | 只看该作者
牛人!

回复

使用道具 举报

7#
发表于 2019-7-9 21:23:58 | 只看该作者
佩服佩服,高人哪。
回复

使用道具 举报

8#
发表于 2019-7-9 21:30:12 | 只看该作者
感谢楼主得道,,我们有福了
回复

使用道具 举报

9#
 楼主| 发表于 2019-7-9 22:39:50 | 只看该作者
本帖为密码帖 ,请输入密码 
回复

使用道具 举报

10#
发表于 2019-7-9 23:26:43 | 只看该作者
复制黏贴不给力
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2020-6-5 01:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表