无忧启动论坛

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

[分享技术]用 PECMD.EXE 固定U盘的盘符[同原理两方案]

  [复制链接]
跳转到指定楼层
1#
发表于 2008-9-28 14:53:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  WinPE 启动后,在不同的机器里U盘的盘符是不同的,有不少人提出需要固定U盘的盘符,本人经试验用 PECMD.EXE 成功固定U盘的盘符,两方案采用的原理都是一样的,前提是 WinPE 启动后能识别你的U盘,如果 WinPE 启动后无法识别你的U盘(即没有U盘盘符),可以在 INI 文件中用 SHOW 命令给U盘分配盘符,方法说明如下。

方案一:

1、在U盘的某个位置上放置一个 INI 文件,本人图方便,这个 INI 文件名为 "ChangeUSB.INI",
  放在U盘的根目录,INI 文件只需两行(红色为注释)
SUBJ %CurDrv%        `删除原有的U盘的盘符
SHOW R:1,U           `给U盘新分配盘符为U:

2、在 WinPE 的内核配置文件中加一行 LOAD 命令,这行 LOAD 命令建议放在修正USB驱动之后,
  通过 LOAD 命令的前导符"\"自动加载U盘中的 "ChangeUSB.INI" 文件

3、图解说明,第一幅图没有固定U盘的情况,本人的机器里 WinPE 将U盘分配为 I:;
  第二幅图为成功固定U盘盘符的结果和相关文件的内容。

4、本方法适用于 WinPE 启动后能识别U盘的情况,如果 WinPE 启动后不能识别你的U盘,
  可以用 PECMD.EXE 的 SHOW 命令给U盘分配盘符。总之适性较强,配置也不难,
  无需修改注册表(修改注册表的方法可能通用性差),不足之处是U盘要放置一个 INI 文件,
  如果你的U盘已有 INI 文件,可以把这两行合并到已有的 INI 文件中。






方案二:

利用 INIT 命令的U参数。
1、给 WinPE 的内核配置文件 PECMD.INI 的 INIT 命令加上 U 参数;

2、在执行 INIT 命令后的适当位置加入以下两行代码(红色为注释)
TEAM SUBJ %USB%|SHOW R:1,U       `删除原有U盘的盘符,并重新分配盘符为U:
TEAM ENVI $USB=U:|ENVI $USB1=U:  `重新设置与U盘盘符相关的两个环境变量


3、[方案二]的原理与[方案一]是一致的,优点是不用在U盘上放置 INI 文件,得到的结果也与[方案一]相同。





[ 本帖最后由 lxl1638 于 2008-9-29 11:32 编辑 ]
63#
发表于 2008-11-28 22:07:52 | 只看该作者
期望能够集成到winPe中自动执行
我太菜了
回复

使用道具 举报

62#
发表于 2008-11-23 22:30:38 | 只看该作者
问题量产过的U盘多区呢?多U盘呢??分配一个U怎能行??
回复

使用道具 举报

61#
发表于 2008-11-22 11:31:57 | 只看该作者

回复 #1 lxl1638 的帖子

不知固定光驱盘符该怎么做?
回复

使用道具 举报

60#
发表于 2008-11-17 19:20:10 | 只看该作者
用过wxb的固定盘符方法,很不错。老九的接下来仔细研究下
回复

使用道具 举报

59#
发表于 2008-11-17 19:02:09 | 只看该作者
看的不是很明白 记号下 慢慢研究
回复

使用道具 举报

58#
发表于 2008-10-6 13:17:25 | 只看该作者
高手出招就是不一样!!!!!!
回复

使用道具 举报

57#
发表于 2008-10-4 20:40:26 | 只看该作者
学习了。。。谢谢楼主。。
回复

使用道具 举报

56#
发表于 2008-10-4 20:27:58 | 只看该作者
原帖由 Allreal 于 2008-10-4 17:44 发表


一量产就完了,白费力。。。
WXB的方法,我用几个U盘联群芯片,
试了N次不成功,一量产就完了。。。。(不量产成CDROM可以)
如果仅仅要固定盘符,大元帅的方法比较好。
却不能有效缩短启动时间。。。


思路很重要,动手前要想一想,不要盲目
我在我的帖子里其实已经说过原理了
我的方法归根结底是把设备范例ID和盘符对应起来了,你一量产设备范例ID变了当然是白费力

如果想固定量产后的CDROM的盘符,我估计得量产两次
先量产一次,再用我的工具做固定盘符
再把固定盘符的文件重新量产回去
两次量产同样的ISO(只多一个固定盘符,几乎一样),设备范例ID应该不变
回复

使用道具 举报

