无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 6694|回复: 20
打印 上一主题 下一主题

关于nlite处理过的系统文件签名丢失导致某些东西安装不上的问题。

[复制链接]
跳转到指定楼层
1#
发表于 2009-6-8 20:48:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
也许大家都没有注意到这点,你们可以看一下nlite处理过的系统,在安装完以后,到windows目录里,看一下setupapi.log就知道了。
稍微测试了一下,安装了原版的情况下是一切正常没有错误的。或许有人认为,是MS的补丁的问题?我用/s参数集成的补丁版也没有这样的问题。
我又用原版文件,用nlite 1.49.1集成了NV的一个RAID驱动,其他的原样不动,不精减,不用nlite的任何优化设置,直接生成ISO,测试,结果就出现错误log了。
当然,出现错误的系统,安装好了以后,也没有什么问题,一直用的都可以。也不影响什么。
但是某些情况下,这样的系统如果换了主板,会出现驱动装不上的。

setupapi.log 内容里有如下字段:
#E358 驱动程序 "XXXXXXXXXXX" 的一个未经过签名、签名不正确或 Authenticode(TM) 签名的文件 "c:\windows\inf\XXXXXXX" 被阻止(策略=忽略)。 错误 1168: 找不到元素。
#E122 安装失败。 错误 1168: 找不到元素。


希望各位能看一下自己安装好了以后的setupapi.log文件,是否有这样的情况。




*********************************************************
又去试了一下2003企业版,也是一样。
下面是安装完成以后,在windows 目录里拿出来的setupapi.log ,我可什么都没精减,随便集成一个intel的AHCI的驱动,就制做ISO了。而且这个原版的系统没有经过nlite 处理的时候安装起来是没有任何错误的。难道就是传说中的RP问题?我什么东西都不精减,我只用nlite操作过一次系统问题,随意集成一个驱动,或者随意精减一个不需要的东西,然后就制做成iso了,不存在什么精减过度的问题吧

setupapi.rar (17.26 KB, 下载次数: 348)
2#
 楼主| 发表于 2009-6-8 20:49:40 | 只看该作者
希望玩nlite的大侠帮分析一下。

发到自由天空没人鸟...........不知道发这有没有人理睬......

一直很郁闷的一个问题。
回复

使用道具 举报

3#
发表于 2009-6-8 21:11:20 | 只看该作者
追求完美的人少啊,我一直装原版的,或者用DPS集成驱动的,不喜欢用GHOST版本,GHOST版本只是敷衍人家用的。
回复

使用道具 举报

4#
 楼主| 发表于 2009-6-9 09:59:37 | 只看该作者
顶到牛人现身为止.无忧乃卧虎藏龙之地,坚信这点。
回复

使用道具 举报

5#
发表于 2009-6-9 11:33:50 | 只看该作者
是nv的raid驱动比较特殊吧,要先加载bus驱动,再加载drv驱动, 不确定能不能用nlite集成, 推荐使用usb软驱用F6加载,用grub4dos模拟软驱应该可以的
回复

使用道具 举报

6#
发表于 2009-6-9 11:43:26 | 只看该作者
装了这么多年的机器,从来没看过setupapi.log, 楼主分析的很深入啊, nlite不是微软推荐的安装方式,有bug也很正常,关于驱动签名在unattend安装中有一个选项
[Unattended]
    DriverSigningPolicy = Warn 改成 ignore 试试

用F6加载软盘驱动肯定是可以的
回复

使用道具 举报

7#
 楼主| 发表于 2009-6-9 13:18:31 | 只看该作者
谢谢楼上的回复,我想表达的是,不是集成驱动才会有这样的情况。无意中在WINDOWS目录下查看几个log文件看到这样的问题。

而是只要是经过nlite处理过系统文件以后,就破坏了原系统的文件导致了签名丢失,验证不通过。

而且按楼上的设置在unattend里设置为ignore 也是没用的,况且nlite里的无人值守做出来本身就是忽略选项的。

nlite在处理过系统文件以后,比如inf文件里,会在文件的后面追加一行标签。也许是这样破坏了文件的原始效验值吧。

