无忧启动论坛

标题: Win7PE 技术 --- 注册表里发现很有用的数据! [打印本页]

作者: lxl1638    时间: 2010-3-2 14:16
标题: Win7PE 技术 --- 注册表里发现很有用的数据!
看了 onlyu2000 给本人的 PECMD.INI,发现基于 NT5.x 内核的 WinPE 的启动后注册表里记录了内核映像路径名,
可能是某些原因,本人的 WinPE 中无法从这些数据的确定内核映像位于磁盘的哪个分区。

随后启动 Win7PE,发现数据是而此惊人的完整!见图。
从这里可以确定 WinPE 是从什么介质启动的,确定你的 Win7PE 是部署到硬盘、U盘、光盘或移动硬盘!
从而也可确定外置程序的位置了,解决加载外置程序时可能加载到其它分区同名外置程序的问题,要应用这里的数据可能用到新版 PECMD 的 FORM 命令。

[ 本帖最后由 lxl1638 于 2010-3-2 14:28 编辑 ]

未命名.PNG (37.28 KB, 下载次数: 88)

未命名.PNG

作者: fyqingshan    时间: 2010-3-2 14:27
学习了,顶贴
这个和pecmd3.8有关系吗?
作者: netwinxp    时间: 2010-3-2 15:00
当然有用了,不用搜索就可以确定要加载的外置的位置。
作者: 网虫2008    时间: 2010-3-2 15:33
好消息呀,WIN7PE加载内核所在盘符的外置问题就解决喽!!

哎,03PE怎么就没有 PEBootRamdiskSourceDrive 这一项呀??

有什么方法让03pe的注册表也出现此项呢?

是精简过份了? 还是TXTSETUP.SI_里没有加入相关参数? 或是03PE根本就是做不到这点呢?

[ 本帖最后由 网虫2008 于 2010-3-2 15:39 编辑 ]

sshot-1.png (28.87 KB, 下载次数: 86)

sshot-1.png

作者: yulon    时间: 2010-3-2 17:22
原帖由 lxl1638 于 2010-3-2 14:16 发表
解决加载外置程序时可能加载到其它分区同名外置程序的问题 ...


的确是个好消息···

免得加载成硬盘上我准备封装在镜像里的外置···
作者: netwinxp    时间: 2010-3-2 19:23
那个是PE7自己生成的。
作者: fujianabc    时间: 2010-3-2 19:33
原帖由 netwinxp 于 2010-3-2 19:23 发表
那个是PE7自己生成的。

估计是winload.exe或者bootmgr生成的
作者: victor888    时间: 2010-3-2 20:27
WIN7PE启动不存在盘符错乱的问题。
作者: yjstone    时间: 2010-3-3 00:15
太好了,以前一直是用修改PECMD的INI文件名来实现加载指定启动驱动器或分区的外置程序的。
作者: yjstone    时间: 2010-3-3 00:39
原帖由 victor888 于 2010-3-2 20:27 发表
WIN7PE启动不存在盘符错乱的问题。

为了你这句话我还特地重新启动到Win7PE验证了一下,发现Win7PE也一样会盘符错乱的。我电脑的启动分区在硬盘的第一个分区,隐藏,bootmgr和BCD也放在这个隐藏分区,而Win7PE的启动镜像则放在第三个分区也就是正常系统的D盘(第一分区是隐含的在系统看不到所以没有盘符),BCD的device和osdevice路径修改成指向D盘的启动镜像路径,但从截图可看出原本应是C盘的第二分区在Win7PE下成了F盘,而第三个分区在成了C盘。


之后我将Win7PE的启动镜像放到启动的隐含分区,修改BCD的device和osdevice路径为boot,也就是从启动分区的boot目录下的镜像启动,结果还是一样。

PS:bootmgr是用放还在启动分区的grldr来启动的。

[ 本帖最后由 yjstone 于 2010-3-3 17:26 编辑 ]

sshot-1.jpg (68 KB, 下载次数: 81)

