无忧启动论坛

标题: 快速获取硬盘数,定位最后分区序号,定位最后主分区序号小工具(FOR DOS) [08-12更新] [打印本页]

作者: 7238996    时间: 2010-7-13 23:42
标题: 快速获取硬盘数,定位最后分区序号,定位最后主分区序号小工具(FOR DOS) [08-12更新]
本工具可以快速定位最后分区,不借用任何第三方工具(仅识别已分区的硬盘)

[08-12更新]
  更正因主分区表项顺序混乱造成分区序号识别错误的问题.这种情况通常出现在已分区后再用PQ等软件把第一个逻辑分区改为主分区的硬盘上

[07-20更新]
1,增加获取硬盘数量功能(环境变量%DISK%)
2,增加获取最后主分区序号功能(环境变量%RPRI%)


环境变量说明:
最后两位字符为 _G 的符合GHOST参数
PART_G=磁盘号:最后分区号
RPRI_G=磁盘号:最后主分区号

[07-15更新]
  1)增加识别05标志的扩展分区及扩展分区位于前面的硬盘;
  2)增加硬盘序号参数;
  3)自动把分区数设置为环境变量%PART% (稍有点迟缓);
  4)增加帮肋说明

Syntax:
  RPART [Disk] /?
  Disk: 0-First Hard Disk, 1-Second Hard Disk, ...
  /?  : HELP



感谢 lianjiang 提供的分区表

使用方法:
    在DOS下运行本程序,在当前目录中生成PART.BAT,运行PART.BAT就把最后分区设为环境变量:  %PART%

PART.BAT参考内容:

@ECHO OFF
SET PART=5

本程序未经详细测试,如果定位最后分区不准确,请反馈

[ 本帖最后由 7238996 于 2010-9-6 20:11 编辑 ]

RPART.rar

32.9 KB, 下载次数: 663, 下载积分: 无忧币 -2


作者: jxzhzcf    时间: 2010-7-14 06:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: lianjiang    时间: 2010-7-14 08:18
看看其他人测试的效果如何。
作者: wang6610    时间: 2010-7-14 12:05
试过了,xp下也可以......................
作者: 7238996    时间: 2010-7-14 12:19
原帖由 lianjiang 于 2010-7-14 08:18 发表
看看其他人测试的效果如何。



我看了你原来的回贴,说是用VPC及VM测试6种分区模式,只有一种准确.你怎么把原贴删除了呢?你能不能把你测试不准确的虚拟硬盘文件发给我,以找出其中原因?

为了验证你反映的问题,我也做了6种分区模式,其中VPC3种,VM3种,为了证明我测试的真实性,还用VM进行是最后一种分区模式的录象,一并发上来给大家看.

我真的感到奇怪,怎么你用VPC及VM就全部测试不准确,我用VPC及VM测试就全部准确?是不是因为你用的分区软件分的区我的软件无法识别?你能否说下你用什么软件分区的?

[ 本帖最后由 7238996 于 2010-7-14 12:32 编辑 ]

VPC1.JPG (22.78 KB, 下载次数: 170)

VPC1.JPG

VPC2.JPG (25.37 KB, 下载次数: 168)

VPC2.JPG

VPC3.JPG (27.64 KB, 下载次数: 167)

VPC3.JPG

vm1.JPG (26.21 KB, 下载次数: 168)

vm1.JPG

vm2.JPG (29.04 KB, 下载次数: 163)

vm2.JPG

vm3.JPG (31.94 KB, 下载次数: 168)

vm3.JPG

VM录象.rar

9.77 KB, 下载次数: 100, 下载积分: 无忧币 -2


作者: 7238996    时间: 2010-7-14 12:23
原帖由 wang6610 于 2010-7-14 12:05 发表
试过了,xp下也可以......................


XP应该不行,XP测试的结果不准确的.我稍改一下就解能支持WIN
作者: lianjiang    时间: 2010-7-14 12:30
开始是发了,后来考虑到虚拟机的结果很可能比较特殊,不具有代表性,为避免给其他人产生误导,所以删除了。
作者: lianjiang    时间: 2010-7-14 12:34
我早上测试的环境,都是为了测试一键还原装了windows的,所以文件都很大。

vpc下的演示录像。

[ 本帖最后由 lianjiang 于 2010-7-14 12:47 编辑 ]

vpc.rar

267.9 KB, 下载次数: 200, 下载积分: 无忧币 -2


