无忧启动论坛

标题: 发一个磁盘分区链表管理工具 [打印本页]

作者: 19951001    时间: 2006-10-27 11:52
标题: 发一个磁盘分区链表管理工具
Hard Disk Partition Tools for Win2000/XP/2003 1.0ß
Copyright by WangRuiLin, Compile Date: 2006-10-26
E-mail: best_wrl@yahoo.com.cn & tswrl1115@163.com

Syntax:
   DPITW [Disk] [/L|/S|/R|/C] [FileName]
      Disk: 0-First Hard disk, 1-Second Hard Disk, ...
      /L: List Disk Partition Info on Screen.
      /S  Save Disk Partition Info to File.
      /R  Restore Disk Partiton Info from File.
      /C  Compare Disk Partiton Info with File.
      FileName: Disk Partition Info File.

磁盘分区信息管理工具,该工具可对整个分区链表进行
保存,由于磁盘分区表是一个由主引导纪录开始(也就
是通常所说的MBR)的链表,一旦链表的某一个中间环
节出现问题,则之后的分区将丢失,该工具可以备份整
个分区链表,一旦链表被破坏时,可以进行恢复。

参数说明:
Disk: 指明磁盘
      0-第一硬盘, 1-第二硬盘, 等等

/L: 显示磁盘分区信息(不需要文件名)
/S: 保存分区链表到文件,文件名由FileName指定
/C: 比较磁盘分区链表和保存在文件FileName中的磁盘链表是否一致
/R: 将保存在文件FileName中的磁盘链表信息恢复到磁盘
   (警告:如果你在备份磁盘链表后,改变过磁盘分区信息,
           请不要恢复,否则会引起数据丢失)
FileName: 文件名

例子:
DPIT 0 /l
显示第一硬盘的分区信息

DPIT 0 /S pt0.bin
保存第一硬盘的分区链表到文件pt0.bin

DPIT 0 /c pt0.bin
将第一硬盘的分区链表和保存在文件pt0.bin中的分区链表信息进行比较

DPIT 0 /R pt0.bin
由文件pt0.bin恢复第一硬盘的分区链表

可以保存所有分区的 DBR 信息(不是分区表信息),DBR是分区的引导记录(一般情况位于分区偏移地址 0x3F 的位置)
    使用命令:
    DPIT  0  /S  db0.bin /DBR
    将第一硬盘的所有 DBR 信息保存到文件 db0.bin

最新版dos程序在:http://www.cn-dos.net/forum/viewthread.php?tid=24419&fpage=1

[ 本帖最后由 19951001 于 2006-12-31 11:47 AM 编辑 ]

20061205.rar

27.14 KB, 下载次数: 178, 下载积分: 无忧币 -2


作者: 19951001    时间: 2006-10-30 13:13
软件已经更新,见一楼。

磁盘总容量的误差:
在 windows2000/xp/2003 下使用 deviceiocontrol  得到的磁盘 Cylinders /Heads/Sectors 参数,在程序中磁盘总扇区数量等于上述三者乘积,存在一定的误差,最大误差大小最大为 255*63个扇区,即 7.8M ,这个误差与程序的使用没有关系;在 Dos 下得到磁盘总扇区数量为准确值。
作者: jyssysz    时间: 2006-10-30 15:53
好东西,谢谢楼主
作者: 6618    时间: 2006-10-30 23:50
试试,感谢分享。
作者: sck    时间: 2006-10-31 08:14
谢谢了,先收藏。
作者: 19951001    时间: 2006-11-1 12:34
2006.11.1更新(见一楼)
1 加入了对隐含分区的支持
2 可以同时保存分区链表和DBR信息
  dpit 0 /s disk0pt.bin /dbr disk0dbr.bin
  将分区链表保存到disk0pt.bin,将DBR信息保存到disk0dbr.bin。
3 查找算法优化

另外:diskrw  和 dpit 的合成版本,已发布
http://www.cn-dos.net/forum/viewthread.php?tid=24419&fpage=1

[ 本帖最后由 19951001 于 2006-11-1 01:18 PM 编辑 ]
作者: 19951001    时间: 2006-11-16 09:36
2006.11.16
程序中发现了一个BUG,网友weilong888提出的,现已修正。
请重新下载。
作者: qingyun    时间: 2006-11-16 10:13
这个跟diskgeniu备份分区表的功能有何区别?
作者: 19951001    时间: 2006-11-17 13:06
原帖由 qingyun 于 2006-11-16 10:13 AM 发表
这个跟diskgeniu备份分区表的功能有何区别?


程序中备份了整个分区链表。
作者: zts59    时间: 2006-11-17 13:54
分区链表和分区表有什么区别?
作者: 19951001    时间: 2006-11-17 14:14
由于MBR中最多可以容纳4个分区,因此当磁盘分区超过4个时,是通过扩展分区实现的,就是以MBR为起点通过一个分区链表来实现的,通常说的分区表多指主引导区MBR。