sshot-1.jpg

作者: fujianabc    时间: 2010-3-3 09:22
原帖由 yjstone 于 2010-3-3 00:39 发表

为了你这句话我还特地重新启动到Win7PE验证了一下,发现Win7PE也一样会盘符错乱的。我电脑的启动分区在硬盘的第一个分区,隐藏,bootmgr和BCD也放在这个隐藏分区,而Win7PE的启动镜像则放在第三个分区也就是正 ...

普通的pe 3.0当然不会自动调整盘符,因为都没指定要修复的目标系统,pe根据什么来调整盘符呢?普通的pe 3.0只会按默认方式分配盘符。

但是基于pe 3.0的erd 2009 (msdart 6.5)则能够与系统中盘符保持一致,在选定硬盘上的目标系统后。erd commander会提示winpe中盘符是否与系统盘符一致,之后wwinpe便会按照目标系统的mounteddevices来分配盘符。
作者: yulon    时间: 2010-3-3 16:57
原帖由 yjstone 于 2010-3-3 00:39 发表

为了你这句话我还特地重新启动到Win7PE验证了一下,发现Win7PE也一样会盘符错乱的。我电脑的启动分区在硬盘的第一个分区,隐藏,bootmgr和BCD也放在这个隐藏分区,而Win7PE的启动镜像则放在第三个分区也就是正 ...


这个不叫盘符错乱吧···只是第一分区被隐藏了···

如果第一分区成了D,第二分区成了C,那才叫错乱吧···
作者: yjstone    时间: 2010-3-3 17:21
原帖由 yulon 于 2010-3-3 16:57 发表


这个不叫盘符错乱吧···只是第一分区被隐藏了···

如果第一分区成了D,第二分区成了C,那才叫错乱吧···

你看清楚我那个截图了,第二分区成了F盘,第三分区成了C盘,这还不叫盘符错乱那要怎样才叫盘符错乱?
作者: yulon    时间: 2010-3-3 17:32
原帖由 yjstone 于 2010-3-3 17:21 发表

你看清楚我那个截图了,第二分区成了F盘,第三分区成了C盘,这还不叫盘符错乱那要怎样才叫盘符错乱?


抱歉···光看上边忘看下面了···
作者: 光辉岁月    时间: 2010-3-3 19:10
处处留心皆学问
作者: wxgwxg    时间: 2010-3-3 20:23
好像是从bcd中读取的吧!我记得在那里曾经看到过。
作者: tzxinqing    时间: 2010-3-3 20:42
老九现身啦!前来顶贴子,并学习下
作者: kinglion    时间: 2010-3-4 10:25
这些信息在启动前BCD内已经确定了,只是盘符是在启动后才得到确定的,应该用得上,期待老九升级PECMD。
作者: lxl1638    时间: 2010-3-5 11:31
原帖由 kinglion 于 2010-3-4 10:25 发表
这些信息在启动前BCD内已经确定了,只是盘符是在启动后才得到确定的,应该用得上,期待老九升级PECMD。


基本不用更新,因为 PECMD 已有读取注册表的命令 REGI,也有一系列操作字符串的命令(RPOS、RSTR、STRL、LPOS、LSTR、MSTR),当然这些命令使用起来要有一定水平。如果需要更新的话,可能是RAMD命令与ImDIsk驱动之间的通信代码。
作者: 网虫2008    时间: 2010-3-5 12:37
原帖由 lxl1638 于 2010-3-5 11:31 发表


基本不用更新,因为 PECMD 已有读取注册表的命令 REGI,也有一系列操作字符串的命令(RPOS、RSTR、STRL、LPOS、LSTR、MSTR),当然这些命令使用起来要有一定水平。如果需要更新的话,可能是RAMD命令与ImDIsk驱 ...


正好问一下,新版的PECMD.EXE是否支持IMDISK最新版。

以前看过帖子,说PECMD对新版本IMDISK兼容性不是太好,只是找不到这个帖子了。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3