作者: 7238996    时间: 2010-7-14 12:35
虚拟机分区原理与真机应该一样吧?
我想你把你测试不准的虚拟机硬盘文件发给的,找出其中的原因.
作者: 7238996    时间: 2010-7-14 12:38
你不是做了6种分区模式吗?好象从有一些图上的分区信息看,文件并不是很大的吧?能不能发过来?
作者: lianjiang    时间: 2010-7-14 12:48
应都在2GB以上。
作者: lianjiang    时间: 2010-7-14 12:51
具体的分区软件及顺序,我也记不清了。
装xp的,一般是使用pq8.05在dos下分区,
win7的好像是用系统自带的安装时分出系统盘,然后再在系统下用pm分区的。
作者: 7238996    时间: 2010-7-14 12:56
这样吧,你把你原来的图再发上来,我根据你的分区信息,专给你做一个工具把你的分区表读出来,你再把用我给你做的工具读出来的分区表发上来,很小的,就几K而已.多谢支持.
作者: lianjiang    时间: 2010-7-14 13:07
原帖由 7238996 于 2010-7-14 12:56 发表
这样吧,你把你原来的图再发上来,我根据你的分区信息,专给你做一个工具把你的分区表读出来,你再把用我给你做的工具读出来的分区表发上来,很小的,就几K而已.多谢支持.


没问题。


作者: 7238996    时间: 2010-7-14 13:17
标题: 回复 #14 lianjiang 的帖子
我已把你的分区信息图保存下来了.你暂时不要修改这个虚拟硬盘的分区,以便我找出原因.
我等会就给你做一个专读你这个硬盘的工具.
作者: 7238996    时间: 2010-7-14 15:09
标题: 回复 #14 lianjiang 的帖子
做好了,你把附件T.EXE与DSPT.COM 放到相同的可写目录,运行T.EXE,生成FAT1.BIN及FAT2.BIN.
然后把两个BIN文件发上来

T.rar

36.33 KB, 下载次数: 66, 下载积分: 无忧币 -2


作者: jszforms    时间: 2010-7-14 15:39
xp中可用,前面有3 个可见分区,最后隐藏分区号为4,运行后
@ECHO OFF
SET PART= 4
数目对了

[ 本帖最后由 jszforms 于 2010-7-15 08:47 编辑 ]
作者: lianjiang    时间: 2010-7-14 16:08
原帖由 7238996 于 2010-7-14 15:09 发表
做好了,你把附件T.EXE与DSPT.COM 放到相同的可写目录,运行T.EXE,生成FAT1.BIN及FAT2.BIN.
然后把两个BIN文件发上来


文件见附件。

fat.rar (1.3 KB, 下载次数: 69)
作者: lsfx555    时间: 2010-7-15 00:21
标题: XP系统中隐藏分区识别不了
我知道这个程序说是不支持XP系统的,但是我还是用实机在XP系统中测试,XP系统中隐藏分区识别不了!

@ECHO OFF
SET PART= 4

[ 本帖最后由 lsfx555 于 2010-7-15 00:25 编辑 ]

XP系统中隐藏分区识别不了.JPG (41.23 KB, 下载次数: 138)

XP系统中隐藏分区识别不了.JPG

作者: 7238996    时间: 2010-7-15 07:10
原帖由 lsfx555 于 2010-7-15 00:21 发表
我知道这个程序说是不支持XP系统的,但是我还是用实机在XP系统中测试,XP系统中隐藏分区识别不了!

@ECHO OFF
SET PART= 4



晕,既然你明知不支持XP,你为什么还要测试?

XP不是隐藏分区识别不了,而是所有分区都识别不了.
作者: jszforms    时间: 2010-7-15 08:49
19楼的lsfx555 ,装一个硬盘,不用移动硬盘试试,rpart可能不支持双硬盘

[ 本帖最后由 jszforms 于 2010-7-15 08:51 编辑 ]
作者: jszforms    时间: 2010-7-15 08:51
本人还想要一个找剩余空间最大的分区号的程序,类似rpart.exe,运行后生成bat,得到分区号,用于备份
作者: 7238996    时间: 2010-7-15 08:59
原帖由 jszforms 于 2010-7-15 08:51 发表
本人还想要一个找剩余空间最大的分区号的程序,类似rpart.exe,运行后生成bat,得到分区号,用于备份



容易,有时间给你做一个
作者: 7238996    时间: 2010-7-15 09:02
标题: 回复 #3 lianjiang 的帖子
能正确有识别了