[ 本帖最后由 19951001 于 2006-11-17 04:11 PM 编辑 ]
作者: chowyu    时间: 2006-11-23 14:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 19951001    时间: 2006-11-29 16:20
2006.11.29更新
dpit 支持分区的隐藏显示

dpit 0 /hide:4
dpit 0 /unhide:4

dpitw 0 /hide:4
dpitw 0 /unhide:4

分区号由dpit 0 /L 或dpitw 0 /L得到。
作者: 19951001    时间: 2006-12-4 08:57
2006.12.4
1、dpit实现了 /mbr 参数,重建主引导记录。
2、更改显示信息,更明确。

dpit:

Syntax:
   DPITW [Disk] [/S|/R|/C] [FileName]
      Disk: 0-First Hard disk, 1-Second Hard Disk, ...
      /S: Save Disk Partition Info to File.
      /R: Restore Disk Partiton Info from File.
      /C: Compare Disk Partiton Info with File.
      FileName: Disk Partition Info File.

   DPITW [Disk] [/S] [FileName] [/DBR]
      Save Partition Boot Record to File.
   DPITW [Disk] [/L]
      List Disk Partition Info on Screen.
   DPITW [Disk] [/ACT:n]
      Active Disk Partition n.
   DPITW [Disk] [/FIND:type]
      Find Disk Partition.
      type: Can be FAT16/FAT32/FAT/NTFS/LINUX/ALL.
   DPITW [Disk] [/MBR] [/NOBACK]
      ReBuild Disk Main Boot Record.
      /NOBACK: Don't Backup old MBR.
   DPITW [Disk] [/HIDE|/UNHIDE:n]
      Hide/Unhide Disk Partition n.

diskrw:

Syntax:
   DISKRW [Disk] [Start] [Sectors] [/S|/R|/C] [FileName]
      Disk: 0-First Hard Disk, 1-Second Hard Disk, ...
            A:, B:, C:, ...
      Start: Disk Absolute Sector Number
             :n  n-Partition Number
      Sectors: Total Sectors to be Processed
      /S:  Save Disk Sector Info to File
      /R:  Restore Disk Sector Info from File
      /C:  Compare Disk Sector Info with File
      FileName: Disk Sector Info File

   DISKRW [Disk] [Start] [Sectors] [/L] [/P] [/A]
      List Disk Sector Info on Screen
      /P:  Pause echo Screen
      /A:  Show ASC Value

[ 本帖最后由 19951001 于 2006-12-19 01:18 PM 编辑 ]
作者: wuyouman01    时间: 2006-12-22 11:45
DPIT 0 /S pt0.bin 是保存MBR吗?
DPITW [Disk] [/MBR],可以保存原有的MBR吗,什么文件名?
作者: 19951001    时间: 2006-12-22 13:08
原帖由 wuyouman01 于 2006-12-22 11:45 AM 发表
DPIT 0 /S pt0.bin 是保存MBR吗?
DPITW  ,可以保存原有的MBR吗,什么文件名?


DPIT 0 /S pt0.bin 保存整个分区链表,包括mbr。

DPITW  ,可以保存原有的MBR,文件名是disk0bak.mbr 或者 dsk0mbr.bin,具体哪个名字与版本有关
作者: 19951001    时间: 2006-12-30 09:39
新版本
http://www.cn-dos.net/forum/viewthread.php?tid=24419&fpage=1
作者: cfgs    时间: 2006-12-30 10:51
楼主能不能做个界面,搞成综合的磁盘管理工具,方便在PE上用。
作者: 19951001    时间: 2006-12-31 11:46
原帖由 cfgs 于 2006-12-30 10:51 AM 发表
楼主能不能做个界面,搞成综合的磁盘管理工具,方便在PE上用。


Win32版本可以在 PE 上使用,如果做成界面程序,程序大小会增大很多,高手可以弄个批处理来完成。最新版本的 win32 版我还没有发布,最新版的dos程序在这里:
http://www.cn-dos.net/forum/viewthread.php?tid=24419&fpage=1

[ 本帖最后由 19951001 于 2006-12-31 11:57 AM 编辑 ]
作者: gotomsdos    时间: 2007-1-3 20:12
恩,楼主辛苦了.
已在DOS联盟下载,并用它保存了我两个硬盘的分区链表,以后恢复起来可能较方便一点.

测试过了吗?
作者: 19951001    时间: 2007-1-4 10:13
原帖由 gotomsdos 于 2007-1-3 08:12 PM 发表
恩,楼主辛苦了.
已在DOS联盟下载,并用它保存了我两个硬盘的分区链表,以后恢复起来可能较方便一点.

测试过了吗?


在我的机器上测试过,没有发现问题,如果大家在使用的过程中发现问题请及时在论坛通知一下,我会尽快解决。
作者: loki1944    时间: 2007-1-4 11:43
我一般用微软的自带工具备份分区表,有时也会用diskman ,相比之下,diskman已经很足够了,这个软件先收藏,谢谢了




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