不知道有没有高手研究一下这个问题。

[ 本帖最后由 qq58945591 于 2009-6-9 13:22 编辑 ]
回复

使用道具 举报

8#
发表于 2009-6-9 19:57:42 | 只看该作者
哦, 我看错了,可以安装成功但是log中有错误啊, 从来没关注过, 看了一下我的xp的setupapi.log, 好像是没什么错误,呵呵

在用nlite之前尝试过修改txtsetup.sif文件来增加raid和sata驱动,不过兼容性不好,没有经过充分测试bug会很多的, 浪费很多刻录光盘。 nlite应该是不错的,不过毕竟是通过修改xp 安装文件来实现的,总是会有点兼容性问题的。既然是setup安装,稳定性最重要, 可以改用pe或者ris unattend setup安装稳定多了,速度也快。  普通pc安装ghost就好了,可以自己做,也不会有插件。

[ 本帖最后由 jamesdai2002 于 2009-6-9 20:26 编辑 ]
回复

使用道具 举报

9#
发表于 2009-6-9 20:24:45 | 只看该作者
楼主看问题这么细微,一般人不会去注意这个问题的。所以我也帮不到你。只能帮你顶一下。
回复

使用道具 举报

10#
发表于 2009-6-9 21:30:04 | 只看该作者
很简单的一个原因就是只要修改过驱动包中任何一个包含在签名(可以查看带的.cat)的文件(.sys和.inf是最重要的两个)就一定会无法通过签名认证,nlite、dps集成器都有往inf添加一两句的“爱好”,所以肯定通不过认证。
ps:所以我修改过的驱动都把那个失效的cat去掉:)
回复

使用道具 举报

11#
 楼主| 发表于 2009-6-9 22:55:44 | 只看该作者
感谢版主的回复,
那驱动程序签名验证不过还是可以说的过去。可是在查看了setupapi.log里,就是在刚安装安装的时候就有错误字段了,大概错误字段都是说什么lang下的什么font错误的。内容摘录如下其中一段:


