正常系统中的硬盘排列.PNG (29.39 KB, 下载次数: 85)
下载附件
2011-2-17 18:16 上传
WinPE系统中的硬盘排列.PNG (9.9 KB, 下载次数: 82)
使用道具 举报
原帖由 zhaohj 于 2011-2-21 12:07 发表 现在不考虑盘符,只考虑硬盘顺序。 九哥能否在grldr的命令行下看一下硬盘顺序呢? geometry (hd0) geometry (hd1)
原帖由 zhaohj 于 2011-2-21 09:18 发表 根据我的经验,如果用户不主动更改BIOS的硬盘启动顺序(要注意插入U盘可能改变硬盘启动顺序),全内置PE是不会改变硬盘顺序的。 CSPE和0PE以前会改变硬盘顺序的,这些都是全外置PE,对硬盘进行了map。 0PE新版 ...
原帖由 slore 于 2011-2-19 12:19 发表 所以觉得知道硬盘ID处理好了就OK了吧,你所说的初批处理不能完成的对隐藏分区的这些。。。貌似不影响确定硬盘顺序
可以读取原系统的磁盘签名和分区offset,确定这个分区在当前WinPE系统中的硬盘Index和分区Index来挂载分配盘符, 执行 DefineDosDevice 挂载分区时必须知道硬盘序号和分区序号,DefineDosDevice 挂载分区时,其中一个参数是: "\Device\HarddiskX\PartitionY" 这样的形式(X、Y分别为硬盘ID和分区ID),所以关键是由原系统注册表的分区offset 与工具读取到的分区offset对比,来确定分区序号,因此,简单单纯的批处理可能无法完成这功能了,因为原系统中的 一些分区可能是没有分配到盘符的,如某些机子的备份隐藏分区、用户有意的隐藏分区或用户有意隐藏的驱动器卷, 这些分区不一定是第一分区,也不一定是最后分区,可以是其中任一分区。
原帖由 slore 于 2011-2-19 11:47 发表 不是只要确定那个硬盘先处理就好了么?
原帖由 fujianabc 于 2011-2-18 22:06 发表 直接通过dosdevice的中磁盘签名和offset就能挂载并分配盘符? 那应该处理起来很简单了
原帖由 lxl1638 于 2011-2-18 20:58 发表 本人发现,无需执行第2、第3步也可挂载分区
原帖由 fujianabc 于 2011-2-18 20:02 发表 步骤不用这么多: 1. 挂载system并读取mounteddevices项 2. 从中找到dosdevice项,然后根据dosdevice的内容得到对应的GUID项 3. GUID可以直接用到mountvol命令中
MountedDevices.rar
2011-2-18 20:58 上传
点击文件名下载附件
1.36 KB, 下载次数: 26, 下载积分: 无忧币 -2
原帖由 lxl1638 于 2011-2-18 19:05 发表 按fujianabc的思路是可行的,但实现起来要做很多事,大体是这样: 1、读取硬盘数目,并读取各硬盘 MBR,从中找到disk signature(硬盘 disk signature 在 MBR 的后部)。 2、挂载原硬盘系统的注册表,从原系 ...
原帖由 victor888 于 2011-2-18 18:49 发表 fujianabc说的思路很好。 如果能有软件来判断就更好了。
原帖由 fujianabc 于 2011-2-18 09:45 发表 硬盘顺序这个东西很有问题,最典型的情况就是一块ide+一块sata,不同系统会出现不同顺序。 提供一个参考: 用过win7的erd commander的会发现,pe中盘符永远不会乱掉,因为它能直接加载硬盘系统的注册表的mo ...
原帖由 krell 于 2011-2-18 12:50 发表 所以我建议楼主“确认一下您的两块硬盘的连接在主板上的接口是什么次序。”假设您认为的第一块硬盘根本就接到SATA1,而另外一块硬盘是接到SATA0的话,我就认为WINPE中识别的没有错。
原帖由 krell 于 2011-2-18 12:50 发表 我认为大侠没有明白我的意思。 “不同的系统所认为的顺序不同。” 假设我设定硬盘第一个主分区激活,安装系统A,进入这个系统那么系统A在C盘。 如果我将这块硬盘第二个主分区设定激活,并在上面安装系统B, ...
原帖由 <i>fujianabc</i> 于 2011-2-18 09:45 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2162203&ptid=187242" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br /><br />硬盘顺序这个东西很有问题,最典型的情况就是一块ide+一块sata,不同系统会出现不同顺序。<br /><br /><br /><br />提供一个参考:<br /><br />用过win7的erd commander的会发现,pe中盘符永远不会乱掉,因为它能直接加载硬盘系统的注册表的mo ...
本版积分规则 发表回复
小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )
闽公网安备 35020302032614号
GMT+8, 2025-6-22 06:19
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.