无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: mdyblog
打印 上一主题 下一主题

[更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...

    [复制链接]
631#
发表于 2021-5-29 10:11:51 | 显示全部楼层
mdyblog 发表于 2021-5-29 09:13
你把  H3CDALL.ISO\H3PE\ADD_DRV\NT6\Display\AMD64\AMD64\DRV_VGA.WIM
的 json 和 PECMD-cache一起发过来 ...

AMD64.7z (1.45 MB, 下载次数: 0)
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D2 这个是这个工具的介绍,是一个开源项目

点评

看了下, 具体到这里, json没有任何优势, 其优势 这里用不上。 反倒限制多。 至于大小, 不是格式的原因。 而是提取的 不纯。 好多 垃圾。 可手动清理(普通多行文本文件)。  详情 回复 发表于 2021-5-29 12:25
回复

使用道具 举报

632#
发表于 2021-5-29 15:16:14 | 显示全部楼层
mdyblog 发表于 2021-5-29 12:25
看了下,  具体到这里, json没有任何优势, 其优势 这里用不上。 反倒限制多。
至于大小, 不是格式的 ...

哦清楚了。
1、如果把这个放内部,直接7z压缩,增加的体积可以怱略不计
2、放外部也可7z压缩一下,用的时候先用代码把它解压出来用?
回复

使用道具 举报

633#
发表于 2021-5-29 16:02:45 | 显示全部楼层
本帖最后由 hhh333 于 2021-5-29 16:04 编辑

刚才又测试一下速度,64位PE,安装显卡直到刷新桌面,索引外置计时是15秒多,索引内置是11秒多,索引文件大致是1.3M多。外置的少一次解压过程为什么还要多4秒时间?把我自己也吓一跳。其实,还是好理解,应该是因为内置的索引文件解压到%TEMP%,而这个是X:盘,即是内存中,在内存中查找ID比硬盘(我的机械硬盘)快得多。因此可以有如下结论:
1、解压索引文件几乎不花什么时间,因为索引文件压缩后很小;
2、索引文件在内存盘中比在硬盘中进行文本查找时快得多
3、如果能够精减一下索引文件,采用更加紧凑或者更加科学数据结构,应该更有利于查找定位。

不知以上分析是不是对

点评

应该很到位。  详情 回复 发表于 2021-5-29 17:19
回复

使用道具 举报

634#
发表于 2021-5-31 09:48:11 | 显示全部楼层
本帖最后由 hhh333 于 2021-5-31 11:27 编辑

M大,我把打印机驱动做了索引,打包在7z包中,安装时卡死,不知为何?
而不做索引完全解开的形式安装没问题

看了下TEMP中的文件,目录结构是有,但里面的是空的

点评

这个没有打印机能在VM中测试吗?  详情 回复 发表于 2021-5-31 17:19
回复

使用道具 举报

635#
发表于 2021-5-31 11:41:26 | 显示全部楼层
驱动的包中的目录结构是这样的:
  1. 卷 软件 的文件夹 PATH 列表
  2. 卷序列号为 00000002 000D:729D
  3. G:\MYPE\OP\DR8164\PRINT\DRV_PRT
  4. └─System32
  5.     ├─CatRoot
  6.     └─DriverStore
  7.         └─FileRepository
  8.             ├─prnbrcl1.inf_amd64_f677f4a7b44412eb
  9.             │  └─amd64
  10.             ├─prncacl1.inf_amd64_fe6ab4bfc0d78cd5
  11.             ├─prncacl2.inf_amd64_f23666aacaa6943f
  12.             ├─prncacla.inf_amd64_95d0460bc8b6fae8
  13.             │  └─Amd64
  14.             ├─prndlcl1.inf_amd64_f5611618bf8581ba
  15.             │  └─amd64
  16.             ├─prndlclf.inf_amd64_49dba4044063deba
  17.             │  └─amd64
  18.             ├─prndlclv.inf_amd64_04024cddabbea781
  19.             ├─prndlclw.inf_amd64_048281d420e6406e
  20.             ├─prnekcl2.inf_amd64_59438dc7ce792b20
  21.             │  └─amd64
  22.             ├─prnepcl2.inf_amd64_2f70ba339b076baa
  23.             │  └─amd64
  24.             ├─prnfxcl2.inf_amd64_4c6c390b43835886
  25.             │  └─amd64
  26.             ├─prnge001.inf_amd64_a60bcbad55e612b2
  27.             │  └─Amd64
  28.             ├─prngeclv.inf_amd64_b8127698165a43f0
  29.             ├─prnhpcl1.inf_amd64_fb2430bef4ae7a88
  30.             │  └─amd64
  31.             ├─prnhpcl2.inf_amd64_bcb1297420e7a04b
  32.             │  └─amd64
  33.             ├─prnhpcl3.inf_amd64_fe1e73aef988a558
  34.             │  └─amd64
  35.             ├─prnhpcl4.inf_amd64_f44d52715b963d0a
  36.             │  └─amd64
  37.             ├─prnhpcl5.inf_amd64_f7c7f908dc19bcc0
  38.             │  └─amd64
  39.             ├─prnhpnul.inf_amd64_9058fe07a6372dcc
  40.             ├─prnkmcl2.inf_amd64_6c5f4c6657e3fe71
  41.             ├─prnkmcl4.inf_amd64_ddfab75909d8e47e
  42.             ├─prnkycl1.inf_amd64_124516a8dca5f98e
  43.             │  └─amd64
  44.             ├─prnlxclv.inf_amd64_c29830f978cd4b85
  45.             ├─prnlxclw.inf_amd64_dec60fa4d4a51d1a
  46.             ├─prnms001.inf_amd64_4fa1863520b2418e
  47.             ├─prnms002.inf_amd64_77839a7cc2b8a037
  48.             │  └─Amd64
  49.             ├─prnms003.inf_amd64_02291d7288731918
  50.             │  └─Amd64
  51.             ├─prnms003.inf_x86_44d40e16732ce8ee
  52.             │  └─I386
  53.             ├─prnms004.inf_amd64_cb79262d2f57130d
  54.             │  └─Amd64
  55.             ├─prnms005.inf_amd64_2a40c5f594dc2ce8
  56.             │  └─Amd64
  57.             ├─prnnecl2.inf_amd64_b7eaae651c43bcd7
  58.             │  └─amd64
  59.             ├─prnokcl1.inf_amd64_ab364963b4db0be3
  60.             │  └─amd64
  61.             ├─prnokcl2.inf_amd64_aabca8d99bfdd765
  62.             ├─prnrccl1.inf_amd64_950cb7eedc8563b8
  63.             ├─prnsacl1.inf_amd64_a49cfcedb545c462
  64.             │  └─amd64
  65.             ├─prntscl2.inf_amd64_912a503f824d1a50
  66.             ├─prntscl3.inf_amd64_f52c5a0c16bfe615
  67.             ├─prnxxcl3.inf_amd64_ad754b8eaeb68509
  68.             │  └─amd64
  69.             └─prnxxcl4.inf_amd64_4febf3948f82dbdf
  70.                 └─amd64
复制代码


回复

使用道具 举报

636#
发表于 2021-5-31 18:59:44 | 显示全部楼层
mdyblog 发表于 2021-5-31 17:19
这个没有打印机能在VM中测试吗?
有没有不同目录之间引用?

这是我的打印机驱动包,麻烦看一下,里面有cache文件:18M,链接:https://pan.baidu.com/s/1zVjysobwbWSifXmiBrZIrA
提取码:djay

点评

这是驱动安装包吗? 怎么目录为 System32\DriverStore\FileRepository\  详情 回复 发表于 2021-5-31 21:20
我给你补充一下: ID: USBPRINT\Hewlett-PackardHP_LaB8D7 Hewlett-PackardHP_LaB8D7 INF: \System32\DriverStore\FileRepository\prnhpcl1.inf_amd64_fb2430bef4ae7a88\prnhpcl1.inf cache  详情 回复 发表于 2021-5-31 19:36
回复

使用道具 举报

637#
发表于 2021-5-31 19:45:09 | 显示全部楼层
527104427 发表于 2021-5-31 19:36
我给你补充一下:
ID:     USBPRINT\Hewlett-PackardHP_LaB8D7
          Hewlett-PackardHP_LaB8D7

那简单,我明天把其他驱动都删了,看只有一个驱动安装如何。但我估计结果还是一样的,因为安装成功后硬件ID就是这一个。

点评

你得把INF里的 Hewlett-PackardHP_LaB8D7 改成 USBPRINT\Hewlett-PackardHP_LaB8D7 然后再生成cache, 这样才能得出结论。  详情 回复 发表于 2021-5-31 19:56
回复

使用道具 举报

638#
发表于 2021-5-31 20:09:47 | 显示全部楼层
527104427 发表于 2021-5-31 19:56
你得把INF里的
Hewlett-PackardHP_LaB8D7
改成

为什么要这么改,不太明白,我把其他驱动删了,看有cache和没有cache结果是不是一样就行了。

点评

我的结论是,PECMD现在只匹配硬件ID的第一行。我以为你是想验证这个结论。  详情 回复 发表于 2021-5-31 20:19
回复

使用道具 举报

639#
发表于 2021-5-31 22:31:10 | 显示全部楼层
红毛樱木 发表于 2021-5-31 21:49
应该是系统自带的驱动包抠出来的

确实,先是准备复制到系统中的,本来是win8.1系统自带的,现在提供给win10用,也没改了。
回复

使用道具 举报

640#
发表于 2021-6-1 06:44:40 | 显示全部楼层
m大辛苦了,回头到办公室才能测试
回复

使用道具 举报

641#
发表于 2021-6-1 11:42:37 | 显示全部楼层
本帖最后由 hhh333 于 2021-6-1 11:46 编辑

可能是代码本身的问题,
  1. _SUB InsDrv7z
  2. `FORX %1\*.7Z,fzip,1,
  3. ENVI fzip=%1
  4. IFEX %fzip%,
  5. {
  6.         NAME &fname=%fzip%
  7.         FDIR &fPath=%fzip%
  8.         ENVI &idx=%&fPath%\%&fname%.%&TAG%
  9.         IFEX %&idx%,SET &_cache=*infcache:"%&idx%"!
  10.         {
  11.                 SET &_cache=
  12.                 PATH %temp%\%&fname%
  13.                 EXEC =!7z.exe x -o"%temp%\%&fname%" -aos -y %fzip% %&TAG%
  14.                 IFEX %temp%\%&fname%\%&TAG%,SET &_cache=*infcache:"%temp%\%&fname%\%&TAG%"!FILE -force -q %temp%\%&fname%
  15.                 mess "%&_cache%"
  16.          }
  17.         mess "%&_cache%"
  18.         FIND $%&_cache%=,
  19.         {
  20.                 ENVI &idx=
  21.                 `EXEC =Drvindex.exe -b %fzip% -hide
  22.                 `EXEC =!DriverIndexer.exe load-driver %fzip% %&idx%
  23.                 EXEC =!7z.exe x %fzip% -o"%temp%\%&fname%"
  24.                 CALL DeviInf %temp%\%&fname%
  25.                 FILE -force -q %temp%\%&fname%
  26.         }!
  27.         {
  28.                 DEVI *norescan *sub %&_cache% %fzip%,%&CLASS%
  29.                 `EXEC =!DriverIndexer.exe load-driver %fzip% %&idx%
  30.         }
  31. }
  32. _END