55#
发表于 2008-10-4 17:44:52 | 只看该作者
原帖由 CWD 于 2008-9-28 19:15 发表
只要U盘的“VID码”“PID码”一样(一般同样主控的都一样),那么就是通用的。。。所以有这么一个想法:收集大部分主流U控的注册表信息,编辑一个命令识别U控型号来装入对应的U控注册表信息。。。


一量产就完了,白费力。。。
WXB的方法,我用几个U盘联群芯片,
试了N次不成功,一量产就完了。。。。(不量产成CDROM可以)
如果仅仅要固定盘符,大元帅的方法比较好。
却不能有效缩短启动时间。。。
回复

使用道具 举报

54#
发表于 2008-10-4 15:22:53 | 只看该作者
TEAM PATH %SystemDrive%\TEMP|INIT I|INIT U|
这个写法对不对呢?
回复

使用道具 举报

53#
发表于 2008-10-4 15:19:50 | 只看该作者
我的pecmd是最新版的。
我用虚拟机测试的,pe采用的是nanope结构。
回复

使用道具 举报

52#
 楼主| 发表于 2008-10-4 15:18:48 | 只看该作者
原帖由 my366 于 2008-10-4 15:10 发表
U的难度比较高啊,现手头上的U芯片型号:

128M
USB Mass Storage Device(Generic USB Flash Drive USB Device)
PNP设备ID: VID = 1043 PID = 8006
设备序列号: 200505251566
  设备版本: %Z!Y
  设备类 ...


本人的方法与U盘无关。
回复

使用道具 举报

51#
 楼主| 发表于 2008-10-4 15:18:21 | 只看该作者
原帖由 yidawpf 于 2008-10-4 13:51 发表
TEAM ENVI W=%WinDir%|ENVI WS=%W%\SYSTEM32|ENVI WSD=%WS%\Drivers
TEAM FILE %W%\TXTSETUP.SI*|FILE %WS%\NTOSKRNL.EX*|FILE %WS%\WIN32K.SYS|PATH #%WS%\CONFIG|FILE %WS%\*.*_|FILE %WSD%\*.SY_
TEAM PAT ...


1、你的PECMD是什么版本?
2、是不是用U盘启动?U盘是不是有多个分区?
3、将后面两行红色的移到启动组试试?
回复

使用道具 举报

50#
发表于 2008-10-4 15:10:33 | 只看该作者
U的难度比较高啊,现手头上的U芯片型号:

128M
USB Mass Storage Device(Generic USB Flash Drive USB Device)
PNP设备ID: VID = 1043 PID = 8006
设备序列号: 200505251566
  设备版本: %Z!Y
  设备类型: 标准USB设备 - USB2.0全速 (USB1.1)
芯片制造商: iCreate(我想)
  芯片型号: i5062-ZD
产品制造商: Generic
  产品型号: USB Flash Drive

1G
USB Mass Storage Device(Kingston DataTraveler 2.0 USB Device)
PNP设备ID: VID = 13FE PID = 1F00
设备序列号: 5B8307000444
  设备版本: PMAP
  设备类型: 标准USB设备 - USB2.0高速
芯片制造商: phison(群联)
  芯片型号: UP10/UP12
产品制造商: Kingston
  产品型号: DataTraveler 2.0

2G
USB Mass Storage Device(Kingston DataTravelerMini USB Device)
PNP设备ID: VID = 0951 PID = 1605
设备序列号: 138200712151015065B465C5
  设备版本: 1.00
  设备类型: 标准USB设备 - USB2.0高速
芯片制造商: skymedi(擎泰)
  芯片型号: SK6281AB/PS2232(版本号PMAP)
产品制造商: Kingston(金士顿)
  产品型号: DataTravelerMini
回复

使用道具 举报

49#
发表于 2008-10-4 13:51:32 | 只看该作者
TEAM ENVI W=%WinDir%|ENVI WS=%W%\SYSTEM32|ENVI WSD=%WS%\Drivers
TEAM FILE %W%\TXTSETUP.SI*|FILE %WS%\NTOSKRNL.EX*|FILE %WS%\WIN32K.SYS|PATH #%WS%\CONFIG|FILE %WS%\*.*_|FILE %WSD%\*.SY_
TEAM PATH %SystemDrive%\TEMP|INIT I|INIT U|EXEC @PECMD.EXE CALL $SHELL32.DLL,DllInstall,#1,U
HOTK #112,PECMD.EXE `注册热键:F1 帮助
TEAM SUBJ %USB%|SHOW R:1,U       `删除原有U盘的盘符,并重新分配盘符为U:
TEAM ENVI $USB=U:|ENVI $USB1=U:  `重新设置与U盘盘符相关的两个环境变量


我是这样修改pecmd.ini文件的,没有成功。
高手能够指教下吗?
回复

使用道具 举报