[ 本帖最后由 7238996 于 2010-7-15 18:05 编辑 ]

1.GIF (6.02 KB, 下载次数: 148)

1.GIF

作者: dos时代菜鸟    时间: 2010-7-17 22:53
这个功能不错,希望能完善出如下功能:
1、多个主引导分区的情况下,获取最后主引导分区 号
2、获取硬盘总数量
3、获取硬盘分区容量 M
作者: ziyun    时间: 2010-7-18 21:09
谢谢分享,学习了!顶一个,
作者: 7238996    时间: 2010-7-18 21:45
原帖由 dos时代菜鸟 于 2010-7-17 22:53 发表
这个功能不错,希望能完善出如下功能:
1、多个主引导分区的情况下,获取最后主引导分区 号
2、获取硬盘总数量
3、获取硬盘分区容量 M


好的,有空加入这些功能

[ 本帖最后由 7238996 于 2010-7-18 21:49 编辑 ]
作者: lsfx555    时间: 2010-7-19 23:47
标题: 回21楼
19楼的lsfx555 ,装一个硬盘,不用移动硬盘试试,rpart可能不支持双硬盘

我是安装两个物理硬盘,只不过,原先那块硬盘在硬盘盒里使用过了,硬盘的卷标叫“移动硬盘*”这样而以,其实物理安装上并没有经过硬盘盒,而是SATA线直接连到主板上的SATA口上。有可能是那个程序不支持XP或者多硬盘的原因吧,才会识别不正确的!
作者: chenbaker    时间: 2010-7-20 08:46
这个工具很实用,哪一天会用到的,收藏了
作者: 135956    时间: 2010-7-22 10:07
极其方便的工具,太好了。多谢分享。
作者: tnt844    时间: 2010-7-24 10:13
多硬盘,多分区格式,并且顺序多样的分区信息,不知道楼主认真测试没有。应为DOS下的NTFS和FAT混合分区排列很复杂。特别是多硬盘。
作者: ly372184487    时间: 2010-7-24 10:17
看起来不错哦,能不能用在USB-HDD中进行一键GHOST?
作者: 7238996    时间: 2010-7-24 15:19
原帖由 tnt844 于 2010-7-24 10:13 发表
多硬盘,多分区格式,并且顺序多样的分区信息,不知道楼主认真测试没有。应为DOS下的NTFS和FAT混合分区排列很复杂。特别是多硬盘。


本程序是按硬盘来确定分区,不是按盘符,不存在FAT还是NTFS的问题.
作者: 7238996    时间: 2010-7-24 15:23
原帖由 ly372184487 于 2010-7-24 10:17 发表
看起来不错哦,能不能用在USB-HDD中进行一键GHOST?



可以,我做此工具的目的,就是方便大家搞DOS下GHOST用.
作者: ali88home    时间: 2010-7-27 11:58
这工具不错。找时间来试试。。。

1.找到分区后,下一步应该如何制作好呢?。。。给个建议吧!
2.可以把最后分区【1:3】信息,变成c、d、e:代码吗?
作者: 7238996    时间: 2010-7-29 19:46
原帖由 ali88home 于 2010-7-27 11:58 发表
这工具不错。找时间来试试。。。

1.找到分区后,下一步应该如何制作好呢?。。。给个建议吧!
2.可以把最后分区【1:3】信息,变成c、d、e:代码吗?


1 :
如备份第一分区到最后分区:GHOST -clone,mode=pdump,src=1:1,DST=%PART_G%:\SYS.GHO -Z3 -sure -FX
把最后分区的SYS.GHO恢复到第一分区:GHOST -clone,mode=pload,src=%PART_G%:\SYS.GHO:1,DST=1:1 -sure -FX

2:
不能
作者: jszforms    时间: 2010-8-6 10:08
建议增加以下
1、在PART_G=磁盘号:最后分区号
后增加变量PART_T=磁盘号-最后分区号(中间为减号,这个变量适应tidos,它是以x-y定位分区的)

http://bbs.wuyou.net/viewthread. ... Borderby%3Ddateline
中本人做了一个一键恢复的img文件
其中B93.BAT
echo 完全备份第一硬盘的第一分区到第一硬盘的最后分区的c_panx.tib
pause
RPART20
hexc PART.BAT PART.BAT ":" "-" /u
call PART
tidos3 /create /filename:"\c_panx.tib" /partition:1-1 /file_partition:%PART_G% /compression:9