#-199 执行 "C:\WINDOWS\system32\setup.exe",用命令行: setup -newsetup
#W334 扫描文件队列时未能确认编录。 错误 1168: 找不到元素。
#E361 一个未经过签署或签署不正确的文件 "c:\windows\inf\intl.inf" 将得到安装(策略=忽略)。 错误 1168: 找不到元素。
#-336 正在通过临时文件 "C:\WINDOWS\fonts\SET8A.tmp" 将文件 "E:\i386\lang\msgothic.tt_" 复制到 "C:\WINDOWS\fonts\msgothic.ttc"。
#E361 一个未经过签署或签署不正确的文件 "E:\i386\lang\msgothic.tt_" 将得到安装(策略=忽略)。 错误 1168: 找不到元素。
#-336 正在通过临时文件 "C:\WINDOWS\fonts\SET8D.tmp" 将文件 "E:\i386\lang\gulim.tt_" 复制到 "C:\WINDOWS\fonts\gulim.ttc"。
#E361 一个未经过签署或签署不正确的文件 "E:\i386\lang\gulim.tt_" 将得到安装(策略=忽略)。 错误 1168: 找不到元素。
#-336 正在通过临时文件 "C:\WINDOWS\fonts\SET94.tmp" 将文件 "E:\i386\lang\mingliu.tt_" 复制到 "C:\WINDOWS\fonts\mingliu.ttc"。
#E361 一个未经过签署或签署不正确的文件 "E:\i386\lang\mingliu.tt_" 将得到安装(策略=忽略)。 错误 1168: 找不到元素。
[2009/05/29 17:36:08 256.84]
#-199 执行 "C:\WINDOWS\system32\setup.exe",用命令行: setup -newsetup
#W334 扫描文件队列时未能确认编录。 错误 1168: 找不到元素。
#E361 一个未经过签署或签署不正确的文件 "c:\windows\inf\font.inf" 将得到安装(策略=忽略)。 错误 1168: 找不到元素。
[2009/05/29 17:36:08 648.2]
#-199 执行 "C:\WINDOWS\system32\RUNDLL32.exe",用命令行: RUNDLL32 shell32,Control_RunDLL intl.cpl,,/f:"C:\WINDOWS\system32\$winnt$.inf" /s:"E:\I386"
#W334 扫描文件队列时未能确认编录。 错误 1168: 找不到元素。
#E361 一个未经过签署或签署不正确的文件 "c:\windows\inf\intl.inf" 将得到安装(策略=忽略)。 错误 1168: 找不到元素。
[2009/05/29 17:36:09 648.12]
#-199 执行 "C:\WINDOWS\system32\RUNDLL32.exe",用命令行: RUNDLL32 shell32,Control_RunDLL intl.cpl,,/f:"C:\WINDOWS\system32\$winnt$.inf" /s:"E:\I386"
#W334 扫描文件队列时未能确认编录。 错误 1168: 找不到元素。
#E361 一个未经过签署或签署不正确的文件 "c:\windows\inf\intl.inf" 将得到安装(策略=忽略)。 错误 1168: 找不到元素。
#-336 正在通过临时文件 "C:\WINDOWS\fonts\SET114.tmp" 将文件 "E:\i386\lang\msgothic.tt_" 复制到 "C:\WINDOWS\fonts\msgothic.ttc"。
#E361 一个未经过签署或签署不正确的文件 "E:\i386\lang\msgothic.tt_" 将得到安装(策略=忽略)。 错误 1168: 找不到元素。
#-336 正在通过临时文件 "C:\WINDOWS\fonts\SET134.tmp" 将文件 "E:\i386\lang\gulim.tt_" 复制到 "C:\WINDOWS\fonts\gulim.ttc"。
#E361 一个未经过签署或签署不正确的文件 "E:\i386\lang\gulim.tt_" 将得到安装(策略=忽略)。 错误 1168: 找不到元素。
#-336 正在通过临时文件 "C:\WINDOWS\system32\SET144.tmp" 将文件 "E:\i386\WINGB.IM_" 复制到 "C:\WINDOWS\system32\WINGB.IME"。
#E361 一个未经过签署或签署不正确的文件 "E:\i386\WINGB.IM_" 将得到安装(策略=忽略)。 错误 1168: 找不到元素。
#-336 正在通过临时文件 "C:\WINDOWS\fonts\SET168.tmp" 将文件 "E:\i386\lang\mingliu.tt_" 复制到 "C:\WINDOWS\fonts\mingliu.ttc"。
#E361 一个未经过签署或签署不正确的文件 "E:\i386\lang\mingliu.tt_" 将得到安装(策略=忽略)。 错误 1168: 找不到元素。
[2009/05/29 17:36:19 648.23]
#-199 执行 "C:\WINDOWS\system32\RUNDLL32.exe",用命令行: RUNDLL32 shell32,Control_RunDLL intl.cpl,,/f:"C:\WINDOWS\system32\$winnt$.inf" /s:"E:\I386"
#W334 扫描文件队列时未能确认编录。 错误 1168: 找不到元素。
#E361 一个未经过签署或签署不正确的文件 "c:\windows\inf\font.inf" 将得到安装(策略=忽略)。 错误 1168: 找不到元素。






望版主不嫌我等小菜麻烦,能指点一下吗,可以下载我顶楼附件中的log文件,看看具体错误字段。
上面log文件操作仅为随意集成了一个nv驱动而已,只是为了给nlite操作一下而已。如版主所说,nlite, DPS等都喜欢留下自己的XXX到此一游,那我们把此脚印清了以后,有没有效果呢?
回复

使用道具 举报

12#
发表于 2009-6-10 07:46:51 | 只看该作者
它改了很多inf文件,字体是采用font.inf来安装的,所以也会出错。
回复

使用道具 举报