48#
发表于 2008-9-30 10:55:11 | 只看该作者
原帖由 星星雨 于 2008-9-29 17:46 发表
从本人用的效果来看,感觉wxb 的方法好些! lxl1638 的原理很清晰!改起更方便!

支持wxb,虽然麻烦点,但效果挺好的,我只有一个U盘,也不存在通用性了
lxl1638的适合为别人做
回复

使用道具 举报

47#
发表于 2008-9-30 10:41:03 | 只看该作者
边看边学吧,对的精彩,我是用wxb的
回复

使用道具 举报

46#
发表于 2008-9-29 17:46:20 | 只看该作者
从本人用的效果来看,感觉wxb 的方法好些! lxl1638 的原理很清晰!改起更方便!
回复

使用道具 举报

45#
发表于 2008-9-29 11:34:02 | 只看该作者
好方法,测试测试看!
回复

使用道具 举报

44#
发表于 2008-9-29 10:03:34 | 只看该作者
好方法,感谢分享~~
回复

使用道具 举报

43#
发表于 2008-9-28 22:02:37 | 只看该作者
高手就是高,用更好的方法解决了U盘盘符的大问题!!!
回复

使用道具 举报

42#
发表于 2008-9-28 21:39:20 | 只看该作者
很难兼顾所有。老九的方法不错,盘符是否连贯其实也没什么……
回复

使用道具 举报

41#
发表于 2008-9-28 20:49:40 | 只看该作者
个人用用好用就行了,快速是王道,至于通用性方面偶就不来研究了。
速度是相对的:对更新PE的人来说方便设置就是速度快;对用户来说开机速度快就是好的。看处在哪个位置了。

[ 本帖最后由 gl2525 于 2008-9-28 20:59 编辑 ]
回复

使用道具 举报

40#
发表于 2008-9-28 20:49:22 | 只看该作者
牛奶味精大积压,加2点精。
回复

使用道具 举报

39#
发表于 2008-9-28 20:40:53 | 只看该作者
老大说的再理,,其实仅仅是批处理的话是很简单的,,但是难就难在内核要压缩的,,加之很多内核的目录不同,虽然每个作者都可以根据自己的目录情况进行修改,,但是要解压然后压缩就难了。
回复

使用道具 举报

38#
 楼主| 发表于 2008-9-28 20:23:51 | 只看该作者
原帖由 wxb 于 2008-9-28 19:30 发表

我觉得像你这样水平的完全有能力
把我那个方法吸收进U盘安装程序
也就是在U盘安装阶段用我那个思路把注册表变一下


难了,解压IS_或IM_ ==> 挂上IMG或解压ISO ==> 导出硬盘系统注册表的数据(之前要插入U盘) ==> 载入PE系统的HIV ==> 导入注册表数据 ==> 卸载PE系统的HIV ==> 替换PE系统的HIV ==> 卸载IMG或重新生成ISO ==>压缩ISO或IMG,到这里才能执行安装PE的命令。

[ 本帖最后由 lxl1638 于 2008-9-28 20:25 编辑 ]
回复

使用道具 举报

37#
发表于 2008-9-28 19:30:29 | 只看该作者
原帖由 lxl1638 于 2008-9-28 19:27 发表


问题是要修改setupreg.hiv(setupreg.hi_)才有效,修改这个对很多人来说不容易。

在PE启动过程中用命令来识别U控型号可能行不通了,因为启动"识别U控型号的命令"前,系统的注册表信息已经生成,U盘的盘符 ...


我觉得像你这样水平的完全有能力
把我那个方法吸收进U盘安装程序
也就是在U盘安装阶段用我那个思路把注册表变一下
回复

使用道具 举报

36#
发表于 2008-9-28 19:27:16 | 只看该作者
原帖由 CWD 于 2008-9-28 19:15 发表
只要U盘的“VID码”“PID码”一样(一般同样主控的都一样),那么就是通用的。。。所以有这么一个想法:收集大部分主流U控的注册表信息,编辑一个命令识别U控型号来装入对应的U控注册表信息。。。


不用收集
给U盘安装的时候可以读取U盘的这个信息
只是这些工作手动起来其实简单
但是要写进安装程序还挺复杂的
回复

使用道具 举报

35#
 楼主| 发表于 2008-9-28 19:27:13 | 只看该作者
原帖由 CWD 于 2008-9-28 19:15 发表
只要U盘的“VID码”“PID码”一样(一般同样主控的都一样),那么就是通用的。。。所以有这么一个想法:收集大部分主流U控的注册表信息,编辑一个命令识别U控型号来装入对应的U控注册表信息。。。


问题是要修改setupreg.hiv(setupreg.hi_)才有效,修改这个对很多人来说不容易。

在PE启动过程中用命令来识别U控型号可能行不通了,因为启动"识别U控型号的命令"前,系统的注册表信息已经生成,U盘的盘符已分配好了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-28 19:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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