其中的RPART20就是20100720更新的rpart
有PART_T这个变量就不用hexc PART.BAT PART.BAT ":" "-" /u进行替换了

2、在PART_G=磁盘号:最后分区号

增加变量PART_8=磁盘号.最后分区号(中间为小数点,这个变量适应ghost8.0、8.2、8.3等老版的ghost,便于研究用老版ghost为核心的还原程序)

3、增加一个变量
RPRI_F=磁盘号:第一硬盘第一个非隐藏的主分区号,
如果第一硬盘第一分区是隐藏分区,第二分区是主分区并且装了系统,则RPRI_F是ghost要备份的分区

[ 本帖最后由 jszforms 于 2010-8-6 10:17 编辑 ]
作者: 7238996    时间: 2010-8-11 09:49
标题: 回复 #37 jszforms 的帖子
除分区号我还没有找到办法,其它的都可以实现
作者: applo_cx    时间: 2010-8-22 11:04
楼主:首先感谢您编制了这么好用的程序!但还有一点疑问:
在part.bat中,变量disk代表磁盘数目,part代表最后主分区编号,part_G代表硬盘和最后分区号,Rpri_G代表硬盘和最后主分区号,那Rpri指的是啥呀?是代表分区数量还是……?如果是最后主分区编号就和Part变量重复啦,望给说明,另外能不能加个主分区数量的变量呀,这在有些地方有用,还有能不能加个当前文件(就是Rpart文件)所在的分区和磁盘的变量,这个用在已做好一键恢复后又添加了一块硬盘,这时那个Rpri_g变量在克隆中就不能使用啦

[ 本帖最后由 applo_cx 于 2010-8-22 11:25 编辑 ]
作者: 7238996    时间: 2010-8-23 16:21
PART=分区数
RPRI=最后主分区序号
作者: yynq    时间: 2010-9-2 11:41
PART=分区数  指的是 第一硬盘的分区数吧?
怎么知道最后磁盘号的硬盘的分区数?

%DISK%:%PART%: 这个好像是最后磁盘号的硬盘 + 第一硬盘的最后分区

[ 本帖最后由 yynq 于 2010-9-2 11:43 编辑 ]
作者: 7238996    时间: 2010-9-2 18:02
TO 41 楼

如果没有指定硬盘序号参数,就是第一硬盘
作者: yynq    时间: 2010-9-3 08:14
楼主没明白我的意思  。
我是说怎么获得最后磁盘号的硬盘的最后分区。

比如 有三个硬盘 最后的硬盘(第三硬盘)有2个分区。

注意:假想我不知道有几块硬盘。
作者: 7238996    时间: 2010-9-5 07:58
原帖由 yynq 于 2010-9-3 08:14 发表
楼主没明白我的意思  。
我是说怎么获得最后磁盘号的硬盘的最后分区。

比如 有三个硬盘 最后的硬盘(第三硬盘)有2个分区。

注意:假想我不知道有几块硬盘。



运行两次RPART.
第一次不带参数运行,获取硬盘数%DISK%
第二次带参数运行.RPART 2 (用%DISK%减去1 等于2),第二次的分区数就是最后硬盘的分区数

您 可以写一个批处理直接运行两次RPART
作者: yynq    时间: 2010-9-6 16:31
标题: 回复 #44 7238996 的帖子
第二次带参数运行.RPART 2 (用%DISK%减去1 等于2)
在纯dos中如何做到%DISK%减去1
纯dos的set 没有 /a 参数,不能做减法。

能不能修改  RPART
第二次运行     RPART %DISK% 来获取最后硬盘的分区数。
作者: 7238996    时间: 2010-9-6 17:08
原帖由 yynq 于 2010-9-6 16:31 发表
第二次带参数运行.RPART 2 (用%DISK%减去1 等于2)
在纯dos中如何做到%DISK%减去1
纯dos的set 没有 /a 参数,不能做减法。

能不能修改  RPART
第二次运行     RPART %DISK% 来获取最后硬盘的分区数。


测试行否?
运行时自动检测是否参数为空,如果参数为空并且%DISK% -1>0 ,就自动加参数运行:RPART %DISK%-1

RPART.rar

32.9 KB, 下载次数: 61, 下载积分: 无忧币 -2


作者: yynq    时间: 2010-9-6 17:19
标题: 回复 #46 7238996 的帖子
dos下没有成功! 谢谢!!