13#
发表于 2009-6-10 20:39:17 | 只看该作者
我觉得楼主要解决这个问题, 可以从另外一个角度去分析,比如你可以通过修改xp光盘上的txtsetup.sif, dosnet.inf来增加驱动,跳过nlite, 在对比分析一下就知道了, 至于怎么修改txtsetup.sif网上文章也很多,PE就是这么改的。   massstoragedriver分txtmode和guimode两种加载方式,单修改txtsetup.sif属于txtmode, 我试过几次,可以安装,完成后还要在设备管理器里面更新一下驱动,应该有很多论坛都有深入讨论这个问题的。  

通过修改txtsetup.sif应该是可以同时支持不同种类的massstoragedriver, 但实际上加了以后兼容性就差很多, 很容易出问题, 还是换用微软推荐的方式比较好。
回复

使用道具 举报

14#
 楼主| 发表于 2009-6-11 01:03:44 | 只看该作者
谢谢楼上的回复。我想,你还是没有看懂我想表达什么。

我说的是,无论用nlite对源安装文件操作过什么,哪怕是随意精减一个系统组件,或者集成一个小驱动,要么就是随意修改一下优化设置,总之不管你用nlite操作过这些源文件的什么东西,最后用这些源文件制作成ISO安装起来的系统,就会有这样的问题。而不是说,只有集成驱动才有这样的问题哎。


今天又试了一下,用nlite随意加了一个txt模式的驱动,然后精减了一个 ”华生医生“的系统组件,然后制作无人值守,做完这些以后,立刻使用搜索,把包含nlite字符的文件都搜索出来,全部去掉nlite留下的脚印,最后生成ISO,虚拟机安装系统,安装完成直接进windows目录查看setupapi.log,发现还是会出错。

#W334 扫描文件队列时未能确认编录。 错误 1168: 找不到元素。


问题应该是出在这些cat编录上吧?对这个东西不懂,先狗狗再说吧。希望有高手能给出解决办法。
回复

使用道具 举报

15#
发表于 2009-6-11 13:26:16 | 只看该作者
呵呵, 可能是不明白你想解决什么问题,假设nlite处理过的xp可能修改了几十个文件,当然这几十个文件无法通过签名验证, 你把相应的文件copy回去就可以了啊,只保留raid驱动相关的。

“把包含nlite字符的文件都搜索出来,全部去掉nlite留下的脚印”,楼主想的太简单了, 数字签名就是不能更改,多一个空格或者回车什么的都不一样。

[ 本帖最后由 jamesdai2002 于 2009-6-11 13:30 编辑 ]
回复

使用道具 举报

16#
发表于 2009-6-11 14:06:33 | 只看该作者
“把相应的文件copy回去”
用原始安装盘里的相应文件覆盖说不定可以。但问题是,相应文件指哪些文件?难道仅仅只是“包含nlite字符的文件”?
回复

使用道具 举报

17#
 楼主| 发表于 2009-6-11 17:03:10 | 只看该作者
有没有什么解决办法吗?期待牛人的出现。
回复

使用道具 举报

18#
发表于 2009-6-11 17:50:52 | 只看该作者
原帖由 leonliao78 于 2009-6-11 14:06 发表
“把相应的文件copy回去”
用原始安装盘里的相应文件覆盖说不定可以。但问题是,相应文件指哪些文件?难道仅仅只是“包含nlite字符的文件”?


这个用工具compare一下不就知道了,多花点时间自己研究一下就可以了。
回复

使用道具 举报

19#
 楼主| 发表于 2009-6-11 18:28:28 | 只看该作者
又重新看了看nlite,发现到这个选项,应该是跟这个有关系吧?




但是默认就没勾上的啊,难道是不管勾没勾,都是自动选择了这个选项?
回复

使用道具 举报

20#
发表于 2009-9-7 15:43:25 | 只看该作者
只要是nlite修改过的系统iso驱动的whql签名都会丢失,很不好用,我已经向nlite反映过镇魂歌问题了!后来的版本还是解决!
回复

使用道具 举报

21#
发表于 2010-12-23 13:10:28 | 只看该作者
同样发现了这个问题。。。哎呀实在是懒得折腾。。
用BC对比文件再拷贝回去。。等有空尝试一下
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-8-3 22:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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