复制代码

人都快疯了,第一个mess显示%&_cache%是正确的,第二个怎么变成空的了,这个我确实看不出错误

回复

使用道具 举报

642#
发表于 2021-6-1 15:45:28 | 显示全部楼层
527104427 发表于 2021-6-1 11:54
要往外传变量,{ 后面一般都要个星号,否则就被自动销毁了。

_SUB InsDrv7z

确实如此,加*后代码没有问题了,感谢各位大佬的热心回复,打印机不能安装的问题已经解决。
1、显卡包中内置索引已经很快了,10秒内安装成功
2、打印包中内置索引(无论是我利用PECMD做的,还是后面M发的),压缩包为18M大小,原大小为106M,以为会加快,然而很不理想,录得的时间是28秒,而不做索引,录得的时间是23秒,至今还没想明白;回头把目录结构改一下看怎么样

##刚才试了,把目录结构改简单,只要24秒多,比不建索引慢1秒,这样看来,100M左右的驱动建索引没什么优势,另外目录结构简单的索引有利于快速查找。

回复

使用道具 举报

643#
发表于 2021-6-1 17:59:05 | 显示全部楼层
527104427 发表于 2021-6-1 16:28
时间长的问题估计跟我之前的猜想一致。
就是第一行硬件id匹配不到,得匹配第二行,甚至更多,花的时间就 ...

算法问题?
回复

使用道具 举报

644#
发表于 2021-6-1 20:02:15 | 显示全部楼层
mdyblog 发表于 2021-6-1 18:23
这个版本0601, 7z可以不要索引,也是按需解压。
https://wwi.lanzoui.com/ijsGWpomi7g

那赶快测试
回复

使用道具 举报

645#
发表于 2021-6-1 20:24:21 | 显示全部楼层
可以直接安装7z包,但安装成功到桌面刷新等待较长,整个安装过程录得的时间31秒,而有索引才10秒
回复

使用道具 举报

646#
发表于 2021-6-1 21:42:59 | 显示全部楼层
mdyblog 发表于 2021-6-1 20:37
打开LOGS 看看 卡在哪儿?
LOGS  --lock: 123   --t=1  --2    X:\PECMD.LOG
然后把这个 LOG 打包传上 ...


PECMD.7z (2.47 KB, 下载次数: 4) 这LOG,32位的
setupapi.dev.log.7z (5.84 KB, 下载次数: 2) 这是inf下的
回复

使用道具 举报

647#
发表于 2021-6-1 22:13:34 | 显示全部楼层
这是解压索引的: PECMD0601logUseCache.7z (7.24 KB, 下载次数: 2)
回复

使用道具 举报

648#
发表于 2021-6-2 07:37:29 | 显示全部楼层
mdyblog 发表于 2021-6-1 22:25
2828        108.608074400000        41        {DEVI *norescan *sub *infcache:"X:%users\Default\App ...

同一PE,硬盘启动,同一个包,都相同的,重启以后测试,黑屏装驱动时间差不多,大致10秒,但就是分辨率变了后不刷新桌面保持半屏状态10多秒钟
回复

使用道具 举报

649#
发表于 2021-6-2 15:34:40 | 显示全部楼层
本帖最后由 hhh333 于 2021-6-2 15:45 编辑

就是到这个位置,相当于已经装好了,只刷新一下屏幕就可以了,然后就是不往下走,要等十多20秒,计时器停在10秒位置(实际上PECMD的时钟控件也没关,等待刷新的时间也不跳数,呈卡死状态 ,但可以用鼠标去刷新)即大致10秒就开始黑屏安装,两种方式黑屏的时间差不多,与实际记录的一致。

回复

使用道具 举报

650#
发表于 2021-6-3 06:49:19 | 显示全部楼层
红毛樱木 发表于 2021-6-3 02:01
讨论讨论着,你这是准备插播手机广告吗?

这思维节凑跟不上
回复

使用道具 举报

651#
发表于 2021-6-3 07:14:49 | 显示全部楼层
mdyblog 发表于 2021-6-3 01:15
加一个 开关 *num:1 就快了。
只成功安装1个。 后面就不搜了。

新的反而不能安装了
回复

使用道具 举报

652#
发表于 2021-6-3 17:06:42 | 显示全部楼层
pecmd.7z (2.87 KB, 下载次数: 2)
回复

使用道具 举报

653#
发表于 2021-6-4 08:17:28 | 显示全部楼层
mdyblog 发表于 2021-6-4 07:00
试试这个版本: PECMD0603.7z

*num:1 LOGS:

意思是要不要num:1影响不大?
回复

使用道具 举报

654#
发表于 2021-6-4 08:33:17 | 显示全部楼层
mdyblog 发表于 2021-6-4 07:35
PECMD0603.7z 支持  https://wwi.lanzoui.com/iKizBprmq1g

我刚好测试了6点多发布的那个,加NUM参数与不加几乎一样,只快0.2秒,比有索引的慢5秒的样子
回复

使用道具 举报

655#
发表于 2021-6-4 09:38:26 | 显示全部楼层
本帖最后由 hhh333 于 2021-6-4 10:52 编辑

32位的测试了一下:带索引与不带索引还是有较大差距,但屏幕停顿不刷新的情况得到改善。 Display.7z (5.59 KB, 下载次数: 2)
Lightning 的drvIndex.exe还是继续保持高效率,比带索引的耗时略多1秒钟

回复

使用道具 举报

656#
发表于 2021-6-4 12:46:39 | 显示全部楼层
mdyblog 发表于 2021-6-4 11:38
试试 PECMD0604.7z
7PE 效果:
928        77.880223646663        43        {DEVI *num:1 *norescan  ...

又提高了近8秒,与有索引相差3秒多 Display.7z (4.93 KB, 下载次数: 3)
回复

使用道具 举报

657#
发表于 2021-6-4 15:48:36 | 显示全部楼层
mdyblog 发表于 2021-6-4 13:52
与  drvIndex.exe 不带索引比呢?

drvIndex.exe 8.907秒:

对,目前最快是有索引的,没索引也大大提速了,没索引的主要是安装完后还有多余动作,因此还有优化空间。不过现在也比较好了,打印机也可安装,drindex不能装打印机。
回复

使用道具 举报

658#
发表于 2021-6-4 16:09:02 | 显示全部楼层
本帖最后由 hhh333 于 2021-6-4 16:14 编辑
红毛樱木 发表于 2021-6-4 15:50
安装打印机前,是不是打印机的设备管理器里的状态是正常?

我安装打印机的逻辑是
1、把系统自带的打印机驱动(prnge001、prnms002-014)恢复到系统中;
2、运行drvload.exe "%inf%\usbprint.inf"进行安装,一般系统有的驱动会安装好;
3、再检测HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E979-E325-11CE-BFC1-08002BE10318}\0000\DriverDesc的数据,如果有认为是已经安装了实体打印机;如果没有数据就用:DEVI win81的系统自带的打印机.7z,而刚好我办公室的M1005在win81中有自带所以可以驱动上,但如果这一步改用:drvindex就装不上。

drvindex大致认为系统已经安装了打印机因此就不装了。

回复

使用道具 举报

659#
发表于 2021-6-4 16:44:57 | 显示全部楼层
红毛樱木 发表于 2021-6-4 16:28
这个需要自己处理,不是drvindex应该干的事了。


安装之前是上面这样的,安装之后是这样的

还是有不同的。

前面的在软件设备中,但是有一个问号的。找到因为哪一个值它标志为问号,就可以安装的
回复

使用道具 举报

660#
发表于 2021-6-4 21:39:30 | 显示全部楼层
红毛樱木 发表于 2021-6-4 18:17
要看 常规  选项卡里的状态

确实是正常状态,好像
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-20 13:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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