[ 本帖最后由 yynq 于 2010-9-6 17:23 编辑 ]
作者: yynq    时间: 2010-9-6 17:40
标题: 回复 #47 yynq 的帖子
MSDOS提示符中运行俩次成功!!但在批处理中不行


谢谢!!!

[ 本帖最后由 yynq 于 2010-9-6 18:11 编辑 ]
作者: yynq    时间: 2010-9-6 17:44
建议 RPART 不运行PART.BAT,直接改变环境变量更好 .
作者: yynq    时间: 2010-9-6 17:51
在批处理中不能成功

如下批处理:
@echo off
RPART
part.bat
pause
set
RPART
part.bat
pause
set



@echo off
RPART
RPART


不能成功 ,不知为什么?

[ 本帖最后由 yynq 于 2010-9-6 18:07 编辑 ]
作者: 7238996    时间: 2010-9-6 19:28
因为软件迟缓问题,所以单独运行两次成功,BAT运行不成功.

BAT 这样就行了:
call rpart
call part
call rpart
call part

或者你两次运行之间加一行延时也行

......你的BAT语句
RPART
延时...
RPART
延时...
......你的BAT语句

[ 本帖最后由 7238996 于 2010-9-6 19:42 编辑 ]
作者: yynq    时间: 2010-9-7 07:50
原帖由 7238996 于 2010-9-6 19:28 发表
因为软件迟缓问题,所以单独运行两次成功,BAT运行不成功.

BAT 这样就行了:
call rpart
call part
call rpart
call part

或者你两次运行之间加一行延时也行

......你的BAT语句
RPART
延时...
RPA ...



测试正确!
感谢大侠帮助!
感谢这么好的自由软件!! 挺你!!!!
作者: tuxw    时间: 2010-9-13 22:25
可能是BUG,应该是占住了什么系统资源没有释放

@echo off
call rpart.exe
echo wait 1
choice /c:ny /t:n,3 wait >nul
type part.bat
pause

call part.bat
echo wait 2
choice /c:ny /t:n,3 wait >nul
ECHO DISK=%DISK%
ECHO PART=%PART%

上面这个批处理,第一个延时处会卡住不能自动返回,必须键盘输入,第二个延时处正常

注释掉 call rpart.exe 这句后,两个选择都能自动返回达到延时的目的
作者: 7238996    时间: 2010-9-14 07:25
标题: 回复 #53 tuxw 的帖子
call rpart.exe
call part.BAT
这样就不必延时了
作者: yynq    时间: 2010-9-14 08:33
原帖由 7238996 于 2010-9-14 07:25 发表
call rpart.exe
call part.BAT
这样就不必延时了



这样确实更好,建议更新1楼的文件与说明。

挺你!!!!!!
作者: tuxw    时间: 2010-9-14 12:08
原帖由 7238996 于 2010-9-14 07:25 发表
call rpart.exe
call part.BAT
这样就不必延时了


这样简单在命令行或测试BAT中是可以的,但放到AUTOEXEC.BAT中就不正常了

而且干扰第一个 choice 自动选择是个必须要解决的BUG,否则用户的BAT文件就受限制了
作者: 7238996    时间: 2010-9-14 19:11
软件没有问题,是你自己的批处理问题
另外在什么AUTOEXEC.BAT都正常
作者: xsdxb    时间: 2010-9-15 22:44
QUOTE:
原帖由 ali88home 于 2010-7-27 11:58 发表
这工具不错。找时间来试试。。。

1.找到分区后,下一步应该如何制作好呢?。。。给个建议吧!
2.可以把最后分区【1:3】信息,变成c、d、e:代码吗?
1 :
如备份第一分区到最后分区:GHOST -clone,mode=pdump,src=1:1,DST=%PART_G%:\SYS.GHO -Z3 -sure -FX
把最后分区的SYS.GHO恢复到第一分区:GHOST -clone,mode=pload,src=%PART_G%:\SYS.GHO:1,DST=1:1 -sure -FX

2:
不能

请高人针对 1 运用 rpart 和ghost写个批处理供大家使用,免得争论不休。我是菜鸟,希望高手给于指点或帮个忙!
作者: boyyao    时间: 2011-10-2 17:14
非常好的小工具。解决了大问题。^_^
作者: 双响炮    时间: 2011-10-24 19:32
奇怪了,这么好的帖子,看得正起劲,怎么就没啦,希望楼主继续关注
作者: 188144    时间: 2014-10-26 23:51
非常好的小工具。解决了大问题。^_^




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