Board logo

标题: 磁盘扇区读写、分区信息管理工具 Dsptw (2008.11.29 更新) [打印本页]

作者: 19951001     时间: 2006-11-2 01:17    标题: 磁盘扇区读写、分区信息管理工具 Dsptw (2008.11.29 更新)

磁盘扇区读写、分区信息管理工具使用说明


===============
Diskrw.com 是磁盘扇区读写程序
Dpit.com 是分区信息管理工具
Dspt.com 是上述两者合成版本
===============



Syntax:
   DSPT [Disk] [Start] [Sectors] [/S|/R|/C] [FileName] [/Y]
      Disk: 0-First Hard Disk, 1-Second Hard Disk, ...(0为第一硬盘,1为第二硬盘)
            A:, B, C:, D: ....:
      Start: Disk Absolute Sector Number (扇区号,应为大于等于0的整数,磁盘扇区从0开始编号)
             :n  Partition Number (:n n为分区号,可以通过命令:dspt 0 /l 得到)
      Sectors: Total Sectors to be Processed (要处理的扇区数量,取值范围 1-4194303 即0x0-0x3FFFFF)
      /S: Save Disk Sector Info to File (保存磁盘扇区到文件)
      /R: Restore Disk Sector Info from File (把文件信息恢复到磁盘,要求文件大小应该等于要恢复的扇区数量乘512)
      /C: Compare Disk Sector Info with File (把文件信息与磁盘扇区信息进行比较,要求文件大小应该等于要比较的扇区数量乘512)
      FileName: Disk Sector Info File (文件名字)
      /Y: Assume Yes on all Queries (对要求确认的请求默认为 Y ,并且不显示版权信息)

例子:
      dspt 0 0 1 /s mbr0.bin 将第一硬盘的从0号扇区开始共一个扇区的信息保存到文件 mbr0.bin ,该位置为磁盘的主引导记录。
      dspt 1 100 1000 /s sectors.bin 将第二硬盘从第100个扇区开始共1000个扇区的信息保存到 sectors.bin ,保存后文件大小应该为512000字节。
      dspt 0 0 1 /c mbr0.bin 将文件信息与第一硬盘从0号扇区开始共一个扇区的信息进行比较,要求文件大小为512字节。
      dspt 0 0 1 /r mbr0.bin 将文件信息恢复到第一硬盘从0号扇区开始共一个扇区,要求文件大小为512字节。

   DSPT [Disk] [Start] [Sectors] [/L] [/P] [/A]
      /L: List Disk Sector Info on Screen (将磁盘信息在屏幕上显示)
      /P: Pause echo Screen (满屏暂停)
      /A: Show ASC Value (显示 ASC 码)
   DSPT [Disk] [Start] [Sectors] [/E] [/Y]
      /E: Clear Disk Sector Info (清空扇区信息)
例子:
      dspt 0 0 100 /L /p /a 将第一硬盘的从0号扇区开始共100个扇区的信息显示在屏幕上,满屏暂停并显示 ASC 码。
      dspt 1 100 1000 /e  将第二硬盘从第100个扇区开始共1000个扇区的信息清空。


   DSPT [SrcDisk] [Start] [Sectors] [/D] [DstDisk] [Offset] [/Y]
      SrcDisk/DstDisk: 0-First Hard Disk, 1-Second Hard Disk, ...
                       A:, B:, C:, D: ....
      Start: Disk Absolute Sector Number
      Sectors: Total Sectors to be Processed
      /D: Copy Disk Sector Info from SrcDisk to DstDisk (磁盘信息复制)
      Offset: Disk Absolute Sector Number (扇区号,应为大于等于0的整数,磁盘扇区从0开始编号)
      /Y: Assume Yes on all Queries
例子:
      dspt 0 0 1000 /d 0  100 将第一硬盘的从0号扇区开始共1000个扇区的信息复制到第一硬盘第100扇区开始的共1000个扇区。

   DSPT [Disk] [/S|/R|/C] [FileName] [/Y]
      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
      /Y: Assume Yes on all Queries
例子:
      dspt 1 /s dsk1part.bin 将第二硬盘的分区信息保存到文件 dsk1part.bin

   DSPT [Disk] [/S] [FileName] [/DBR] [/Y]
      Save Partition Boot Record to File
例子:
      dspt 0 /s dbr0.bin /dbr 将第一硬盘的每个分区的引导信息保存到文件 dbr0.bin

关于文件大小的说明:保存的分区信息文件和 DBR 信息文件的大小应该为 (516×保存的扇区数量 + 1)

   DSPT [Disk] [/L] [/NOEXT]
      /L: List Disk Partition Info on Screen (在屏幕上显示磁盘分区信息)
      /NOEXT: Don't Display Big Extended Partition (不显示总的扩展分区信息)
例子:
      dspt 0 /l  将第一硬盘的分区信息保显示在屏幕上。

   DSPT [Disk] [/ACT:n]
      Active Disk Partition n
例子:
      dspt 0 /ACT:2  将第一硬盘的第二分区激活,只有主分区才能被激活。

   DSPT [Disk] [/FIND:type] [/NOEXT]
      Find Disk Partition 查找分区
      type: Can be FAT16/FAT32/FAT/NTFS/LINUX/ALL
例子:
      dspt 0 /Find:all  查找第一硬盘的所有分区,显示格式0:1 0:2 ....。

   DSPT [Disk] [/MBR] [/NOBACK] [/Y]
      ReBuild Disk Main Boot Record
      /NOBACK: Don't Backup old MBR
例子:
      dspt 0 /mbr  重建第一硬盘的主引导记录,默认将原主引导记录备份到 dsk?mbr.bin ,与 Fdisk/mbr 功能相同。

   DSPT [Disk] [/HIDE|/UNHIDE:n]
      Hide/Unhide Disk Partition n (隐藏/显示分区n, n可通过 dspt 0 /l 得到)
例子:
      dspt 0 /hide:3  隐藏第一硬盘的第三个分区。
      dspt 0 /unhide:3  显示第一硬盘的第三个分区。

   DSPT [Disk] [/DPS|/DPR|/DPC] [/Y]
      Disk: 0-First Hard disk, 1-Second Hard Disk, ...
      /DPS: Save Disk Partition Info to Last Cluster (将分区信息保存到硬盘最后一个簇)
      /DPR: Restore Disk Partiton Info from Last Cluster (从硬盘最后一个簇,恢复磁盘的分区信息,前提是应该保存分区信息)
      /DPC: Compare Disk Partiton Info with Last Cluster (将分区信息与硬盘最后一个簇信息比较)
      /Y: Assume Yes on all Queries
说明:该命令慎用,如果你的 BIOS 不支持大硬盘,通过 BIOS 得到的磁盘最后一个簇可能不是真正的最后簇,这时对该簇的读写可能造成数据丢失。


2007.1.15
dpit 1.15 测试版本,加入了对FAT32、NTFS卷标的支持,并能够显示FAT32分区的 DOS 盘符。

FAT16我这里没有测试环境,请大家帮忙测试一下卷标和盘符是否正确。

2007.2.15
发 diskrw 2007.1.31 DOS 正式版本。
支持 DOS 原生盘符,目前不支持IFS 和 NTFS4DOS生成的盘符。

2007.2.26
发 dspt 和 dpit  DOS正式版本

2007.5.29
增加一个小工具

在262楼有一个修正的 DSPT DOS 版本

2007.7.12
1 增加磁盘比较功能
  
DISKRW [Disk] [Start] [Sectors] [/O] [DstDisk] [Offset]
   Disk: 0-First Hard Disk, 1-Second Hard Disk, ...
         A:, B:, C:, D: ...
   Start: Disk Absolute Sector Number
   Sectors: Total Sectors to be Processed
    /O: Compare Disk Sector Info with DstDisk
    DstDisk: 0-First Hard Disk, 1-Second Hard Disk, ...
             A:, B:, C:, D: ...
    Offset: Disk Absolute Sector Number

例子:
  diskrw c: 20 10 /O d: 5  将C:盘的第20号扇区开始的10个扇区和D:盘第5号扇区开始的10个扇区比较
  diskrw 0 10 10 /O c: 0   将第一物理磁盘的第10号扇区开始的10个扇区和C:盘第0号扇区开始的10个扇区比较

2 增加直接修改磁盘扇区的功能
   DISKRW [Disk] [SectorNo] [Offset] /M /Hex:Value
      Disk: 0-First Hard Disk, 1-Second Hard Disk, ...
         A:, B:, C:, D: ...
      SectorNo: Disk Absolute Secotor Number
      Offset: Offset in Specified Sector (0..511)
      /M: Modify Disk Sector Info
      /Hex: Hexadecimal Stytle
      Value: Hexadecimal Digital String (No more than 32 characters)

例子:
  diskrw c: 20 0 /M /Hex:ABCDEF  将C:盘的第20号扇区偏移位置0处的三个字节修改为 0xAB,0xCD,0xEF

注:对扇区修改每次最多16个字节(32个字符)

2007.7.17更新
dsptw 〔disk〕 /l /a
增加参数 /a 可以在Win32环境下准确得到磁盘的扇区总数

2007.8.8
DOS版本 Diskrw 更新
1、修正当磁盘为DOS盘符时,磁盘编辑功能存在的bug。

Win32版本更新Dsptw和diskrw

2007.8.15
diskrw更新在一楼
dspt更新在290楼

dspt 错误代码:

#define SUCCESS 0
#define READ_DISK_ERROR 1
#define WRITE_DISK_ERROR 2
#define OPEN_FILE_ERROR 3
#define CREATE_FILE_ERROR 4
#define READ_FILE_ERROR 5
#define WRITE_FILE_ERROR 6
#define FILE_SIZE_ERROR 7
#define TOO_MANY_PARTITIONS 8
#define PARTITION_NUMBER_ERROR 9
#define PARTITION_CANNOT_BE_HIDDEN 10
#define PARTITION_CANNOT_BE_UNHIDDEN 11
#define ONLY_PRIMARY_PARTITION_CAN_BE_ACTIVE 12
#define UNSURPPORT_PARTITION 13
#define DISK_ERROR 14
#define NOT_ENOUGH_MEMORY 15
#define PARAMETER_ERROR 16
#define USER_CANCEL 17
#define LIST_OK 100
#define OS_ERROR 201
#define NAME_ERROR 202
#define COMPARE_MISMATCH 203
#define PRG_SIZE_ERROR 204
#define SECTORS_ERROR 205
#define PARAMETERS_TOO_FEW 207
#define UNKOWN_ERROR 1000


2008.9.27
Win32 版本 diskrw 更新
http://upload.cn-dos.net/img/798.rar



本次修改的内容:
1  命令调整,原来的 /E 命令(删除扇区内容)更改为 /F 命令 (扇区内容充填)
   原来的 /E 命令是使用 0 充填指定扇区
   现在的 /F 命令可指定任何值对扇区进行充填,如果不输入 Value 值则和原版本的 /E 命令执行相同的功能

DISKRW [Disk] [StartSector] [Sectors] [/F] [Value]
  /F: Fill Disk Sector Info with Value
  Value: an Integer (0..255), default is 0

2  命令调整,将修改扇区的命令有原来的 /M (Modify) 调整为 /E (Edit) 更为直观

DISKRW [Disk] [SectorNo] [Offset] [/E] [/HEX:Value]
  SectorNo: Absolute/Relative Sector No. of Disk
  Offset: The Offset in Specified Sector (0..511)
  /E: Edit Disk Sector Info
  /HEX: Hex Style
  Value: Hex Digital String (No more than 32 characters)

3  功能增加,增加移动扇区的功能,使用的命令为 /M
DISKRW [Disk] [StartSector] [Sectors] [/M] [DstDisk] [Offset]
  /M: Move Disk Sector DATA form Disk to DstDisk
  DstDisk: 0-First hard Disk, 1-Second hard Disk, ...
           A:, B:, C:, D: ...
  Offset: Absolute/Relative Sector No. of Disk

4 修正了使用 16 进制数的大小写存在的 Bug
  DOS 版本不存在此问题

2008.11.1
Diskrw for DOS

与原来版本改变

1、增加参数 Offset
      此参数用来指定文件内部的偏移位置,默认值为0(文件的开始)
      如果给出了Offset的值,但是文件不存在,则给出的Offset值被忽略。
      例子:
       Diskrw C: 0 10 /S sector.bin 10
       将磁盘C:从起始位置开始的10个扇区,写入文件sector.bin。如果文件不存在,则sector.bin的大小为5120个字节,如果文件存在,如文件大小小于10字节程序会给出错误信息,如果文件大小大于等于10字节,则程序会将扇区内容写入文件的偏移位置10开始的5120字节中,文件中的原来信息会被覆盖(如文件长度小于5130字节则文件长度增加)。


   DISKRW [Disk] [Start] [Sectors] [/S|/R|/C] [FileName] [Offset]
      Disk: 0-First Hard Disk, 1-Second Hard Disk, ...
            A:, B:, C:, D: ...
      Start: Disk Absolute Sector 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
      /Offset: The Offset In FileName

2、增加功能 /M
     这个功能在win32版本中早已实现,将磁盘Disk中从位置Start开始的Sectors个扇区内容移动到磁盘DstDisk中Offset的位置,移动后Disk中相应位置的扇区信息会被清除,如移出扇区和移入扇区位置叠加,程序会智能选择要清除的扇区部分。

   DISKRW [Disk] [Start] [Sectors] [/D|/O|/M] [DstDisk] [Offset]
      /D: Duplicate Disk Sector Info from Disk to DstDisk
      /O: cOmpare Disk Sector Info with DstDisk
      /M: Move Disk Sector Info from Disk to DstDisk
      DstDisk: 0-First Hard Disk, 1-Second Hard Disk, ...
               A:, B:, C:, D: ...
      Offset: Disk Absolute Sector Number

3、增加参数 /Asc
     编辑磁盘可以直接使用 ASCII 码,长度不超过16字符。

   DISKRW [Disk] [SectorNo] [Offset] [/E] [/Hex|/Asc]:[Value]
      SectorNo: Disk Absolute Secotor Number
      Offset: Offset in Specified Sector (0..511)
      /E: Edit Disk Sector Info
      /Hex: Hex Style
      /Asc: ASCII Style
      Value: Hex_Digital/ASCII String (32/16 Characters Maximum)

4、扇区内部处理命令(只处理单个扇区)
      如果Bytes输入0或者输入数据较大(超出扇区边界),则程序处理从Offset开始到扇区结束的字节数

     例子:
      Diskrw 0 0 446 /b 64 mbr.dat 备份第一硬盘(磁盘0)第一扇区(0扇区)中偏移位置446开始 的64个字节到文件 mbr.dat。(这里备份的就是磁盘MBR中的分区表信息)
   

   DISKRW [Disk] [SectorNo] [Offset] [/B|/V|/U] [Bytes] [FileName]
      /B: Backup Disk Sector Info to File
      /V: Vertify Disk Sector Info with File
      /U: Update Disk Sector Info from File
      Bytes: Bytes to Process (0..512)

diskrw for Win32
1、修正了显示磁盘扇区函数中存在的bug,当扇区数目为16的倍数时,显示最后一屏时存在的问题,重新写了扇区显示函数。

2、修正了其中一处当磁盘读写失败时,返回值为 SUCCESS 的错误。

http://www.cn-dos.net/forum/atta ... 5c57&download=1

2008.11.13 diskrw for DOS 终结版本 389楼
http://www.cn-dos.net/forum/atta ... ef93&download=1

2008.11.15
diskrw 两栖版本
http://www.cn-dos.net/forum/atta ... 90a9&download=1


2008.11.29 dsptw更新
增加可以显示分区ID值的开关 /GetID (适用于 /L 和 /find 命令)
使用方法:
     dsptw 0 /l /getid
     dsptw 0 /find:all /getid

http://www.cn-dos.net/forum/atta ... 664f&download=1
附件 1: DsptDpit0208.rar (2007-2-27 04:44, 34.37 K, 下载附件所需积分 1点 ,下载次数: 604)
附件 2: dsptw20070808.rar (2007-8-12 12:16, 32.3 K,下载次数: 649)

作者: chenall     时间: 2006-11-2 02:08
下载测试下,没想到两个整合在一起文件小了那么多啊.
作者: cchessbd     时间: 2006-11-2 04:26


  Quote:
Originally posted by 19951001 at 2006-11-2 01:17:
这是应网友 cchessbd 的要求做的这个程序。
将我的两个小工具,diskrw 和 dpit 合成到一起。

程序根据文件名执行不同的功能,
当程序名为 diskrw 时执 ...

谢谢。我的启动盘因为这个已经更新不少次了,呵呵。
不过里面的bat倒不是很需要,就是有个dpit.com,
cab压缩包一下也可以少10k了

[ Last edited by cchessbd on 2006-11-2 at 04:52 AM ]
作者: cchessbd     时间: 2006-11-2 05:02
就是,我刚刚测试了下。恢复出错。
重新下了。测试没有问题。非常感谢!

[ Last edited by cchessbd on 2006-11-2 at 05:09 AM ]
作者: 19951001     时间: 2006-11-2 23:33
2006.11.2更新
1 使用diskrw 功能时当 disk 为A: 或 B:时,限制使用 :N 参数
2 对diskrw 的显示功能的 /p 和 /a 参数重写。
3 一些显示方面的修正。


关于 diskrw 新增加的参数 :N 请参阅压缩包中 readme.txt。

[ Last edited by 19951001 on 2006-11-3 at 02:30 AM ]
作者: chenall     时间: 2006-11-15 04:55
下了新版,再支持一下.
作者: zjnbwdj     时间: 2006-11-15 08:54
没用过,做什么用的?
作者: 19951001     时间: 2006-11-15 22:49


  Quote:
Originally posted by zjnbwdj at 2006-11-15 08:54:
没用过,做什么用的?

http://www.cn-dos.net/forum/viewthread.php?tid=23724&fpage=1
http://www.cn-dos.net/forum/viewthread.php?tid=24133&fpage=1
作者: 19951001     时间: 2006-11-16 22:38
2006.11.16
程序中发现了一个BUG,网友weilong888提出的,现已修正。
请重新下载。
作者: weilong888     时间: 2006-11-19 11:05
下载试了一下。dpit 0 /c dsk0pt.bin这个命令已经能显示done了。可是dpit 0 /s dsk0dbr.bin /dbr却是显示disk read error。看了一下,多了一个1548B的dsk0dbr.bin文件。
作者: 19951001     时间: 2006-11-20 04:56


  Quote:
Originally posted by weilong888 at 2006-11-19 11:05:
下载试了一下。dpit 0 /c dsk0pt.bin这个命令已经能显示done了。可是dpit 0 /s dsk0dbr.bin /dbr却是显示disk read error。看了一下,多了一个1548B的dsk0dbr.bin文件。

我这里暂时没有查出问题,你试一下 Windows版本看是否会出现同样的问题,因为两个版本处理方式是一致的,我会尽快找出bug.

你能否把你的磁盘 mbr 传上来,使用命令
diskrw 0 0 1 /s mbr0.bin
将文件保存到mbr0.bin后将文件传上来。

[ Last edited by 19951001 on 2006-11-20 at 05:04 AM ]
作者: weilong888     时间: 2006-11-20 13:50
现把我的diskrw 0 0 1 /s mbr0.bin中的mbr0.bin文件传上来。楼主看一下,这个bug会在哪里。

[ Last edited by weilong888 on 2006-11-21 at 08:56 AM ]
作者: 19951001     时间: 2006-11-20 22:26


  Quote:
Originally posted by weilong888 at 2006-11-20 13:50:
现把我的diskrw 0 0 1 /s mbr0.bin中的mbr0.bin文件传上来。楼主看一下,这个bug会在哪里。

你是一下这个版本,我更改了查找顺序。

[ Last edited by 19951001 on 2006-12-1 at 03:48 AM ]
作者: gmy     时间: 2006-11-21 00:01
已收到,下一个版本更新.
作者: 19951001     时间: 2006-11-21 03:39
to weilong888:
    我在一台机器上,参照你的mbr方式将磁盘分为3个主分区和一个扩展分区(内有6个分区),操作没有出现问题,11月17日我上传了两个版本,如果你下载的是上午上传的版本,可能有问题,请你重新下载在测试一下,我这里又提供一个版本是按网友chenall要求,能够显示主分区或逻辑分区的版本,也请测试一下。

[ Last edited by 19951001 on 2006-12-1 at 03:49 AM ]
作者: weilong888     时间: 2006-11-21 07:49
附件 1:  new.rar (2006-11-18 03:53 AM, 24.45 K,下载次数: 3) -这个是我下载时做的备注。看样子这个BUG要多几个人试一下,才能发现到底问题出在那里了。
作者: weilong888     时间: 2006-11-21 08:10


  Quote:
Originally posted by 19951001 at 2006-11-20 10:26 PM:


你是一下这个版本,我更改了查找顺序。

试了一下这个版本,dpit 0 /s 0dbr.bin /dbr命令,显示DONE!看来已正常。
作者: chenall     时间: 2006-11-24 01:05
我试了一下.

  Quote:
DISK SECTOR READER/WRITER & PARTITION TOOLS FOR WIN32
COPYRIGHT BY WANGRUILIN, LAST COMPILE DATE: 2006-11-21
E-MAIL: BEST_WRL@YAHOO.COM.CN  or  TSWRL1115@163.COM

Disk  Partitions  Cylinders  Heads  Sectors  TotalSectors   Mbytes
0       5         9562       255     63      153613530     75006
No.    Type     PartitionType    Active   StartSector    Sectors     MBytes
1   Primary      Win95 FAT32     Yes      63            15004647    7326
2   Primary       Hide FAT32              15004710      15711570    7671
*                   Extended              30716280      122897250   60008
3    Logic         HPFS/NTFS              30716343      40965687    20002
4    Logic         HPFS/NTFS              71682093      40965687    20002
5    Logic         HPFS/NTFS              112647843     40965687    20002

这个是有显示Extended了但是前面的NO.也要分配一个分区号.
因为为了知道比如其中的5是第几个逻辑分区.
如果直接从上面看当然知道是第3了.但是如果在批处理中就无法确定了.
如果分配了一个分区号那上面的就是3了.而后面的就相应+1
在批处理中6-3就可以确定是第3个逻辑分区了.
作者: 19951001     时间: 2006-11-24 22:22


  Quote:
Originally posted by chenall at 2006-11-24 01:05:
我试了一下.

这个是有显示Extended了但是前面的NO.也要分配一个分区号.
因为为了知道比如其中的5是第几个逻辑分区.
如果直接从上面看当然知道是砮..

在dos版本中这个扩展分区分配了分区号,在下一版本更新windows版本。
作者: chenall     时间: 2006-11-25 12:09
已下载新版,谢谢.
以后我的工具箱里面的那个程序就可以使用dpitw来处理了,不用GDISK32了.

不过还有一个功能不知可否加上.
就是可以加一个参数修改指定分区为隐藏.
比如我通过DPITW处理后,确定了某个分区,现在想将这个分区隐藏.
比如通过DPITW 0 /hide:6来隐藏dpitw 0 /l 显示的第6个分区.
需要修改分区表将分区标志改为隐藏标志.

[ Last edited by chenall on 2006-11-25 at 12:17 PM ]
作者: chenall     时间: 2006-11-30 03:59
已下载版.
dpitw 0 /hide:6 隐藏第6分区 OK!
dpitw 0 /unhide:6 显示第6分区 OK!
暂时没有发现问题.
作者: cchessbd     时间: 2006-11-30 20:06


  Quote:
Originally posted by chenall at 2006-11-30 03:59:
已下载版.
dpitw 0 /hide:6 隐藏第6分区 OK!
dpitw 0 /unhide:6 显示第6分区 OK!
暂时没有发现问题.

我对这个还有点疑问: 是否只是修改了分区的ID?
如果加入了这个的话,那么我想提几点建议。

1. 加入一个 /act:N的参数也还是有些方便吧
以激活某个主分区,可以取代BOOTMAGIC之类的软件。
重要的是可以命令行操作。没必要进入分区软件的主界面。

2. 如果你能加个 /m的参数 ( Menu ) 来实现菜单向导式操作的话,(或者不带参数默认就进入向导模式,这应该很容易,选什么就做什么)
会觉得易用性要增强不少。

比方DOS下: (这是我后来想的)
输入 dXXX.com (觉得不带参数进入最好) [/m]
输出 版权信息
输出Menu
       1. List disk info                          4. Rebuild MBR
       2. R/S disk pt/dbr                      5. Hide/Act Partion(或者分开最好)
       3. R/S disk sec  
R/S我简写了,真的加入的话可以详细点。



3. /mbr是否也能加进来?这样就可丢掉Fdisk了;目前我是用 spfdisk /mbr,可以重建MBR;

当然,我只是提我的建议。至于要不要加这么多功能,还得要看作者了。
虽然我不提倡把程序做大,但是有些必须的操作确实可以加进来。


附带说下,至于改名以实现没有提示信息,个人觉得每次更新都要改是比较烦的事,要不你就提供所有改过的程序。这样我下下来就可以直接覆盖了。

[ Last edited by cchessbd on 2006-11-30 at 08:09 PM ]
作者: 19951001     时间: 2006-11-30 22:32


  Quote:
Originally posted by cchessbd at 2006-11-30 20:06:


我对这个还有点疑问: 是否只是修改了分区的ID?
如果加入了这个的话,那么我想提几点建议。

1. 加入一个 /act:N的参数也还是有些方便吧
以激活某个主分区,可以取代BOOTMAGIC之类的软件。
重要的是可以命令行操作。没必要进入分区软件的主界面。

2. 如果你能加个 /m的参数 ( Menu ) 来实现菜单向导式操作的话,(或者不带参数默认就进入向导模式,这应该很容易,选什么就做什么)
会觉得易用性要增强不少。

比方DOS下: (这是我后来想的)
输入 dXXX.com (觉得不带参数进入最好) [/m]
输出 版权信息
输出Menu
       1. List disk info                          4. Rebuild MBR
       2. R/S disk pt/dbr                      5. Hide/Act Partion(或者分开最好)
       3. R/S disk sec  
R/S我简写了,真的加入的话可以详细点。



3. /mbr是否也能加进来?这样就可丢掉Fdisk了;目前我是用 spfdisk /mbr,可以重建MBR;

当然,我只是提我的建议。至于要不要加这么多功能,还得要看作者了。
虽然我不提倡把程序做大,但是有些必须的操作确实可以加进来。


附带说下,至于改名以实现没有提示信息,个人觉得每次更新都要改是比较烦的事,要不你就提供所有改过的程序。这样我下下来就可以直接覆盖了。

1、隐藏/显示分区只是修改了分区标志。

2、加入一个 /act:N的参数在下一个版本实现。

3、加入菜单是完全可以,不过最近我要考试了,这个功能的实现要等一段时间。

4、使用参数/mbr,添加标准的MS主引导记录是可以加入的,只是因为我不提倡修改主引导记录,万一遇到某些特殊的主引导记录可能造成系统无法引导。

5、我只保留了最新的版本,以前的版本我一般不保留。


我按照你的要求做了一个新版本,dos下 dpit 加入了 /find:type 参数,type可以为:all、fat、fat12、fat16、fat32、ntfs、linux。

下面是执行 dpit 0  /find:all  的执行结果:

No.    Type     PartitionType    Active   StartSector    Sectors     MBytes
0:1   Primary         DELL FAT              63            64197       31
0:2   Primary        HPFS/NTFS     Yes      64260         20418615    9970
0:3                   Extended              20482875      135749250   66283
0:4    Logic       Win95 FAT32              20482938      21061152    10283
0:5    Logic         HPFS/NTFS              41544153      20482812    10001
0:6    Logic         HPFS/NTFS              62027028      20482812    10001
0:7    Logic         HPFS/NTFS              82509903      20482812    10001
0:8    Logic         HPFS/NTFS              102992778     20482812    10001
0:9    Logic         HPFS/NTFS              123475653     16386237    8001

和ghost的不同是磁盘的标号ghost是从1开始的,我这里是从0开始的,ghost不包含如上的 0:3 分区,如果想做成和ghost一致也是完全可以的。

请从一楼下载。

[ Last edited by 19951001 on 2006-12-1 at 03:09 AM ]
作者: 19951001     时间: 2006-12-1 03:11
11月29版本存在bug,已经修正,如果下载了2006.11.29的版本,请重新下载。
作者: leevi     时间: 2006-12-1 08:35
谢谢分享
楼住辛苦了
很不错的
作者: cchessbd     时间: 2006-12-2 22:01


  Quote:
Originally posted by 19951001 at 2006-11-30 22:32:


1、隐藏/显示分区只是修改了分区标志。

2、加入一个 /act:N的参数在下一个版本实现。

3、加入菜单是完全可以,不过最近我要考试了,这个功 ...

要是没时间就算了。
有了find的功能也不错,至少不会看错分区。
建议显示标准化。有GHOST、GRUB、GRUB2。我也记不太清了,反正是有区别的。
对以后也方便。
作者: 19951001     时间: 2006-12-4 21:50
2006.12.04更新

   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.

2006.12.4
1、dpit实现了 /mbr 参数,重建主引导记录。
2、更改显示信息,更明确。
3、备份 DBR,我查阅了一些资料,FAT32的引导记录为3个扇区,NTFS的引导记录为7个扇区,程序中已经修正。
作者: cchessbd     时间: 2006-12-5 19:59
这个好,希望没有BUG。
哈哈。
辛苦了。

[ Last edited by cchessbd on 2006-12-5 at 08:01 PM ]
作者: 19951001     时间: 2006-12-5 22:10
2006.12.5
fat32引导记录的3个扇区中,第二个包含总的簇数和下一个可用簇,为变值,不可以恢复,现将程序恢复成保存DBR时只保存每个分区的第一个扇区,如果下载了20061204版本请重新下载。

可处理分区每块磁盘增加到40个。

[ Last edited by 19951001 on 2006-12-22 at 06:17 AM ]
作者: cchessbd     时间: 2006-12-8 07:59
或许还可以加一个功能,参考了红蜻蜓(EditTool 1.0)的备份恢复。
/SDE|RDE|CDE 分别表示备份到最后扇区、从最后扇区恢复、与最后扇区备份比较。
这样当所有分区都被删除时,从其他介质重启依然可以恢复。建议全部备份MBR、DBR、PT。然后恢复的时候可以有选择恢复哪一个。
还有的话,建议将四个程序(有、无提示信息各两个)合为一个固定的程序。各个功能,可加适当参数加以实现。
没有一个固定的程序名,我想很难扩大应用范围。SRCTOOLS之所以这么多人用,可不是改名改来的吧。而且要用哪一个程序的话,(我在批处理中)先要改名,而后再调用,用完了diskrw,再用dpit备份,又要改名。恢复也是一样,非常麻烦。加参数的话,我想应该是要方便一点。


保存DBR时只保存每个分区的第一个扇区?
假如我某分区启动信息被另外的软件写入新的数据,而后我想恢复过来怎么办?
作者: cba-xyz     时间: 2006-12-17 12:20
没有显示卷标的功能吗?和GHOST对应的版本是几号的?
作者: 19951001     时间: 2006-12-18 21:47


  Quote:
Originally posted by cba-xyz at 2006-12-17 12:20:
没有显示卷标的功能吗?和GHOST对应的版本是几号的?

由于时间原因显示卷标的功能暂时没有实现,在ghost版本中的分区是不包括总的扩展分区的,也就是其类似的 1:1 1:2 .... 中只包含primary 和 logic 分区。

读取卷标的方法我已经掌握,在将来的版本中我会加入。不过这样程序会越来越大,这不是我希望的。

我最早的版本也没有包含总的扩展分区,后来有网友提出应该加入总的扩展分区,在之后的版本中就加入了。

不同的人有不同的要求,让我也存在一段难度,如果大家能够给出一个标准,我这里编程也就容易了。
作者: 19951001     时间: 2006-12-18 22:16


  Quote:
Originally posted by cchessbd at 2006-12-8 07:59:
或许还可以加一个功能,参考了红蜻蜓(EditTool 1.0)的备份恢复。
/SDE|RDE|CDE 分别表示备份到最后扇区、从最后扇区恢复、与最后扇区备份比较。
这栮..

你需要的功能已经加入,程序不再需要更名实现功能,通过参数识别功能。
程序更名为 “dspt.com” ,含义是Disk Sector & Partition Tools

Syntax:
   DSPT [Disk] [Start] [Sectors] [/S|/R|/C] [FileName] [/Y]
      Disk: 0-First Hard Disk, 1-Second Hard Disk, ...
            A:, B:
      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
      /Y: Assume Yes on all Queries

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

   DSPT [Disk] [/S|/R|/C] [FileName] [/Y]
      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.
      /Y: Assume Yes on all Queries

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

   DSPT [Disk] [/DPS|/DPR|/DPC] [/Y]
      Disk: 0-First Hard disk, 1-Second Hard Disk, ...
      /DPS: Save Disk Partition Info to Last Sectors.
      /DPR: Restore Disk Partiton Info from Last Sectors.
      /DPC: Compare Disk Partiton Info with Last Sectors.
      /Y: Assume Yes on all Queries

新加入功能:
   DSPT [Disk] [Start] [Sectors] [/E] [/Y]
      /E: Clear Disk Sector Info
  该功能是对磁盘扇区信息清除。
  /Y参数是不需要确认,也就是默认为 YES

   DSPT [Disk] [/DPS|/DPR|/DPC] [/Y]
      Disk: 0-First Hard disk, 1-Second Hard Disk, ...
      /DPS: Save Disk Partition Info to Last Sectors.
      /DPR: Restore Disk Partiton Info from Last Sectors.
      /DPC: Compare Disk Partiton Info with Last Sectors.
      /Y: Assume Yes on all Queries
  该功能是将分区表保存到磁盘的最后几个扇区;
  从磁盘最后几个扇区恢复分区表;
  将分区表信息与保存在磁盘最后几个扇区的信息比较。

警告:使用DSPT [Disk] [/DPS|/DPR|/DPC] 功能时要求你确认你的计算机主板支持大硬盘,否则通过bios得到的硬盘容量可能不是硬盘的真实容量,造成取得的硬盘的最后扇区并不是硬盘真实的最后扇区,这样执行该功能时可以导致数据丢失,该功能请慎用,我现在正在考虑是否提供该功能,这只是一个测试版本有时间限制(2006.12.31),也许在将来的版本中我会去掉此功能。

[ Last edited by 19951001 on 2006-12-22 at 05:54 AM ]
作者: yqayan     时间: 2006-12-19 03:15
关注此贴,感谢楼主提供了这么好的工具
作者: zihan     时间: 2006-12-19 04:20
好工具,支持一下
作者: 19951001     时间: 2006-12-19 04:31
如果34楼的测试版本没有问题,到元旦我提供没有时间限制的版本。
作者: cba-xyz     时间: 2006-12-19 09:29
功能多了程序是会越来越大,不过如果和程序无关的当然可以去掉,如果可以的话请加入修改分区标志功能。最早的也不想要了,我希望使用最新的。
建议那个显示总扩展分区和不显示要么能加个参数,能完善一点。

[ Last edited by cba-xyz on 2006-12-19 at 09:36 AM ]
作者: cba-xyz     时间: 2006-12-19 09:32
如果楼主有时间的话编写一个DOS下创建、管理HPA分区的软件,应该很多人想要的吧。如果有兴趣的话,呵呵。
作者: 19951001     时间: 2006-12-20 00:26


  Quote:
Originally posted by cba-xyz at 2006-12-19 09:29:
功能多了程序是会越来越大,不过如果和程序无关的当然可以去掉,如果可以的话请加入修改分区标志功能。最早的也不想要了,我希望使用最新的。 ...

修改分区标志功能已经实现,就是隐藏/显示分区功能。
dspt 0 /hide:3
dspt 0 /unhide:3

加一个参数来控制是否显示是可以的实现的。
作者: 19951001     时间: 2006-12-20 00:29


  Quote:
Originally posted by cba-xyz at 2006-12-19 09:32:
如果楼主有时间的话编写一个DOS下创建、管理HPA分区的软件,应该很多人想要的吧。如果有兴趣的话,呵呵。

关于HPA,目前我没有这方面的资料,如果哪位朋友有的话请提供一下,具体编程实现我想应该是可以的。
作者: yqayan     时间: 2006-12-20 07:57
楼主34楼发的程序不能在NT下的命令行下用吗?

编辑了一下,还有个问题我比较小白,先自己研究一下呵呵

[ Last edited by yqayan on 2006-12-19 at 08:55 PM ]
作者: cba-xyz     时间: 2006-12-20 10:49
目前没有HPA详细资料

一、什么是HPA
Hidden protected area或Host protected area

HPA是在ATA/ATAPI-4里面定义的一个区域,在BIOS可见空间之后,所以通过BIOS访问不到。但是可以通过直接发送AT命令的方式访问。
通俗的理解就是设置读取的硬盘最大的扇区号,从而把高端的内容隐藏起来,这个最大的扇区号能够写在硬盘的某个地方,因此即使你把这个硬盘挂到其它机器上,正常情况下你也看不到隐藏的内容,Fdisk、PowerQuest PartitionMagic 之类的工具也把这个硬盘当做一个稍小容量的硬盘。现在HPA已经是用ATA-5的标准了,这个标准需要在HDD的 Firmware支持的。
phoenix开发的Core Managed Environment (cME)、IBM的Access IBM、联想主板上的recovery easy II,都是利用HPA的例子。

二、目前采用HPA技术的恢复系统简介
(一)系统集成商
1、IBM的Access IBM
    在2003年以后推出的机型,IBM采用新的HPA技术取代以前的基于分区的产品恢复方案(Partition-based recovery solutions)。
HPA在启动过程中通过Enter键或Access Thinkpad键来中断启动过程并激活一个叫做Access IBM Predesktop Menu的程序,该程序可以提供诊断系统、操作系统恢复、BIOS升级/恢复等功能。而原来的D2D系统是通过在开机过程中按F11激活Service Partition,并进行操作系统恢复。HPA技术可以集成Rapid Restore PC功能,可以在HPA分区中对用户数据进行备份。
网上对IBM的一键恢复系统研究的比较多,大家可以在我后面的相关资源中查找。

2、联想的一键恢复4.5及leos系统  (数据最后更新日期:2005年5月19日)
联想的一键恢复系统资料比较少,官方也只是简单的介绍,可下载leos安装光盘进行分析。
3、方正急救恢复系统
方正的急救恢复系统的相关资料太少了,在官方主页也没有找到任何资料,只是在网上下载了厂商部署急救中心工具盘,也没有安装成功。
(二)第三方厂商
1、phoenix的 Phoenix FirstWare Recover Pro
2、超未来资讯有限公司的PCClone v1.64

三、DIY版一键恢复系统设计思路

为什么要DIY?
其它软件臃肿、难以移植、速度不快等。

1、设计要求:通过我们手工改造,实现安装方便、使用稳定,简单、一键恢复系统必须健壮,不易损坏等特点。
2、设计思路:使用HPAtool创建一个(现在还不能确定准确数量,一个还是两个,或者更多)HPA分区,修改MBR代码,使其在启动过程中按某个热键实现从HPA区中启动自己加载的备份软件(从速度等方面考虑,采用Ghost 8.3),进行备份、还原操作。
3、目前存在的问题:
(1)、HPA分区的创建
联想提供了一个工具,HPAtool,2005年4月20日的更新版本为v0.8D。
简单介绍一下该工具在创建一个HPA分区时的使用:
HPATOOL [/TYPEID  xxx(m)/(g)] [/HDDx]
其中,空间将按TypeID先后顺序,从最高扇区向下划分;HDDx为目标硬盘序号。
关于这个TypeID字段,我还是不太理解,依次察看leos安装光盘家悦D机型安装文件 jiayue.bat、 天骄A-X机型安装文件 TJA.bat、天骄E-X机型安装文件 TJE.bat发现
其一、它们都创建了多个分区,然后向相应模块加入到相应分区中。
其二、它们的TypeID字段含义不能理解。
为什么创建多个HPA分区呢?难道多个分区中也存在一个类似“主分区”以实现启动功能的分区吗?在察看了IBM HPA的相关资料后,我发现在HPA分区中确实存在一个类似于硬盘MBR的部分,里面记录了各HPA分区的相关内容,就和分区表相似。但是,在“类似于硬盘MBR的部分”中,“可引导代码”部分和“第一个80分区”是由分区软件创建的?还是后来加入进去的?如果是后来加入进去的,具体的某个数据位代表什么含义呢?联想的已经做成bin模块向进加了。

(2)、如何访问、管理HPA分区
如果是系统集成商的,比如IBM、lenovo,则几乎不是什么问题,采用原装程序即可。但是,我们是DIY的,就必须考虑一下了。
既然int 13不能访问HPA分区,如果才能从该分区启动,并运行Ghost呢?方正提供了一个工具,UlockHPA,该工具运行于DOS环境,可打开HPA分区,进行操作,这只是一个方向。如果按照这个方向进行思考,则:运行该工具所需要的DOS环境从何而来,难道还需要在创建一个主分区安装DOS吗?可以在MBR或者在接下来的几个扇区(前63个扇区)中添加代码,实现相应功能吗?如果这样可以,那最好不过了。当按下热键时,自动打开HPA分区,当备份软件操作完成时,自动关闭该分区(这可能需要本分区其他脚本的支持了)。

(3)、当MBR遭到破坏时,可否手动快速恢复MBR,可否从光盘启动,从HPA分区提取镜像文件,进行恢复呢?
(4)、如何快速、方便的安装一键恢复系统(此为后话,暂且不论)

四、附加资源
Access IBM 技术支持页面
http://www-3.ibm.com/pc/support/ ... S.html#APPLYCOUNTRY

超未来资讯有限公司的PCClone v1.64
http://www.gotofnet.com/Big5/lin ... s/PCClone/index.htm

PCClone硬碟規格測試程式(该工具主要检测你的硬盘是否支持HPA)
http://www.gotofnet.com/Big5/lin ... d/utility/index.htm

联想扬天一键恢复4.0隐藏分区结构
http://faq.lenovo.com.cn:81/docs ... Er77zN1z8dbHoI.html

联想家用电脑新版(v3.0)一键恢复软件说明手册
http://faq.lenovo.com.cn:81/docs ... pa44HJdBCMCctR.html

LEOS系统光盘
http://www.znpc.net/bbs/viewthre ... &extra=page%3D1

备份IBM笔记本隐藏系统分区
http://article.pchome.net/00/01/13/06/index.phtml?40,0


实践高于理论,实践中存在创新。

再唠叨两句:
1、虚拟机不支持HPA分区。
2、请在不重要的硬盘上进行试验。
3、Access IBM HPA header 标准文档 ANSI+NCITS+346-2001。
相关链接地址:http://webstore.ansi.org/ansidoc ... NSI+INCITS+346-2001
遗憾的是,需要$30,哪位有这个标准文档,分享一下,共同研究。
4、我们应以IBM的为原型研究可能比较省力,网上关于IBM的讨论还是有一些的,虽然重复的比较多,ThinkPad 系统恢复光盘可能会对你有用。

注意事项:本人的以上论述参考了本友会论坛和Sysoft 时空论坛以及其他网站的部分文章,对此表示感谢。
本人对HPA技术只是初步研究,以上论述如有不妥之处,敬请各位不吝指教。本篇文章可自由转载,但请保留文件原样,注明出处,并保留注意事项,谢谢。


于200608022028再次更新:

看来有必要介绍一些基础知识了

ATA/ATAPI-4 revision 18 (final draft)
http://t13.org/project/d1153r18-ATA-ATAPI-4.pdf

ATA/ATAPI-5 revision 3 (final draft)
http://t13.org/project/d1321r3-ATA-ATAPI-5.pdf
当然还有ATA/ATAPI-6、ATA/ATAPI-7、ATA/ATAPI-8等其他资料,需要的同志可以从http://www.t13.org/ 下载。

可以去 DOSTOR.com 存储在线 看看白皮书、看看帖子。相关链接:http://www.dostor.com/

http://bbs.wuyou.com/viewthread.php?tid=80412&highlight=hpa
作者: 19951001     时间: 2006-12-22 05:41


  Quote:
Originally posted by cba-xyz at 2006-12-20 10:49:
目前没有HPA详细资料

一、什么是HPA
Hidden protected area或Host protected area

HPA是在ATA/ATAPI-4里面定义的一个区域,在BIOS可见空间之后,所以通过BIOS访问 ...

谢谢提供,我有时间的话,我会仔细研究一下这些材料。
作者: 19951001     时间: 2006-12-22 05:47


  Quote:
Originally posted by yqayan at 2006-12-20 07:57:
楼主34楼发的程序不能在NT下的命令行下用吗?

编辑了一下,还有个问题我比较小白,先自己研究一下呵呵

[ Last edited by yqayan on 2006-12-19 at 08:55 PM ...

34楼的程序是 DOS 程序,不能在 NT 运行,测试正常后我会提供 WIN32 版本。

34楼的程序在新增功能方面存在 BUG, 提供 第二测试版本(不包括磁盘扇区读写)

支持是否显示总的扩展分区,默认为显示,如果加入参数  /NoExt 则不现实,
如果那位朋友的磁盘是这样 分区的请帮忙测试一下这一版本.
1  mbr中第一个分区表项中为扩展分区,其后为主分区;
2  mbr中第一个分区表项中为主分区,第二分区表项为扩展分区,其后为主分区;

[ Last edited by 19951001 on 2006-12-26 at 11:24 PM ]
作者: zihan     时间: 2006-12-23 05:38
很好的工具。我昨天晚上用了一下,很好用。

希望能象FDISK一样能显示分区盘符,并能把磁盘参数(0,1,2)之类的改成从1开始并和GHOST的显示方式一样就好了,提议而已

顺便问一下,楼上(45楼)的是有时间限制的版本吗?我想把它做到我新的光盘的启动中。。。
作者: xuxuezeng     时间: 2006-12-23 11:44    标题: 基于HPA的一键恢复程序

厉害!不过基于HPA的一键恢复程序我已搞了一个出来,只是用了GURB和网上的一键恢复GHOST就是DOS之家的那个,与清华同方的HPA结合在一起,严格的说并没有用程序实现对HPA区域的访问,而且在无忧启动中有有关这方面的详细的介绍,但与我的有些不一样,但思路是一样的!
作者: cchessbd     时间: 2006-12-24 05:15


  Quote:
Originally posted by cba-xyz at 2006-12-19 09:32:
如果楼主有时间的话编写一个DOS下创建、管理HPA分区的软件,应该很多人想要的吧。如果有兴趣的话,呵呵。

我觉得这个没必要。其一是HPA使用的人较少。并且都有自带的管理程序。
并且楼主自己的时间有限。
与其花时间来研究众多的程序是怎么管理的,倒不如来开发更多有用的程序。
到一个比较稳定的时候,是该出一个最终版的。
作者: cba-xyz     时间: 2006-12-24 05:28
创建HPA倒是没关系,要删除HPA不是很容易,因为有很多不同供应商自己创建的HPA,需要删除的话要找对应的工具很麻烦,有些根本找不到。
DPIT好象也可以删除,希望能傻瓜一点。
作者: cba-xyz     时间: 2006-12-25 03:35
1  mbr中第一个分区表项中为扩展分区,其后为主分区;
2  mbr中第一个分区表项中为主分区,第二分区表项为扩展分区,其后为主分区;
只测试了/FIND:ALL和/FIND:ALL NOEXT,结果正确。
作者: xuxuezeng     时间: 2006-12-26 06:28
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 0   /C: 比较完以后,全部相同后返回值是多少?不相同返回值又是多少?
作者: 19951001     时间: 2006-12-26 23:26


  Quote:
Originally posted by xuxuezeng at 2006-12-26 06:28:
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: C ...

比较相同返回值为0; 不相同会在屏幕上显示,返回结果是100
作者: 19951001     时间: 2006-12-26 23:29
最后测试版本,两个功能集成到了一起(diskrw / dpit)
diskrw 新增一个磁盘扇区复制功能。

请大家帮忙测试,如果没有没有问题元旦发布正式版本。

[ Last edited by 19951001 on 2006-12-28 at 01:46 AM ]
作者: cba-xyz     时间: 2006-12-27 10:55
顶,软件越来越完善了。
作者: 19951001     时间: 2006-12-28 01:47
新版本发布,见一楼。
作者: amao     时间: 2006-12-28 20:49
正在下载使用
作者: xuserynamez     时间: 2006-12-29 04:23
dspt 0 /act:* 操作只能在把 Active 标志在几个分区之间切换,但我想将同一硬盘的两个分区同时设成 Active,不知道楼主能不能提供这种功能。(原由:在给U盘分区时,发现用普通的方式去分,即一个主分区(Active),一个逻辑分区,分好区后在XP系统中只能显示出主分区,逻辑分区只能在"磁盘管理"里看到,但没分配盘符,手动也分配不了盘符。后来有一个U盘用iFormat分区后,在XP下两个分区都能正常显示,在"磁盘管理"里看到,这个U盘的两个分区都被设成了主分区(Active)。但我试了FDISK、PQ,都只能设置一个活动标志,没拆了!)
作者: 19951001     时间: 2006-12-29 04:32


  Quote:
Originally posted by xuserynamez at 2006-12-29 04:23:
dspt 0 /act:* 操作只能在把 Active 标志在几个分区之间切换,但我想将同一硬盘的两个分区同时设成 Active,不知道楼主能不能提供这种功能。(原由:在砮..

主分区(Primary)可以有四个,但 活动分区(Active)只能有一个,这个Active分区首先必须是主分区(Primary),Active分区是启动分区,如果有两个ACTIVE分区,则系统将不知道从那个分区启动。
作者: amao     时间: 2006-12-29 04:37
经在VMWare里测试,未格式化的分区被误认为是DOS FAT16分区,实机未测试。
作者: 19951001     时间: 2006-12-29 04:46


  Quote:
Originally posted by amao at 2006-12-29 04:37:
经在VMWare里测试,未格式化的分区被误认为是DOS FAT16分区,实机未测试。

实际机器使用windows的磁盘管理进行分区未格式化的分区也是显示DOS FAT16,这点我测试过,这是因为磁盘管理进行分区时将未格式化的分区标志设置成DOS FAT16,这是windows的处理方式。


ID      Name
        ==      ====
        00h     empty                                                  
                [空]
        01h     DOS 12-bit FAT
                [MS DOS FAT12]
        02h     XENIX root file system
                [MS XENIX 根文件系统]
        03h     XENIX /usr file system (obsolete)
                [MS XENIX /usr 文件系统]
        04h     DOS 16-bit FAT (up to 32M)
                [MS DOS FAT16 支持32M的分区]
        05h     DOS 3.3+ extended partition
                [MS DOS 3.3以上的扩展分区]
        06h     DOS 3.31+ Large File System (16-bit FAT, over 32M)
                [MS DOS 3.31以上大文件系统,支持32M以上分区的FAT16]
        07h     QNX
        07h     OS/2 HPFS
                [IBM OS/2 高性能文件系统]
        07h     Windows NT NTFS
                [MS WindowsNT NT文件系统]
        07h     Advanced Unix
        08h     OS/2 (v1.0-1.3 only)
                [IBM OS/2 仅仅适用于 1.0-1.3版]
        08h     AIX bootable partition, SplitDrive
                [IBM AIX 引导分区,分割驱动器]
        08h     Commodore DOS
        08h     DELL partition spanning multiple drives
                [DELL 跨驱动器分区]
        09h     AIX data partition
                [IBM AIX数据分区]
        09h     Coherent filesystem
                [Coherent 文件系统]
        0Ah     OS/2 Boot Manager
                [IBM OS/2 引导管理器分区]
        0Ah     OPUS
        0Ah     Coherent swap partition
                [Coherent 交换分区]
        0Bh     Windows 95 with 32-bit FAT
                [MS Windows 95 FAT32]
        0Ch     Windows 95 with 32-bit FAT (using LBA-mode INT 13 extensions)
                [MS Windows 95 FAT32 使用LBA模式INT13扩展]
        0Eh     LBA VFAT (same as 06h but using LBA-mode INT 13)
                [LBA VFAT 类似06h但使用LBA模式INT13]
        0Fh     LBA VFAT (same as 05h but using LBA-mode INT 13)
                [LBA VFAT 类似06h但使用LBA模式INT13]
        10h     OPUS
        11h     OS/2 Boot Manager hidden 12-bit FAT partition
                [IBM OS/2 引导管理器的FAT12隐藏分区]
        12h     Compaq Diagnostics partition
                [Compaq 诊断分区]
        14h     (using Novell DOS 7.0 FDISK to delete Linux Native part)
                [使用Novell DOS 7.0的FDISK删除Linux原生分区]
        14h     OS/2 Boot Manager hidden sub-32M 16-bit FAT partition
                [IBM OS/2 引导管理器的小于等于32M的FAT16隐藏分区]
        16h     OS/2 Boot Manager hidden over-32M 16-bit FAT partition
                [IBM OS/2 引导管理器的大于32M的FAT16隐藏分区]
        17h     OS/2 Boot Manager hidden HPFS partition
                [IBM OS/2 引导管理器的HPFS隐藏分区]
        18h     AST special Windows swap file
                [AST 特殊Windows交换文件分区]
        1Bh     Hidden Windows 95 with 32-bit FAT
                [Windows 95 FAT32隐藏分区]
        1Ch     Hidden Windows 95 with 32-bit LBA FAT
                [Windows 95 LBA模式FAT32隐藏分区]
        1Eh     Hidden Windows 95 with LBA BIGDOS
                [Windows 95 LBA模式BIGDOS隐藏分区]
        21h     officially listed as reserved
                [官方保留]
        23h     officially listed as reserved
                [官方保留]
        24h     NEC MS-DOS 3.x
        26h     officially listed as reserved
                [官方保留]
        31h     officially listed as reserved
                [官方保留]
        33h     officially listed as reserved
                [官方保留]
        34h     officially listed as reserved
                [官方保留]
        36h     officially listed as reserved
                [官方保留]
        38h     Theos
        3Ch     PowerQuest PartitionMagic recovery partition
                [PowerQuest PartitionMagic 恢复分区]
        40h     VENIX 80286
        41h     Personal RISC Boot
                [Personal RISC 引导分区]
        42h     SFS (Secure File System) by Peter Gutmann
                [Peter Gutmann安全文件系统]
        4Fh     Oberon
        50h     OnTrack Disk Manager, read-only partition
                [OnTrack Disk Manger 只读分区]
        51h     OnTrack Disk Manager, read/write partition
                [Personal RISC 读写分区]
        51h     NOVELL
        52h     CP/M
        52h     Microport System V/386
        53h     OnTrack Disk Manager, write-only partition???
                [OnTrack Disk Manager只写分区???]
        54h     OnTrack Disk Manager (DDO)
        56h     GoldenBow VFeature
        61h     SpeedStor
        63h     Unix SysV/386, 386/ix
        63h     Mach, MtXinu BSD 4.3 on Mach
        63h     GNU HURD
        64h     Novell NetWare 286
        65h     Novell NetWare (3.11)
        67h     Novell
        68h     Novell
        69h     Novell
        70h     DiskSecure Multi-Boot
        71h     officially listed as reserved
                [官方保留]
        73h     officially listed as reserved
                [官方保留]
        74h     officially listed as reserved
                [官方保留]
        75h     PC/IX
        76h     officially listed as reserved
                [官方保留]
        80h     Minix v1.1 - 1.4a
        81h     Minix v1.4b+
        81h     Linux
        81h     Mitac Advanced Disk Manager
        82h     Linux Swap partition
                [Linux 交换分区]
        82h     Prime
        82h     Solaris
        83h     Linux native file system (ext2fs/xiafs)
                [Linux 原生分区]
        84h     OS/2-renumbered type 04h partition (hiding DOS C: drive)
        86h     officially listed as reserved
                [官方保留]
        87h     HPFS Fault-Tolerant mirrored partition
                [HPFS 容错镜像分区]
        93h     Amoeba file system
                [Amoeba文件系统]
        94h     Amoeba bad block table
                [Amoeba坏块表]
        A1h     officially listed as reserved
                [官方保留]
        A3h     officially listed as reserved
                [官方保留]
        A4h     officially listed as reserved
                [官方保留]
        A5h     FreeBSD, BSD/386
        A6h     officially listed as reserved
                [官方保留]
        B1h     officially listed as reserved
                [官方保留]
        B3h     officially listed as reserved
                [官方保留]
        B4h     officially listed as reserved
                [官方保留]
        B6h     officially listed as reserved
                [官方保留]
        B7h     BSDI file system (secondarily swap)
                [BSDI 文件系统第二交换分区]
        B8h     BSDI swap partition (secondarily file system)
                [BSDI 文件系统第二文件分区]
        C1h     DR DOS 6.0 LOGIN.EXE-secured 12-bit FAT partition
                [DR DOS 6.0 LOGIN.EXE 安全 FAT12分区]
        C4h     DR DOS 6.0 LOGIN.EXE-secured 16-bit FAT partition
                [DR DOS 6.0 LOGIN.EXE 安全 FAT16分区]
        C6h     DR DOS 6.0 LOGIN.EXE-secured Huge partition
                [DR DOS 6.0 LOGIN.EXE 安全巨分区]
        C7h     Syrinx Boot
        D8h     CP/M-86
        DBh     CP/M, Concurrent CP/M, Concurrent DOS
        DBh     CTOS (Convergent Technologies OS)
        E1h     SpeedStor 12-bit FAT extended partition
                [SpeedStor FAT12扩展分区]
        E3h     DOS read-only
                [DOS只读分区]
        E3h     Storage Dimensions
        E4h     SpeedStor 16-bit FAT extended partition
                [SpeedStor FAT16扩展分区]
        E5h     officially listed as reserved
                [官方保留]
        E6h     officially listed as reserved
                [官方保留]
        EBh     BeOS partition
        F1h     Storage Dimensions
        F2h     DOS 3.3+ secondary partition
                [DOS 3.3以上第二分区]
        F3h     officially listed as reserved
                [官方保留]
        F4h     SpeedStor
        F4h     Storage Dimensions
        F6h     officially listed as reserved
                [官方保留]
        FEh     LANstep
        FEh     IBM PS/2 IML
        FFh     Xenix bad block table
                [Xenix坏块表]

[ Last edited by 19951001 on 2006-12-29 at 05:04 AM ]
作者: amao     时间: 2006-12-29 05:04


  Quote:
Originally posted by 19951001 at 2006-12-29 04:46:


实际机器使用windows的磁盘管理进行分区未格式化的分区也是显示DOS FAT16,这点我测试过,这是因为磁盘管理进行分区时将未格式化的分区标志设置栮..

请参考PQ Magic 或许可以借鉴一下,
以及本论坛xusen大侠发过的一篇帖子你或许受到启发,题目忘了。
xusen大侠在深度论坛也发过同样的帖子,题目叫“DeepDOS personal edition“之类的,记得不是很确切了。我现在在国外,这几天访问国内网站很慢(都是地震惹的祸),无法给你链接。你自己去看吧。
这个问题解决了,我认为就可以发正式版了。当然前提是文件不要增大太多。
我这里现在已是半夜,希望过几天有好消息。
作者: cchessbd     时间: 2006-12-29 07:28


  Quote:
Originally posted by amao at 2006-12-29 04:37:
经在VMWare里测试,未格式化的分区被误认为是DOS FAT16分区,实机未测试。

SPFDISK好像不会有这个问题吧。可以去找找他的源码读下。

/ghost 参数最好能显示FAT、NTFS分区的已用空间、剩余空间。
作者: cfgs     时间: 2006-12-30 23:55
楼主能不能做个界面,搞成综合的磁盘管理工具,方便在PE上用。
作者: 19951001     时间: 2006-12-31 00:17


  Quote:
Originally posted by cfgs at 2006-12-30 23:55:
楼主能不能做个界面,搞成综合的磁盘管理工具,方便在PE上用。

这个是 DOS 程序,不‘能在PE上使用。
作者: xuxuezeng     时间: 2006-12-31 05:55


  Quote:
Originally posted by 19951001 at 2006-12-26 23:26:


比较相同返回值为0; 不相同会在屏幕上显示,返回结果是100

谢谢楼主的答复,楼主真历害,我一直在想找一个能在DOS下随意访问扇区的软件,我也准备自己搞一个简单的,但水平不够,没下手,想不到楼主搞出来的又小,功能强大,真是短小精悍哟,支持,!

[ Last edited by xuxuezeng on 2006-12-31 at 05:57 AM ]
作者: 19951001     时间: 2007-1-1 00:57
未格式化分区显示为Dos Fat16,这是微软分区程序设置分区标志造成的,目前我正在查找解决办法,看来这个问题的解决要到2007年了。

如果在使用程序的过程中发现问题,请及时到论坛通告一下,我会尽快修补bug。

有什么功能建议也请提出,我会尽力完成。
作者: amao     时间: 2007-1-1 01:51
有责任心一款好的软件才能面世,支持楼主
作者: yao741     时间: 2007-1-2 00:40
好东东感谢分享。
作者: GOTOmsdos     时间: 2007-1-2 04:24


  Quote:
Originally posted by xuxuezeng at 2006-12-31 05:55 AM:


,我一直在想找一个能在DOS下随意访问扇区的软件,我也准备自己搞一个简单的,但水平不够,没下手,..

建议也可参考我写的TOdisk处理扇区的方式功能非常多,容量也不太大,其最具特色的功能如下:

1
可处理任意的硬盘,分区,扇区,并且支持一次性处理多次任务,这样就可不必多次输入命令,一次性输入命令即可。
2
支持把数据存为文件/文件还原到扇区的功能,并有强大的压缩功能(其内核采用LINUX的同类引擎ZLIB库),还可以分卷。因此,具有GHOST的主体功能,可部分替代GHOST。。。

地址:
http://johnson.tmfc.net/dos/todisk.html

[ Last edited by GOTOmsdos on 2007-1-9 at 06:45 AM ]
作者: fish007yu     时间: 2007-1-2 06:57
顶,,收下了!
作者: 19951001     时间: 2007-1-9 03:40
类ghost的版本 加 /ghost 参数, 硬盘编号从 1 开始 (见附件)

我遇到一个关于 INT25 读磁盘的问题,哪位高手帮忙解决一下,如下:
2007.1.15问题解决

[ Last edited by 19951001 on 2007-1-16 at 02:46 AM ]
作者: GOTOmsdos     时间: 2007-1-9 04:23
感觉19951001兄这个程序的链表保存和恢复功能有一定的实用性,我已下载试用了,保存了,但还未用恢复.
作者: 19951001     时间: 2007-1-9 05:00


  Quote:
Originally posted by GOTOmsdos at 2007-1-9 04:23:
感觉19951001兄这个程序的链表保存和恢复功能有一定的实用性,我已下载试用了,保存了,但还未用恢复.

恢复功能在我这里测试过多次, 均没有发现问题, 应该不会有问题.
作者: GOTOmsdos     时间: 2007-1-9 05:29
可能DISKGEN的回朔功能的保存档案也是保存的分区链表(没仔细看,可能是的)
作者: cchessbd     时间: 2007-1-9 11:30


  Quote:
Originally posted by GOTOmsdos at 2007-1-9 05:29:
可能DISKGEN的回朔功能的保存档案也是保存的分区链表(没仔细看,可能是的)

改动分区应该只需要保存这个。
作者: 19951001     时间: 2007-1-10 02:01
71楼的版本是旧的。

[ Last edited by 19951001 on 2007-1-16 at 02:09 AM ]
作者: lianjiang2004     时间: 2007-1-13 06:24
以前版本的附件基本都删除了。最新版本里是否还有 /ghost 这参数?用于ghost自动备份。
另外,diskrw有,Dpit是否也有用于windows环境下的版本?
谢谢。

[ Last edited by lianjiang2004 on 2007-1-13 at 06:26 AM ]
作者: lianjiang2004     时间: 2007-1-14 00:58
今天发现一个问题。
我的机子第一二分区为主分区,分别装XP,2K。
用grub加载自己的dos img文件进入DOS,第一主分区激活时,正常。切换到第二主分区激活状态下,进入dos后,运行dspt死机(dspt 0 /find:all /noext)。
后用同一img文件,但是进入的是纯dos,不加载任何驱动,又正常。因我要把信息输出到文件,必须生成虚拟盘再操作。
两次除活动主分区不同外,其它条件及加载的驱动完全一致。请问为何不能正常运行?有没什么调试参数能显示死机原因?
原来是用ghost -dd来确定最后分区及活动分区,现想改用dspt,可是竟然出现死机情况。希望软件作者能给与解答。谢谢。

刚才又试了以下,又可以了。糊涂中。。。

[ Last edited by lianjiang2004 on 2007-1-14 at 01:28 AM ]
作者: 19951001     时间: 2007-1-15 22:19


  Quote:
Originally posted by lianjiang2004 at 2007-1-13 06:24:
以前版本的附件基本都删除了。最新版本里是否还有 /ghost 这参数?用于ghost自动备份。
另外,diskrw有,Dpit是否也有用于windows环境下的版本?
谢谢。 ...

/ghost 参数只是为了和 Ghost.exe 的显示兼容,只有76楼的 Dpit 提供这个参数,一楼提供的版本不提供此参数。如果使用 /ghost 参数时硬盘是从1开始的,并且不显示总的扩展分区。

dpit有windows下的版本,我在06.12.5发过
http://bbs.wuyou.com/viewthread.php?tid=84236&highlight=
作者: 19951001     时间: 2007-1-15 22:23


  Quote:
Originally posted by lianjiang2004 at 2007-1-14 00:58:
今天发现一个问题。
我的机子第一二分区为主分区,分别装XP,2K。
用grub加载自己的dos img文件进入DOS,第一主分区激活时,正常。切换到第二主分区 ...

按照你所说的情况,我在机房专门做了两台机器,有两个主分区,启动时激活不同的主分区,运行dspt均没有发现问题。
作者: 19951001     时间: 2007-1-15 22:31
提供一个可以显示 FAT32、NTFS分区卷标的版本。

FAT16卷标是否正确显示我这里没有测试环境,希望大家版本测试一下,并反馈结果。

????? to 管理员:怎么无法上传附近!!!
作者: lianjiang2004     时间: 2007-1-16 01:12


  Quote:
Originally posted by 19951001 at 2007-1-15 22:19:


/ghost 参数只是为了和 Ghost.exe 的显示兼容,只有76楼的 Dpit 提供这个参数,一楼提供的版本不提供此参数。如果使用 /ghost 参数时硬盘是从1开始的, ...

谢谢。
我在本论坛的"一个磁盘分区链表管理工具"里没见到win版。谢谢了。
作者: lianjiang2004     时间: 2007-1-16 01:38
建议增加一个参数,来隐藏版权信息,这样批处理运行中显得更简洁些。
作者: 19951001     时间: 2007-1-16 01:55
to lianjiang2004:
   看79楼。

在最后加入参数 /Y 不显示版权信息,并对所有的确认要求回答为 Y
作者: 19951001     时间: 2007-1-16 01:57    标题: 可显示卷标的版本

提供一个可以显示 FAT32、NTFS分区卷标的版本,并能显示FAT32分区的dos盘符。

FAT16卷标是否正确显示我这里没有测试环境,希望大家版本测试一下,并反馈结果。

见一楼,dpit0115.rar 附近。

[ Last edited by 19951001 on 2007-1-16 at 02:10 AM ]
作者: lianjiang2004     时间: 2007-1-16 02:01
06.12.5的版本中好像没有 /noext的参数了。
能否在以后出的各版本中增加版本号或日期。并附上一个各版本参数的变化情况说明。谢谢。
作者: 19951001     时间: 2007-1-16 02:32


  Quote:
Originally posted by lianjiang2004 at 2007-1-16 02:01:
06.12.5的版本中好像没有 /noext的参数了。
能否在以后出的各版本中增加版本号或日期。并附上一个各版本参数的变化情况说明。谢谢。

可以
作者: lianjiang2004     时间: 2007-1-16 07:33
0115版收下了,谢谢。
FAT16卷标在虚拟机里显示正确。
作者: amao     时间: 2007-1-16 09:45
同楼上结果
但未格式化的那个DOS FAT16 的卷标则是乱码
作者: lianjiang2004     时间: 2007-1-16 20:45
06.12.5发的dpit的windows版本的参数与现在dos版本有差别了,能否推出功能一致的dos版和win版。
谢谢。
作者: 19951001     时间: 2007-1-16 21:08


  Quote:
Originally posted by lianjiang2004 at 2007-1-16 20:45:
06.12.5发的dpit的windows版本的参数与现在dos版本有差别了,能否推出功能一致的dos版和win版。
谢谢。

不是同一时间的版本的参数肯定有差别,等 DOS 版本功能测试稳定后,我会提供功能一致的WIN版本,请有点耐心。
作者: 19951001     时间: 2007-1-16 21:11


  Quote:
Originally posted by amao at 2007-1-16 09:45:
同楼上结果
但未格式化的那个DOS FAT16 的卷标则是乱码

谢谢!我会想办法处理。
作者: lianjiang2004     时间: 2007-1-16 22:59
期待早日得到。呵呵。
作者: cchessbd     时间: 2007-1-18 06:25


  Quote:
Originally posted by 19951001 at 2007-1-16 21:11:


谢谢!我会想办法处理。

/ghost参数我感觉现在没什么用,假如你能把每分区的大小、剩余空间、ID、格式,像aefdisk.exe那样,用环境变量表示,那就最方便了。
这样搞到最好说不定可以做成一个超越aefdisk或pqmagic的命令行分区、磁盘工具。
我觉得这是你的方向。仅供参考。

aefdisk其实也很小的,其实检测参数的最好不要太大,因为这个占空间就没必要了。
作者: cchessbd     时间: 2007-1-18 11:44
你12-28号的有严重问题!!!!

我在虚拟机及真实机器测试,
使用dspt.com 1 /l
只显示done!没有分区信息。
使用dspt.com 1 /s
得到文件是0字节!

请以后发布的版本务必自行仔细测试,确认无误后发布!
谢谢!
作者: lianjiang2004     时间: 2007-1-18 20:55
不是1,应是0吧。
只有ghost版才是1开始。
作者: 19951001     时间: 2007-1-19 01:41
谢谢,各位的测试。

这个问题我也发现了,我在程序开始执行时设置错误代码为0,当检查到磁盘不存在时,直接退出打印错误代码,实际应该在检查到磁盘不存在时应该重新设置一下错误代码。

磁盘不存在时,显示 done!实际没有执行任何操作。
作者: cchessbd     时间: 2007-1-19 01:49


  Quote:
Originally posted by lianjiang2004 at 2007-1-18 20:55:
不是1,应是0吧。
只有ghost版才是1开始。

呵呵,一时激动了点。
赶时间呐
作者: 19951001     时间: 2007-1-19 05:55
to darkradx :

  Quote:
1.问题出现: 同一个XP的GHOST镜像还原到同一台机器两块硬盘, 结果启动不起来
2.解决方案: 先禁用其中一块, 然后下"FDISK /MBR"命令
3.根本原因: XP不允许DiskGUID相同的硬盘出现
(DiskGUID在MBR的0x1B8~0x1BB这4个bytes)
4.需求: 一个比FDISK更小更灵活的程序(FDISK占空间, 而且挂两块或者以上硬盘时候FDISK /MBR不管用)
举例:
查看: DISKGUID 80
随机修改:
DISKGUID 80 /RAMDOM
DISKGUID 80 /CHANGE
指定修改:
DISKGUID 80 0x12345678
DISKGUID 80 "78 56 34 12"
(80,81..还是0,1..随编程者意愿, 都是那个意思)

根据你的功能要求做的程序。

2007.1.22
按照第 100 楼的要求,增加显示更改前后的 GUID。

[ Last edited by 19951001 on 2007-1-22 at 09:45 PM ]
附件 1: diskguid.rar (2007-1-22 21:44, 9.03 K, 下载附件所需积分 1点 ,下载次数: 23)

作者: darkradx     时间: 2007-1-19 14:17
测试了一会, 需求功能都实现了, 真是非常感谢.
再请教几点:
1.提示OK是哪一步呢:a.回写buffer; b.回写buffer且返回值为无误; c. 回写buffer再读出来无误
2.before和after看不到
3.参数0x1234568, 结果是写"12 34 56 78", 可不可以改成写"78 56 34 12"
作者: cchessbd     时间: 2007-1-19 23:01


  Quote:
Originally posted by 19951001 at 2007-1-19 05:55:
to darkradx :



根据你的功能要求做的程序。

我想是你ghost没有加 -pmbr 这一参数(保留原有MBR)
作者: lianjiang2004     时间: 2007-1-19 23:53
能不能提供个带/noext参数的windows版本?谢谢。
作者: 19951001     时间: 2007-1-19 23:59


  Quote:
Originally posted by darkradx at 2007-1-19 14:17:
测试了一会, 需求功能都实现了, 真是非常感谢.
再请教几点:
1.提示OK是哪一步呢:a.回写buffer; b.回写buffer且返回值为无误; c. 回写buffer再读出来无误
2.before和after看不到
3.参数0x1234568, 结果是写"12 34 56 78", 可不可以改成写"78 56 34 12"

1、首先从硬盘读出 mbr 到 buffer,  更改后再回写 buffer 到  mbr。
    当然如果只显示的话不回写,无论读出或写入都要求正确无误。
2、diskguid 0 显示出的是当前的,你更改后,再显示就是新的,
    这样befor 和 after 就都有了
3、参数格式在程序中定义为 0xhhhhhhhh ,不可以写成其它形式,其他形
     式会显示用法。

[ Last edited by 19951001 on 2007-1-20 at 12:07 AM ]
作者: 19951001     时间: 2007-1-20 00:02


  Quote:
Originally posted by lianjiang2004 at 2007-1-19 23:53:
能不能提供个带/noext参数的windows版本?谢谢。

可以,我这几天比较忙,你稍等几天可以吧,给我留个信箱,我发给你
作者: 19951001     时间: 2007-1-20 00:04


  Quote:
Originally posted by cchessbd at 2007-1-19 23:01:


我想是你ghost没有加 -pmbr 这一参数(保留原有MBR)

??? 不知道你在说什么?
作者: demotool     时间: 2007-1-20 00:10
哈哈。支持好东西.谢谢了。
作者: 19951001     时间: 2007-1-20 00:18
鉴于对网友负责的精神,发 dspt 测试版本,有时间限制到2007.3.1。这个版本的磁盘读写功能可以处理 DOS  符,A: B: C: D: ...., 我没有更新帮助信息。

这个版本中,没有格式化的分区卷标显示乱码的问题解决。

到3月1日, 如果没有人报告 BUG , 我发没有时间限制版本,这要做主要是为了防止有问题版本的流传。


2007.1.30  测试版本
请 lianjiang2004 测试一下

[ Last edited by 19951001 on 2007-7-13 at 06:55 PM ]
作者: darkradx     时间: 2007-1-20 00:20


  Quote:
Originally posted by cchessbd at 2007-1-19 11:01 PM:


我想是你ghost没有加 -pmbr 这一参数(保留原有MBR)

其实这个东西有点复杂,

PARTITION镜像恢复到PARTITION
PARTITION镜像恢复到DISK
DISK镜像恢复到DISK
DISK镜像的一个PARTITION恢复到PARTITION

目的盘全新还没有MBR / 目的盘已经存在MBR

GHOST不覆盖MBR也会处理PartitionTable, 那么它从1B8还是1BE开始操作?

而且故障并不只限GHOST时候发生
作者: cchessbd     时间: 2007-1-20 01:12


  Quote:
Originally posted by darkradx at 2007-1-20 00:20:


其实这个东西有点复杂,

PARTITION镜像恢复到PARTITION
PARTITION镜像恢复到DISK
DISK镜像恢复到DISK
DISK镜像的一个PARTITION恢复到PARTITION

目的盘全新还 ...

假如你想保留MBR,加  -pmbr参数;
保留DISKID,加  -fdsp 参数;
清除DISKID,加 -fdsz 参数;
具体可以看图片,即可得知。不信可以自己实验。
图片是在虚拟机里面截的。
不过没有分区的好像都是 00。
这样的话你还是同样的ID,呵呵。一个加一个不加好了。
作者: amao     时间: 2007-1-20 03:46


  Quote:
Originally posted by 19951001 at 2007-1-20 00:18:
鉴于对网友负责的精神,发 dspt 测试版本,有时间限制到2007.3.1。这个版本的磁盘读写功能可以处理 DOS  符,A: B: C: D: ...., 我没有更新帮助信息。

...

已下载,如有问题即刻上报
赞大大人品--网友负责的精神
作者: amao     时间: 2007-1-20 04:21


  Quote:
Originally posted by 19951001 at 2007-1-20 00:18:
鉴于对网友负责的精神,发 dspt 测试版本,有时间限制到2007.3.1。这个版本的磁盘读写功能可以处理 DOS  符,A: B: C: D: ...., 我没有更新帮助信息。

...

19951001兄你确定这个版本上传无误吗?
我下载了两次,在虚拟机了都无法运行,提示 Read Disk Error!
而在同一个虚拟的系统里,12月28日版本则没有问题,运行参数
都是简单的

dspt 0 /l

启动环境也一模一样,来回替换了以上提到的两个版本,都是这样。

[ Last edited by amao on 2007-1-20 at 04:33 AM ]
作者: terse     时间: 2007-1-20 10:31
我想要 显示1:X的版本 用于ghost恢复/备份!
作者: 19951001     时间: 2007-1-22 21:33


  Quote:
Originally posted by terse at 2007-1-20 10:31:
我想要 显示1:X的版本 用于ghost恢复/备份!

在一楼
作者: 19951001     时间: 2007-1-22 21:41


  Quote:
Originally posted by amao at 2007-1-20 04:21:


19951001兄你确定这个版本上传无误吗?
我下载了两次,在虚拟机了都无法运行,提示 Read Disk Error!
而在同一个虚拟的系统里,12月28日版本则没有问 ...

上传的版本是最新的版本,我这里没有虚拟机测试环境,都是在真实系统下进行的测试,我会对代码重新审查一遍,看一下问题在哪。

你用的是 1 楼的版本还是 107 楼的版本?

不是其他网友是否也遇到了同样的问题?

[ Last edited by 19951001 on 2007-1-22 at 09:47 PM ]
作者: amao     时间: 2007-1-22 23:02


  Quote:
Originally posted by 19951001 at 2007-1-22 21:41:


上传的版本是最新的版本,我这里没有虚拟机测试环境,都是在真实系统下进行的测试,我会对代码重新审查一遍,看一下问题在哪。

你用的是 ...

我上面说的是107楼的最新版

一楼的版本我试了,没问题
作者: 19951001     时间: 2007-1-23 04:05


  Quote:
Originally posted by amao at 2007-1-22 23:02:


我上面说的是107楼的最新版

一楼的版本我试了,没问题

我又上传了一个版本,你再试一下,在107楼。
作者: lianjiang2004     时间: 2007-1-23 04:41
为何要 取消参数 /NOEXT 呢?
我正需要这参数,新版本没了。没有/ghost倒没事,简单处理一下就可以。
作者: 19951001     时间: 2007-1-23 05:01


  Quote:
Originally posted by lianjiang2004 at 2007-1-23 04:41:
为何要 取消参数 /NOEXT 呢?
我正需要这参数,新版本没了。没有/ghost倒没事,简单处理一下就可以。

默认为不显示总的扩展分区,也就是默认为 以前的 /NOEXT
增加参数  /EXT 是显示 总的扩展分区

实际没有变化,只不过默认值和以前相反

你要的增加 /noext 参数的 06.12.05 WIN32版本。

[ Last edited by 19951001 on 2007-1-27 at 12:45 AM ]
作者: amao     时间: 2007-1-23 15:52
2007.1.22版本在VMWare测试问题依旧,在真机没问题。
VMWare版本5.5.2 build-29772
作者: lianjiang2004     时间: 2007-1-23 20:47
太谢谢了。:)
作者: 19951001     时间: 2007-1-24 04:44


  Quote:
Originally posted by amao at 2007-1-23 15:52:
2007.1.22版本在VMWare测试问题依旧,在真机没问题。
VMWare版本5.5.2 build-29772

在 107 楼的版本和 1 楼的版本,代码基本是一致的,我现在也没有查清为什么在实际环境中没有问题,可到了虚拟机中就有问题。

给我点时间,我会弄清楚到底是什么问题。
作者: lianjiang2004     时间: 2007-1-24 20:44
期待早日见到带盘符显示的windows版dpit。人的欲望是无止境的。呵呵。
作者: 19951001     时间: 2007-1-24 20:59


  Quote:
Originally posted by lianjiang2004 at 2007-1-24 20:44:
期待早日见到带盘符显示的windows版dpit。人的欲望是无止境的。呵呵。

在Windows下显示盘符和分区对应,相对来说比起 DOS 容易,请耐心等几天,等DOS版本基本没有问题时,我会发布windows版本。
作者: lianjiang2004     时间: 2007-1-24 23:54


  Quote:
Originally posted by 19951001 at 2007-1-24 20:59:

在Windows下显示盘符和分区对应,相对来说比起 DOS 容易,请耐心等几天,等DOS版本基本没有问题时,我会发布windows版本。

谢谢,现在用ghost32获得盘符与分区对应,软件大,运行慢。期待你的作品。
作者: terse     时间: 2007-1-26 06:45
我想运行dpit只显示第一列的1:x 其他都不要  怎么办?
作者: cdy168     时间: 2007-1-26 14:56
这工具是用来做什么的啊~~~我很笨~请指点下~~`
作者: lianjiang2004     时间: 2007-1-26 22:57    标题: 请作者关注这个DPIT显示分区号问题。

请作者关注这个DPIT显示分区号问题。
在同样DOS条件下,运行了启动盘上的dpit(06-12-26版)和ghost获取硬盘分区号。结果发现问题。
不能正确获得分区号,造成ghost自动备份不能正常进行。
请作者确认是否是bug?如何解决?


---------
dpit结果:
No.      Type     PartitionType    Active   StartSector    Sectors     MBytes
0:1     Logic         HPFS/NTFS              31101903      50829597    24819
0:2     Logic         HPFS/NTFS              81931563      163846872   80003
0:3     Logic         HPFS/NTFS              245778498     74380887    36318
0:4    Primary        HPFS/NTFS     Yes      63            31101777    15186
----------
ghost-dd结果
Key[1]   1:1
Path     1:1
Desc     1:1 [VISTA]
Type     NTFS
Disk     0
Offset   63

Key[1]   1:2
Path     1:2
Desc     1:2 [160_1]
Type     NTFS
Disk     0
Offset   31101903

Key[1]   1:3
Path     1:3
Desc     1:3 [160_2]
Type     NTFS
Disk     0
Offset   81931563

Key[1]   1:4
Path     1:4
Desc     1:4 [160_3]
Type     NTFS
Disk     0
Offset   245778498
作者: 19951001     时间: 2007-1-27 00:38


  Quote:
Originally posted by lianjiang2004 at 2007-1-26 22:57:
请作者关注这个DPIT显示分区号问题。
在同样DOS条件下,运行了启动盘上的dpit(06-12-26版)和ghost获取硬盘分区号。结果发现问题。
不能正确获得 ...

不要使用老版本出现的问题,拿到这里报告错误,请使用新版本。

新版本在一楼和107楼。
作者: lianjiang2004     时间: 2007-1-27 01:42


  Quote:
Originally posted by 19951001 at 2007-1-27 00:38:



不要使用老版本出现的问题,拿到这里报告错误,请使用新版本。

新版本在一楼和107楼。

版本其实也不算老吧。因为在你的新出的版本中,全都是测试版,限时有效的。之前的版本是相对稳定版,无限制。有时限的弄到一键恢复盘里,到时别人就无法用了。
而且在你的各版本changes.log里,没说算法改变了,象1、取消参数 /NOEXT
2、增加参数 /EXT这些改变,对我意义不大。对我而言,只要获得分区号(可能的话,获得windows下分区与盘符的对应关系),够用就行,所以就没及时更新版本。
马上更新版本。谢谢你的软件!
作者: terse     时间: 2007-1-27 02:24
假如dpit结果如下:
No.      Type     PartitionType    Active   StartSector    Sectors     MBytes
1:1     Logic         HPFS/NTFS              31101903      50829597    24819
1:2     Logic         HPFS/NTFS              81931563      163846872   80003
1:3     Logic         HPFS/NTFS              245778498     74380887    36318
1:4    Primary        HPFS/NTFS     Yes      63            31101777    15186

在DOS下怎样得到如下显示到1.txt:
1:1  
1:2   
1:3   
1:4

如果有多硬盘是否可以显示到1.txt:
1:1  
1:2   
1:3   
1:4
2:1  
2:2   
2:3   
2:4

[ Last edited by terse on 2007-1-27 at 02:26 AM ]
作者: lianjiang2004     时间: 2007-1-27 02:28    标题: 报告最新版测试结果。结果相同,似有误。

分别用dspt0122,dspt0120,dpit0115,dpit1226版及ghost测试。结果如下:
四个版本结果相同,主分区号不对;另外,有一个分区的卷标有误(应是160_3)。
------------------------------
DSPT0122.TXT
No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
0:1      Logic    160_1       HPFS/NTFS           31101903    50829597   24819
0:2      Logic    160_2       HPFS/NTFS           81931563    163846872  80003
0:3      Logic    `           HPFS/NTFS           245778498   74380887   36318
0:4      Primary  VISTA       HPFS/NTFS      Yes  63          31101777   15186
------------------------------
DSPT0120.TXT
No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
0:1      Logic    160_1       HPFS/NTFS           31101903    50829597   24819
0:2      Logic    160_2       HPFS/NTFS           81931563    163846872  80003
0:3      Logic    `           HPFS/NTFS           245778498   74380887   36318
0:4      Primary  VISTA       HPFS/NTFS      Yes  63          31101777   15186
------------------------------
DPIT0115.TXT
No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
0:1      Logic    160_1       HPFS/NTFS           31101903    50829597   24819
0:2      Logic    160_2       HPFS/NTFS           81931563    163846872  80003
0:3      Logic    `           HPFS/NTFS           245778498   74380887   36318
0:4      Primary  VISTA       HPFS/NTFS      Yes  63          31101777   15186
------------------------------
DPIT1226.TXT
No.      Type     PartitionType    Active   StartSector    Sectors     MBytes
0:1     Logic         HPFS/NTFS              31101903      50829597    24819
0:2     Logic         HPFS/NTFS              81931563      163846872   80003
0:3     Logic         HPFS/NTFS              245778498     74380887    36318
0:4    Primary        HPFS/NTFS     Yes      63            31101777    15186
------------------------------
GHSTSTAT.TXT
Key[1]   1:1
Path     1:1
Desc     1:1 [VISTA]
Type     NTFS
Disk     0
Offset   63

Key[1]   1:2
Path     1:2
Desc     1:2 [160_1]
Type     NTFS
Disk     0
Offset   31101903

Key[1]   1:3
Path     1:3
Desc     1:3 [160_2]
Type     NTFS
Disk     0
Offset   81931563

Key[1]   1:4
Path     1:4
Desc     1:4 [160_3]
Type     NTFS
Disk     0
Offset   245778498

Key[1]   1:1
Path     1:1
Desc     1:1 [VISTA]
Type     NTFS
Disk     0
Offset   63

Key[1]   1:2
Path     1:2
Desc     1:2 [160_1]
Type     NTFS
Disk     0
Offset   31101903

Key[1]   1:3
Path     1:3
Desc     1:3 [160_2]
Type     NTFS
Disk     0
Offset   81931563

Key[1]   1:4
Path     1:4
Desc     1:4 [160_3]
Type     NTFS
Disk     0
Offset   245778498
作者: 19951001     时间: 2007-1-27 06:04
to lianjiang2004:
    我估计是你使用了扩展分区的隐藏功能,才会出现你那样的情况,该功能在这个版本中已经关闭。

2006.1.26的第二版本,请测试一下,还有没有问题。

[ Last edited by 19951001 on 2007-1-27 at 06:47 AM ]
作者: lianjiang2004     时间: 2007-1-27 07:18    标题: 最新版测试结果

从一楼重下的0126版dpit测试结果。结果没变化。【刚才才看到,最新版是在107楼,是另一台机子,明天才能测试了。】
1,参数:dipt 0 /l

Disk  Partitions  Cylinders  Heads  Sectors  TotalSectors   Mbytes
0       5         19929      255     63      320173056     156334

No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
1                            Extended LBA        31101840    289057545  141141
2       Logic                HPFS/NTFS           31101903    50829597   24819
3       Logic                HPFS/NTFS           81931563    163846872  80003
4       Logic                HPFS/NTFS           245778498   74380887   36318
5       Primary              HPFS/NTFS      Yes  63          31101777   15186
-----------------
2,参数:dipt 0 /find:all

No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
0:1                           Extended LBA        31101840    289057545  141141
0:2      Logic                HPFS/NTFS           31101903    50829597   24819
0:3      Logic                HPFS/NTFS           81931563    163846872  80003
0:4      Logic                HPFS/NTFS           245778498   74380887   36318
0:5      Primary              HPFS/NTFS      Yes  63          31101777   15186

[ Last edited by lianjiang2004 on 2007-1-27 at 08:17 AM ]
作者: lianjiang2004     时间: 2007-1-28 01:47    标题: 107楼0126版dspt测试结果同样有误。

107楼0126版dspt测试结果同样有误。
结果表明,如果不改变获得分区号的算法的话,用想同算法,无论用哪个版本获得的结果也必然相同。不同就怪了。呵呵。

下面是结果。
Disk  Partitions  Cylinders  Heads  Sectors  TotalSectors   Mbytes
0       4         19929      255     63      320173056     156334

No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
1       Logic    160_1       HPFS/NTFS           31101903    50829597   24819
2       Logic    160_2       HPFS/NTFS           81931563    163846872  80003
3       Logic    `           HPFS/NTFS           245778498   74380887   36318
4       Primary  VISTA       HPFS/NTFS      Yes  63          31101777   15186
------------------
No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
0:1      Logic    160_1       HPFS/NTFS           31101903    50829597   24819
0:2      Logic    160_2       HPFS/NTFS           81931563    163846872  80003
0:3      Logic    `           HPFS/NTFS           245778498   74380887   36318
0:4      Primary  VISTA       HPFS/NTFS      Yes  63          31101777   15186

期待作者早日解决这个问题。
作者: pfox     时间: 2007-1-28 11:13
0126的版本有没有时间限制?
作者: hnlyzhd     时间: 2007-1-28 11:16
希望继续改进!

目前尚不能显示已经加载IFS驱动后正确分配盘符的NTFS分区的盘符,也不能显示NTFS分区的卷标!

如果能这样就完美了,用它和IFS搭配简直成了绝配!
作者: 19951001     时间: 2007-1-28 23:32
to lianjiang2004:
  能否把你机器的 MBR 传上来? ,我看一下你的 MBR 中分区是怎样的情况。

to pfox:
  一楼的版本没有时间限制,没有加入显示卷标的功能。

to hnlyzhd:
   在107楼的可以显示NTFS的卷标,目前不能显示 IFS 和 NTFS4DOS 加载后分配的DOS 盘符。

[ Last edited by 19951001 on 2007-1-28 at 11:41 PM ]
作者: lianjiang2004     时间: 2007-1-29 08:55


  Quote:
Originally posted by 19951001 at 2007-1-28 23:32:
to lianjiang2004:
  能否把你机器的 MBR 传上来? ,我看一下你的 MBR 中分区是怎样的情况。

这是我的MBR文件。
附件 1: MBR.rar (2007-1-29 08:55, 4.17 K, 下载附件所需积分 1点 ,下载次数: 5)

作者: hnlyzhd     时间: 2007-1-29 09:11
楼主能不能写一个直接在DOS下创建HPA分区的程序,自动把第一主硬盘最后分区设置为HPA分区!
作者: 19951001     时间: 2007-1-29 21:50


  Quote:
Originally posted by hnlyzhd at 2007-1-29 09:11:
楼主能不能写一个直接在DOS下创建HPA分区的程序,自动把第一主硬盘最后分区设置为HPA分区!

有网友也提出过这个问题,只是目前我这里比较忙,暂时还没有列入开发计划。
作者: 19951001     时间: 2007-1-29 22:00
to lianjiang2004:
   请测试新版本,告知一下结果。
作者: jyssysz     时间: 2007-1-29 23:07
楼主的程序真的太实用了,期待完美版本的问世。
作者: hnlyzhd     时间: 2007-1-30 00:39
楼主有时间研究一下AEFDISK32.EXE是如何显示磁盘盘符的!
作者: 19951001     时间: 2007-1-30 01:58


  Quote:
Originally posted by hnlyzhd at 2007-1-30 00:39:
楼主有时间研究一下AEFDISK32.EXE是如何显示磁盘盘符的!

我已经掌握在WIN32环境下显示和分区对应的盘符,没有推出WIN32版本是因为 DOS 版本还不稳定,还在测试中,等 DOS 版本稳定后我会推出 WIN32 版本。
作者: lianjiang2004     时间: 2007-1-30 05:29
谢谢,马上测试。
作者: lianjiang2004     时间: 2007-1-30 06:01    标题: 报告最新测试结果。

报告最新测试结果。
首先感谢作者对我报告问题的关注。用0129版dpit和dspt测试结果如下,正常了。不知是什么原因造成以前版本显示不同的结果?
同时也报告一个不幸的消息,在我另一块硬盘上,dspt不能工作,显示“Read Disk Error!”[注:我启动盘里正好有1227版的dspt,测试结果正常]。而dpit显示正常。结果如下,并附上改硬盘MBR。

dpit:
No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
0:1      Primary  VISTA       HPFS/NTFS      Yes  63          31101777   15186
0:2                           Extended LBA        31101840    289057545  141141
0:3      Logic    160_1       HPFS/NTFS           31101903    50829597   24819
0:4      Logic    160_2       HPFS/NTFS           81931563    163846872  80003
0:5      Logic    `           HPFS/NTFS           245778498   74380887   36318

------------
dspt:
No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
0:1      Primary  VISTA       HPFS/NTFS      Yes  63          31101777   15186
0:2      Logic    160_1       HPFS/NTFS           31101903    50829597   24819
0:3      Logic    160_2       HPFS/NTFS           81931563    163846872  80003
0:4      Logic    `           HPFS/NTFS           245778498   74380887   36318
------------
另一硬盘。
dpit:

No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
0:1      Primary              HPFS/NTFS      Yes  63          15438402   7538
0:2      Primary  pwin2k      Hide HPFS/NTFS      15438465    15293880   7467
0:3                           Extended LBA        30732345    203704200  99464
0:4      Logic                HPFS/NTFS           30732408    20482812   10001
0:5      Logic    MYDATA      HPFS/NTFS           51215283    30732282   15005
0:6   C: Logic    APPZ        Win95 FAT32         81947628    61448562   30004
0:7      Logic    DV          HPFS/NTFS           143396253   90831447   44351
0:8      Logic                Hide FAT16          234227763   208782     101

dspt:
Read Disk Error!
附件 1: MBR120.rar (2007-1-30 06:01, 4.22 K, 下载附件所需积分 1点 ,下载次数: 3)

作者: 19951001     时间: 2007-1-30 06:44


  Quote:
Originally posted by lianjiang2004 at 2007-1-30 06:01:
报告最新测试结果。
首先感谢作者对我报告问题的关注。用0129版dpit和dspt测试结果如下,正常了。不知是什么原因造成以前版本显示不同的结果?
同 ...

谢谢测试,其实 dpit 和 dspt 中关于分区的处理代码是一致的,具体为什么出现读磁盘错误,这个问题我还要重新走查一下代码。

[ Last edited by 19951001 on 2007-1-30 at 06:56 AM ]
作者: lianjiang2004     时间: 2007-1-30 21:27    标题: 有个请求,不知作者以后能否考虑?

有个请求,不知作者以后能否考虑?
具体要求:增加参数,控制是否显示盘符,盘标。
缘由:
我在一键备份恢复的【批处理】中要用dpit在DOS下获取硬盘参数。包括活动主分区号,用于判断备份哪个分区;及最后分区号,用于保存备份文件。
由于dos下for功能的限制,不能象winxp下那个比较简单地获得以上两个分区号。也许是我水平有限,目前我是用12-26版的,这版不显示盘符和盘标,因此前面部分是规则的,我就用列举法查询象“
0:2    Primary        HPFS/NTFS     Yes” 、“0:2    Primary        Win95 FAT32   Yes”等字符,找到的话,那就设定主分区号及分区类型,同理查找最后分区号和类型。
可是在新版本中,增加了盘符和盘标,使得字符串不规则了,我没法确定活动主分区号了。

我很想在以后仍能用dpit代替ghost -dd获取相关参数,当然这是我一个人的要求,提出来很不好意思。不能考虑的话,也没关系。不管如何,这都是一个很不错的工具。
谢谢。

[ Last edited by lianjiang2004 on 2007-1-30 at 09:28 PM ]
作者: anqing     时间: 2007-1-30 23:17
在哪下dpitw最新版,12.5的版不行呀?
作者: 19951001     时间: 2007-1-31 00:31
to lianjiang2004:
   我可以专门给你做一个不显示盘符和卷标的版本。目前我不想加入太多的参数。
   2007.1.30的 dspt请你再测试一下,我是完全的把 dpit 的代码 copy 过去了,我想不应该出现 Read Disk Error!

to anqing:
  新版本还未发,老版本在无忧可以下。

[ Last edited by 19951001 on 2007-1-31 at 12:44 AM ]
作者: anqing     时间: 2007-1-31 00:37
期待早日发呀
作者: lianjiang2004     时间: 2007-1-31 01:06    标题: 0130版dspt测试结果:两块硬盘显示均正常。

0130版dspt测试结果:两块硬盘显示均正常。
若能提供dos下不带盘符和卷标的版本,那就太谢谢了。
2.1-2.6去港澳,2.8-月底回老家过年,这段时间可能就没时间测试新版本了。
期待你的正式版早日发布!

dspt
No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
0:1      Primary              HPFS/NTFS      Yes  63          15438402   7538
0:2      Primary  pwin2k      Hide HPFS/NTFS      15438465    15293880   7467
0:3      Logic                HPFS/NTFS           30732408    20482812   10001
0:4      Logic    MYDATA      HPFS/NTFS           51215283    30732282   15005
0:5   C: Logic    APPZ        Win95 FAT32         81947628    61448562   30004
0:6      Logic    DV          HPFS/NTFS           143396253   90831447   44351
0:7      Logic                Hide FAT16          234227763   208782     101
dpit
No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
0:1      Primary              HPFS/NTFS      Yes  63          15438402   7538
0:2      Primary  pwin2k      Hide HPFS/NTFS      15438465    15293880   7467
0:3                           Extended LBA        30732345    203704200  99464
0:4      Logic                HPFS/NTFS           30732408    20482812   10001
0:5      Logic    MYDATA      HPFS/NTFS           51215283    30732282   15005
0:6   C: Logic    APPZ        Win95 FAT32         81947628    61448562   30004
0:7      Logic    DV          HPFS/NTFS           143396253   90831447   44351
0:8      Logic                Hide FAT16          234227763   208782     101
作者: 19951001     时间: 2007-1-31 06:11
to lianjiang2004:

你要的不显示盘符和卷标的版本,没有时间限制。

[ Last edited by 19951001 on 2007-2-6 at 06:05 AM ]
作者: lianjiang2004     时间: 2007-1-31 06:32


  Quote:
Originally posted by 19951001 at 2007-1-31 06:11:
to lianjiang2004:

你要的不显示盘符和卷标的版本,没有时间限制。

收下了,谢谢!
作者: pfox     时间: 2007-2-8 22:49


  Quote:
Originally posted by 19951001 at 2007-1-28 11:32 PM:
to pfox:
  一楼的版本没有时间限制,没有加入显示卷标的 ...

一楼的版本不符合我的要求,要107喽版本的无限制版,看来只有期待3月1日了。
作者: pfox     时间: 2007-2-8 22:54


  Quote:
Originally posted by lianjiang2004 at 2007-1-30 09:27 PM:
有个请求,不知作者以后能否考虑?
具体要求:增加参数,控制是否显示盘符,盘标。
缘由:
我在一键备份恢复的【批处理】中要用dpit在DOS下获取 ...

为什么不用lmod配合tfind处理呢?
作者: cchessbd     时间: 2007-2-10 05:38
可以发正式版了吗
作者: llztt1     时间: 2007-2-11 07:50
请解决

把加载IFS或NTFS驱动后的盘符加进去
添加功能:默认不加硬盘号参数,就操作所有硬盘

谢谢哈
作者: terse     时间: 2007-2-11 10:23
为什么不能象GHOST一样以1:X表示第一硬盘 2:X表示第二硬盘呢?
我用dipt 1 /find:all 得到的是 1:X 自动ghost还是麻烦啊!
也许是我用的不对吧!有没有同时显示多块硬盘的参数啊?
作者: llztt1     时间: 2007-2-11 13:32
只要硬盘分区结构解析正确,统一一个标准就行,反正都得用批处理分析之

19951001能给我一份无限制的不显示盘符的吧??谢谢
作者: lianjiang2004     时间: 2007-2-11 22:01
只要硬盘分区结构解析正确,统一一个标准就行,反正都得用批处理分析之
-----------------
同意。这是问题关键。其它只是形式问题。
作者: llztt1     时间: 2007-2-11 22:29
lianjiang2004
发给我一份无限制不显盘符的DPIT吧,做网刻批处理用
现在一楼的版本显盘符,我觉得显示不了IFS加载后NTFS盘符这个问题没解决前 显示盘符功能就算鸡肋了
还有一楼那个版本我用DPIT /1 /L正常,一加/NOEXT 竟然就参数错误,出来一大堆使用介绍
作者: lianjiang2004     时间: 2007-2-12 00:49
你翻一下,几天前作者发了个无限制,不显示盘符卷标的版本。我现在是在老家,用电话上网,非常慢。也可下个2006-12-26版本。
下面是061226版。不知能否传上去。

[ Last edited by lianjiang2004 on 2007-2-12 at 01:10 AM ]
附件 1: dpit1226.rar (2007-2-12 01:09, 14.48 K, 下载附件所需积分 1点 ,下载次数: 14)

作者: llztt1     时间: 2007-2-12 04:40
OK,测试正常,/NOEXT也能使用了,多谢啦,呵呵
作者: llztt1     时间: 2007-2-12 22:57
发现DPIT AEFDISK等工具都没有很全面显示硬盘分区结构,譬如我设置硬盘有空的未分配空间,DPIT或AEFDISK都无视之,只显示出了已经划分过分区,而XUSEN工具盘中的PSI就好些了,显示结果和WINDOWS下看到的一致。。
是不是我应用的参数不对,我就用了DPIT 0 /L来显示分区机构的。。
作者: 19951001     时间: 2007-2-13 00:05


  Quote:
Originally posted by terse at 2007-2-11 10:23:
为什么不能象GHOST一样以1:X表示第一硬盘 2:X表示第二硬盘呢?
我用dipt 1 /find:all 得到的是 1:X 自动ghost还是麻烦啊!
也许是我用的不对吧!有没有同时显示多块硬盘的参数啊?

DPIT 加入 /ghost 参数可以满足你的要求
作者: 19951001     时间: 2007-2-13 00:11


  Quote:
Originally posted by llztt1 at 2007-2-11 22:29:
lianjiang2004
发给我一份无限制不显盘符的DPIT吧,做网刻批处理用
现在一楼的版本显盘符,我觉得显示不了IFS加载后NTFS盘符这个问题没解决前 显示盘 ...

我现在遇到一个问题,就是怎样判断系统中加载 IFS 或 NTFS4DOS ,枚举内存驻留程序会使整个程序增大很多,对于加载了 IFS 或 NTFS4DOS的系统,读写其生成的 DOS 盘符的方式和其他是不同的,请有点耐心我正在想办法处理。
作者: 19951001     时间: 2007-2-13 00:14


  Quote:
Originally posted by lianjiang2004 at 2007-2-12 00:49:
你翻一下,几天前作者发了个无限制,不显示盘符卷标的版本。我现在是在老家,用电话上网,非常慢。也可下个2006-12-26版本。
下面是061226版。不知 ...

061226版本存在一个小BUG, 对于非标准的 硬盘分区表显示时会出现标号错误。

[ Last edited by 19951001 on 2007-2-13 at 12:18 AM ]
作者: 19951001     时间: 2007-2-13 00:17


  Quote:
Originally posted by llztt1 at 2007-2-12 22:57:
发现DPIT AEFDISK等工具都没有很全面显示硬盘分区结构,譬如我设置硬盘有空的未分配空间,DPIT或AEFDISK都无视之,只显示出了已经划分过分区,而XUSEN工 ...

目前,软件根据硬盘的分区链表来检索硬盘分区的,因而不会检索未分配的空间。
作者: 19951001     时间: 2007-2-13 00:24
to 各位网友:
   很多网友给我发消息,要我尽快发正式版本,我只能说句抱歉,
   我现在在家里,暂时发不了正式版本,2月26日返京。
作者: llztt1     时间: 2007-2-13 00:36
呵呵,一上就回了这么多帖子哈
我的建议综合一下哈
1、参数中没指明硬盘号,就等同于操作所有硬盘,否则我们得用批处理判断生成的信息来枚举所有硬盘
2、正确显示IFS和NTFSDOS加载后的盘符
3、可否增加全面解析分区结构,包括未分配空间,以及可否显示分区可用空间,具体参看下面的PSI生成的结果,这功能可以让用户全面了解硬盘当前使用情况

我的出发点是批处理分析程序运行结果,以供单机或网络GHOST。PSI不错但太大了900多K呢,希望19951001能早日解放我们,呵呵

Disk 0:
N  L Type     FS      Size        Active Hidden Label      Used       Free
0  G Primary  NTFS    2.0 GB      Yes    No                778.4 MB   1.2 GB
1    Extended         996.2 MB                                    
2  H  Logical NTFS    800.1 MB    No     No     盃w        6.5 MB     793.5 MB
3     Logical Unform  196.1 MB                                    
4    Primary  Free    102.0 MB                                    
5  C Primary  FAT 32  596.2 MB    No     No                1.2 MB     595.0 MB
6    Primary  Free    392.2 MB                                    


Disk 1:
N  L Type     FS      Size        Active Hidden Label      Used       Free
0  I Primary  NTFS    500.0 MB    No     No     盃w        5.1 MB     495.0 MB
1  D Primary  FAT 32  500.1 MB    No     No                2.0 MB     498.1 MB
2    Extended         299.2 MB                                    
3  J  Logical NTFS    100.4 MB    No     No     盃w        2.5 MB     97.9 MB
4  K  Logical NTFS    88.6 MB     No     No     盃w        2.5 MB     86.1 MB
5     Logical Free    110.2 MB                                    
6    Primary  Unform  100.4 MB                                    
7    Primary  Free    133.9 MB
作者: jasonwang     时间: 2007-2-13 05:15
兄弟我在EMAIL给你留言了,竟然得不到回复啊?着急中。。。。。。
作者: amao     时间: 2007-2-14 20:41
dpit
No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
0:1      Primary              HPFS/NTFS      Yes  63          15438402   7538
0:2      Primary  pwin2k      Hide HPFS/NTFS      15438465    15293880   7467
0:3                           Extended LBA        30732345    203704200  99464
0:4      Logic                HPFS/NTFS           30732408    20482812   10001
0:5      Logic    MYDATA      HPFS/NTFS           51215283    30732282   15005
0:6   C: Logic    APPZ        Win95 FAT32         81947628    61448562   30004
0:7      Logic    DV          HPFS/NTFS           143396253   90831447   44351
0:8      Logic                Hide FAT16          234227763   208782     101


先引用lianjiang2004兄的磁盘信息列表,再提出我的一点建议。
你已经发布了没有卷标的版本,不过还是通过参数来实现比较好。对使用ghost来说,卷标不是那么重要,而磁盘可用空间比较重要,这一点前面的网友也已经提及。

还有PartType一列,由于Hide Win95 FAT32, Linux Native等最好用下划线连接让这一列变得有规律起来,变成如Hide_Win95_FAT32, Linux_Native. HPFS/NTFS已连接就没必要了。还有Act一列,如果不是就写上No,这一点可参看psi的列表。因为当出现磁盘结果解析不正确的时候(lianjiang2004所遇到的情况),取offset一列的数值就显得比较重要了。如果每一列都有规律,会节省很多批处理分析的过程。
当然这只是提议,不过不这样的话还是可以取到那一列的值的。

目前觉得最重要的还是区分好格式化与未格式化的FAT16分区。
作者: 19951001     时间: 2007-2-14 21:20


  Quote:
Originally posted by amao at 2007-2-14 20:41:
先引用lianjiang2004兄的磁盘信息列表,再提出我的一点建议。
你已经发布了没有卷标的版本,不过还是通过参数来实现比较好。对使用ghost来说,卷标不是那么重要,而磁盘可用空间比较重要,这一点前面的网友也已经提及。

还有PartType一列,由于Hide Win95 FAT32, Linux Native等最好用下划线连接让这一列变得有规律起来,变成如Hide_Win95_FAT32, Linux_Native. HPFS/NTFS已连接就没必要了。还有Act一列,如果不是就写上No,这一点可参看psi的列表。因为当出现磁盘结果解析不正确的时候(lianjiang2004所遇到的情况),取offset一列的数值就显得比较重要了。如果每一列都有规律,会节省很多批处理分析的过程。
当然这只是提议,不过不这样的话还是可以取到那一列的值的。

目前觉得最重要的还是区分好格式化与未格式化的FAT16分区。

1、列出磁盘空间功能,我也正在写相关的代码,这个功能我会实现的。
2、使用下划线连接,采纳
3、非引导分区添加 NO 本人认为没有必要,不采纳
4、关于格式化和未格式化的 FAT16 ,我曾经给你发过消息,让你传一下引导区的内容,可是你没理我。
作者: amao     时间: 2007-2-15 00:38
RE 楼主
4、关于格式化和未格式化的 FAT16 ,我曾经给你发过消息,让你传一下引导区的内容,可是你没理我。

我也给你回复过说,我的是在VMWare里虚拟的,你要不要,然后就没下文了。
作者: 19951001     时间: 2007-2-15 01:57


  Quote:
Originally posted by amao at 2007-2-15 00:38:
RE 楼主
4、关于格式化和未格式化的 FAT16 ,我曾经给你发过消息,让你传一下引导区的内容,可是你没理我。

我也给你回复过说,我的是在VMWare里虚拟的,你要不要,然后就没下文了。

我并没有收到你发消息
作者: amao     时间: 2007-2-15 02:04


  Quote:
Originally posted by 19951001 at 2007-2-15 01:57:


我并没有收到你发消息

抱歉,看来以后发到你的dpit显示的邮箱比较好,实在对不起。
作者: maxfull     时间: 2007-2-19 13:41
非常好的软件。
我想要个非常简单的FOR WIN版本,不知道楼主能否帮我实现,在下感激不尽。
我想要的版本,定位某个盘符存在于第几个硬盘的第几个分区。(一定要For Win)
如: dpit e: >a.txt
输出的 a.txt 的结果如下: 1:4   
或者  2:4
代表意义如 1:4 为E:盘符存在于第一硬盘的第四个分区,2:4 为E:盘符存在于第二硬盘的第四个分区。
作者: lianjiang2004     时间: 2007-2-20 06:15


  Quote:
Originally posted by maxfull at 2007-2-19 13:41:
非常好的软件。
我想要个非常简单的FOR WIN版本,不知道楼主能否帮我实现,在下感激不尽。
我想要的版本,定位某个盘符存在于第几个硬盘的第几 ...

个人以为不太可能,毕竟这只是一个特定功能。至少需自己处理输出结果。
作者: pygajzlh     时间: 2007-2-21 01:37
收下了
作者: terse     时间: 2007-2-24 12:21


  Quote:
Originally posted by 19951001 at 2007-2-13 00:05:


DPIT 加入 /ghost 参数可以满足你的要求

DPIT /ghost  死机?怎么回事啊?
作者: cchessbd     时间: 2007-2-26 05:25
终于出正式版本了。
高兴啊……

只是不知道什么时候可以测试,现在没有电脑了。。。

请有问题(假如有的话)的尽快反馈!
作者还是很负责的。
作者: llztt1     时间: 2007-2-26 10:08
嘛时候出正式版了?
作者: 19951001     时间: 2007-2-27 04:38
to maxfull:

  Quote:
Originally posted by maxfull at 2007-2-19 13:41:
非常好的软件。
我想要个非常简单的FOR WIN版本,不知道楼主能否帮我实现,在下感激不尽。
我想要的版本,定位某个盘符存在于第几个硬盘的第几 ...

如果你却是确实需要我可以专门给你提供一个定制的版本。
作者: 19951001     时间: 2007-2-27 04:39


  Quote:
Originally posted by terse at 2007-2-24 12:21:

DPIT /ghost  死机?怎么回事啊?

看一下用法。
作者: 19951001     时间: 2007-2-27 04:44
经过将近一个月的测试,基本没有发现问题,正式版本在一楼。

将在3月底前发布相同功能的Win32版本


后续版本计划:
1、实现列出磁盘剩余空间功能
2、支持IFS和NTFS4DOS生成的盘符
3、解决未格式化分区显示未 DOS FAT16的问题


如果有什么要求可以提出来,我会酌情采纳。

[ Last edited by 19951001 on 2007-2-27 at 05:05 AM ]
作者: terse     时间: 2007-2-27 04:55
DPIT /ghost  死机
一定要加1 或0吗
我想检测多硬盘的
作者: 19951001     时间: 2007-2-27 05:04


  Quote:
Originally posted by terse at 2007-2-27 04:55:
DPIT /ghost  死机
一定要加1 或0吗
我想检测多硬盘的

使用命令 dpit 1 /l /ghost
相当于命令 dpit 0 /l /noext

提供的版本不支持一次检测多个硬盘,以前我发过一个可以检测多个硬盘的版本,不过我现在已经找不到了
作者: lianjiang2004     时间: 2007-2-27 05:26
请教:正式版与以前提供给我的去显示盘符功能的版本在获取硬盘分区号的代码是否一样?有改善吗?
作者: cchessbd     时间: 2007-2-27 05:48
论坛有问题啊,下不了哦
作者: amao     时间: 2007-2-27 12:54
先下载看看有什么改进
作者: llztt1     时间: 2007-2-27 17:29
关于使用时显示版权问题
现在使用DPIT 0 /L >NUL或>FILE 都会在显示器上显示版权信息,很碍眼啊,一个干干净净的批处理非多出几个版权信息,实在不好看,保护版权是应该,但做到这一步就没必要了吧
作者: 19951001     时间: 2007-2-27 22:55


  Quote:
Originally posted by llztt1 at 2007-2-27 17:29:
关于使用时显示版权问题
现在使用DPIT 0 /L >NUL或>FILE 都会在显示器上显示版权信息,很碍眼啊,一个干干净净的批处理非多出几个版权信息,实在不好看,保护版权是应该,但做到这一步就没必要了吧

你最好看一下一楼的用法以后,再提问题,我在一楼的用法中明确指出了不显示版权的参数。
作者: 19951001     时间: 2007-2-27 22:59


  Quote:
Originally posted by lianjiang2004 at 2007-2-27 05:26:
请教:正式版与以前提供给我的去显示盘符功能的版本在获取硬盘分区号的代码是否一样?有改善吗?

主要代码基本没有变动,在检测非法参数方面有一定增强,其他就是在显示分区类型的格式略微有变动,如 HIDE FAT32 变为 HIDE_FAT32
作者: amao     时间: 2007-2-28 02:42


  Quote:
Originally posted by 19951001 at 2007-2-27 22:59:


主要代码基本没有变动,在检测非法参数方面有一定增强,其他就是在显示分区类型的格式略微有变动,如 HIDE FAT32 变为 HIDE_FAT32

这几天有点忙,估计要过几天才能测试了。
作者: maxfull     时间: 2007-2-28 03:34


  Quote:
Originally posted by 19951001 at 2007-2-27 04:38:
to maxfull:



如果你却是确实需要我可以专门给你提供一个定制的版本。

当然是非常必要的,另,我就是写MAIL给你的人,希望可以尽快帮我定制个,真的非常感谢。最后希望尽快发布可以显示NTFS4DOS盘符的版本,这样才真正实现备份自动货。

[ Last edited by maxfull on 2007-2-28 at 05:29 AM ]
作者: surry100     时间: 2007-3-6 13:24
下一个版本更新.
作者: maxfull     时间: 2007-3-14 02:23
请问楼主什么时候可以更新啊,还有什么时候可以帮我定制一个我要的版本呢,非常感谢。
作者: terse     时间: 2007-3-14 13:03
能否再发一个可以检测多个硬盘的版本呢?如果可以的话!现在多盘的情况也不少,我以为!我是放在U盘里的  因为我的U盘不同的机器是不一样的参数!在我现在的机器上是第一硬盘,在其他机器有时表现为第二硬盘!因此有一个通用的版本才是我想的!

[ Last edited by terse on 2007-3-14 at 01:07 PM ]
作者: xuxuezeng     时间: 2007-3-22 11:08
楼主牛呀!精神值得大家学习!
作者: lwf8888     时间: 2007-3-22 11:43
楼主什么时候可以更新啊?
作者: terse     时间: 2007-3-24 02:43
下了最新版的  放在U盘启动进DOS U盘被认为第一硬盘 运行dspt 1 /find:all /ghost 结果为:
No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
1:1      Primary              HPFS/NTFS      Yes  63          10522512   5137
1:2   D: Logic    NO NAME     Win95_FAT32         10522638    42106302   20559
1:3   E: Logic    NO NAME     Win95_FAT32         52629003    19454652   9499
1:4   F: Logic    NO NAME     Win95_FAT32         72083718    42106302   20559
1:5   G: Logic    NO NAME     Win95_FAT32         114190083   42106302   20559
而我此时的物理硬盘在DOS下是被作为第二硬盘的啊!
怎么还是出现1:1  1:2 .......?怎样才会表达2:X.......?
作者: lwsxlq     时间: 2007-3-30 11:16
好!下来试用!谢谢!!!
作者: gl8672     时间: 2007-3-31 03:37    标题:


作者: lianjiang2004     时间: 2007-3-31 10:28
月底了,该更新了吧?呵呵。
等了好久了。
作者: shl19720610     时间: 2007-4-20 11:04
谢谢提供!!1
作者: lianjiang2004     时间: 2007-4-23 02:05
作者何时能现身,发布新版本呀。等了好久了。呵呵。
作者: 19951001     时间: 2007-5-2 22:47
很对不起大家,这段时间我出差了,不能上网。windows版本的发布要推迟到6月份,望谅解。
作者: lianjiang2004     时间: 2007-5-3 06:07


  Quote:
Originally posted by 19951001 at 2007-5-2 22:47:
很对不起大家,这段时间我出差了,不能上网。windows版本的发布要推迟到6月份,望谅解。

有消息就好。可以等。
作者: hht168     时间: 2007-5-5 18:03    标题: 一个好用的启动盘文件

一个好用的启动盘文件
作者: jackup     时间: 2007-5-14 20:54
地地道道dddddddddddddddddddddddddddddd
作者: q8q8feng     时间: 2007-5-16 13:13
支持一下
作者: lianjiang2004     时间: 2007-6-5 19:08
6月份了,盼作者早日现身。呵呵。
作者: clonecd     时间: 2007-6-6 00:31
晕,对5.29增加的工具没有一点说明,难道一定要到DOS下 使用DPR /? 才行
作者: lianjiang2004     时间: 2007-6-6 07:44
没注意,填了个新工具。试了一下,有些用。谢了。
作者: lianjiang2004     时间: 2007-6-6 10:14
把dpr的功能加入diskrw/dpit的windows版就好了。
不知何时能推出。
关注中
作者: hwlon2     时间: 2007-6-6 16:08
看起来非常好的软件
作者: 19951001     时间: 2007-6-10 11:18
谢谢各位的关注,5月底出差刚回来,本打算回来把win32版本完善一下发出去,可是又有急活,6月初又出差了,我现在外地,如果系统测试顺利的话估计还要1周 的时间就可以回去了
作者: 19951001     时间: 2007-6-15 21:08    标题: Dspt 的Win32版本

由于时间匆忙,发DSPT的Win32测试版本,有时间限制到2007.7.15,请大家测试,如果没有问题发正式版本。

Win32版本功能和dos下的dspt基本一致,用法也相同。

新增显示硬盘物理序列号功能

新增参数 /pdr
该参数的作用是显示Win32下盘符与分区关系,严格按照Ghost形式,也是这里显示的分区参数和ghost完全一致。

用法:

dsptw /a /pdr
dsptw /a /pdr /reverse 以逆序显示
上述两条命令可以对多个硬盘进行显示

daptw c: /pdr


搞不明白,我上传了多次,怎么每次上传后再下载下来,文件已经坏了

只能上传大小为4K的文件,如果大于4K显示服务器空间已满,不能上传


程序返回错误代码:
#define RUN_WITHOUT_ERROR 0
#define READ_DISK_ERROR 1
#define WRITE_DISK_ERROR 2
#define OPEN_FILE_ERROR 3
#define CREATE_FILE_ERROR 4
#define READ_FILE_ERROR 5
#define WRITE_FILE_ERROR 6
#define FILE_SIZE_ERROR 7
#define OPEN_DISK_ERROR 8
#define DISK_SEEK_ERROR 9
#define FILE_SEEK_ERROR 10
#define TOO_MANY_PARTITIONS 11
#define PARTITION_NUMBER_ERROR 12
#define PARTITION_CANNOT_BE_HIDDEN 13
#define PARTITION_CANNOT_BE_UNHIDDEN 14
#define ONLY_PRIMARY_PARTITION_CAN_BE_ACTIVE 15
#define UNSURPPORT_PARTITION 16
#define DISK_ERROR 17
#define PARAMETER_ERROR 18
#define SECTORS_ERROR 19
#define USER_CANCEL 20
#define PRINT_OK 100
#define PROGRAM_NAME_ERROR 200
#define START_POSITION_ERROR 201
#define EXPIRED_DATE 202
#define OPERATION_ERROR 203
#define PROGRAM_SIZE_ERROR 204
#define LIST_ERROR 205
#define COMPARE_MISMATCH 206
#define UNKNOWN_ERROR 1000

[ Last edited by 19951001 on 2007-6-16 at 08:41 AM ]
作者: wang6610     时间: 2007-6-15 21:46
包包不完整。。。。
作者: lianjiang2004     时间: 2007-6-15 22:12
文件坏的,请重新上传。
作者: lianjiang2004     时间: 2007-6-16 12:14
可点右上的“上传”,上传文件
http://zhenlove.com.cn/cndos/fileup/
作者: 19951001     时间: 2007-6-16 18:42


  Quote:
Originally posted by lianjiang2004 at 2007-6-16 12:14:
可点右上的“上传”,上传文件
http://zhenlove.com.cn/cndos/fileup/

我刚刚申请了账号,还不能使用,要等管理员通过
作者: lianjiang2004     时间: 2007-6-16 18:55
以前是申请后直接就能用的。
作者: wang6610     时间: 2007-6-16 19:28
传到这里也行.


http://lianjiang2007.ys168.com
作者: lianjiang2004     时间: 2007-6-16 19:43


  Quote:
Originally posted by wang6610 at 2007-6-16 19:28:
传到这里也行.


http://lianjiang2007.ys168.com

可以上传到我网盘,我建一个临时目录,供上传。
目录dpit_test_win32  密码123456,认证后可上传文件。
作者: lhteee     时间: 2007-6-16 22:25    标题: gdisk就可以

gdisk就可以
作者: lianjiang2004     时间: 2007-6-16 22:41
gdisk是可以,不过似乎不太理想。我还是喜欢dspt。
作者: 19951001     时间: 2007-6-17 09:24


  Quote:
Originally posted by lianjiang2004 at 2007-6-16 19:43:


可以上传到我网盘,我建一个临时目录,供上传。
目录dpit_test_win32  密码123456,认证后可上传文件。

已经上传
作者: lianjiang2004     时间: 2007-6-17 12:23
报告:
我用dpr能正常获得硬盘分区与盘符的对应关系。
可是用 dsptw /a /dpr 无显示结果。
用dsptw 0 /l 也正常。
请检查。
作者: 19951001     时间: 2007-6-17 13:46


  Quote:
Originally posted by lianjiang2004 at 2007-6-17 12:23:
报告:
我用dpr能正常获得硬盘分区与盘符的对应关系。
可是用 dsptw /a /dpr 无显示结果。
用dsptw 0 /l 也正常。
请检查。

不是 /dpr  应该是 /pdr

dsptw /a /pdr


/dpr 参数是将存储在磁盘最后一簇的分区信息进行恢复

如果希望获得同ghost一致的磁盘信息使用命令:
dsptw 1 /find:all /ghostsytle
是显示第一块硬盘的信息,该参数纯属为和 Ghost 兼容设置

[ Last edited by 19951001 on 2007-6-17 at 01:52 PM ]
作者: lianjiang2004     时间: 2007-6-17 19:06


  Quote:
Originally posted by 19951001 at 2007-6-17 13:46:


不是 /dpr  应该是 /pdr

dsptw /a /pdr


/dpr 参数是将存储在磁盘最后一簇的分区信息进行恢复

如果希望获得同ghost一致的磁盘信息使用命令:
dspt ...

不好意思,我输入的是dsptw /a /pdr,发帖时不小心敲错了。
dsptw 1 /find:all /ghostsytle 正常。
测试的图发在我的网盘里,这里不能上传附件。帮忙给看看。谢谢。
作者: 19951001     时间: 2007-6-17 20:20


  Quote:
Originally posted by lianjiang2004 at 2007-6-17 19:06:

不好意思,我输入的是dsptw /a /pdr,发帖时不小心敲错了。
dsptw 1 /find:all /ghostsytle 正常。
测试的图发在我的网盘里,这里不能上传附件。帮忙给看看。谢谢。

这是在我机器上执行的结果,没有问题,我的机器是AMD的CPU

D:\c\newdsptw>dsptw /a /pdr
Disk Sector Reader/Writer & Partition Tools for Win32
This is beta version, On 2007-7-15 Program Will Expired
Recommand Backup your Disk, Before using the Program !

Press any to continue ...


No.   Drive     Active  VolumeLabe      Total (Mb)     Free (Mb)
1:1     C:      A       WINXP            29989          2859
1:2     D:              DATA             29996          1401
1:3     E:              WIN2003          29996          16470
1:4     G:              ISO              29996          17232
1:5     H:              movie            29996          3360
1:6     I:              DATA_1           29996          21845

我再上传一个最新的版本,你试一下,
和上一个版本的修改:
dsptw 0  /l 默认不显示大的扩展分区
dsptw 0 /l /ext 可以显示扩展分区

增加对磁盘扇区的直接修改功能

使用 dsptw 1 /find:all /ghostSytle 显示的分区编号和Ghost一致,去除了总扩展分区

[ Last edited by 19951001 on 2007-6-17 at 11:03 PM ]
作者: lianjiang2004     时间: 2007-6-17 20:31


  Quote:
Originally posted by 19951001 at 2007-6-17 20:20:


这是在我机器上执行的结果,没有问题,我的机器是AMD的CPU

D:\c\newdsptw>dsptw /a /pdr
Disk Sector Reader/Writer & Partition Tools for Win32
This is beta version ...

谢谢,我去看看。
作者: lianjiang2004     时间: 2007-6-17 20:40
测试了新版,还是无显示。
其它参数未发现异常。
但dpr.exe是正常的。
用dsptw 1 /find:all /ghostSytle也行,只是一次不能显示多硬盘而已。
作者: 19951001     时间: 2007-6-17 20:50


  Quote:
Originally posted by lianjiang2004 at 2007-6-17 20:40:
测试了新版,还是无显示。
其它参数未发现异常。
但dpr.exe是正常的。
用dsptw 1 /find:all /ghostSytle也行,只是一次不能显示多硬盘而已。

我再查一下程序,看看问题在哪里
作者: 19951001     时间: 2007-6-17 21:03
to  lianjiang2004:

你查一下程序的返回代码是多少
作者: 19951001     时间: 2007-6-17 21:13
to lianjiang2004:
我又上传了一个版本,请测试一下,dsptw0617.rar , 你可以删除其他版本
作者: lianjiang2004     时间: 2007-6-17 21:49


  Quote:
Originally posted by 19951001 at 2007-6-17 21:03:
to  lianjiang2004:

你查一下程序的返回代码是多少

如何查?

另dsptw c: /pdr

dsptw d: /pdr 均正常。
作者: lianjiang2004     时间: 2007-6-17 21:51
errorlevel 是205.
作者: lianjiang2004     时间: 2007-6-17 21:52
新版还是不行,
作者: 19951001     时间: 2007-6-17 22:58
根据 errorlevel 值我找到了问题所在,已经上传,请测试
作者: lianjiang2004     时间: 2007-6-18 06:02
测试结果正常,谢谢了。呵呵。看来就等正式版发布后,修改批处理了。
作者: lianjiang2004     时间: 2007-6-18 07:24
看到对磁盘扇区的直接修改的新功能,很好,这样写入扇区更方便了,不必写入整个扇区了。
作者: cchessbd     时间: 2007-6-18 14:22
dspt 02.16的DOS版本在有USB移动硬盘或U盘存在的情况下,

使用备份到磁盘最后扇区的功能会出错(U盘或移动硬盘的MBR分区表项会变为第一硬盘的,而且一模一样)。

请检查源代码是否有这个问题。

[ Last edited by cchessbd on 2007-6-18 at 02:27 PM ]
作者: 19951001     时间: 2007-6-18 19:19


  Quote:
Originally posted by cchessbd at 2007-6-18 14:22:
dspt 02.16的DOS版本在有USB移动硬盘或U盘存在的情况下,

使用备份到磁盘最后扇区的功能会出错(U盘或移动硬盘的MBR分区表项会变为第一硬盘的,而且 ...

2007.02.26发过0208版本,我从没有发过 dspt 02.16版本,
我使用U盘启动,使用dspt 0208版本,将U盘的分区表备份到U盘的最后扇区,完全没有问题,没有出现你说的情况出现。

你的机器会不会有病毒?
作者: cchessbd     时间: 2007-6-20 08:34
无毒。
可能我记错了版本,是你02.26发布的版本。不知道是不是U盘的问题还是我命令用错了。

新版本很不错的样子,DOS版本是一样的吗?
不要发什么测试版了,编译版本有问题会及时反映的。直接发没有时间限制的吧。
作者: 19951001     时间: 2007-6-20 20:29


  Quote:
Originally posted by cchessbd at 2007-6-20 08:34:
无毒。
可能我记错了版本,是你02.26发布的版本。不知道是不是U盘的问题还是我命令用错了。

新版本很不错的样子,DOS版本是一样的吗?
不要发 ...

将磁盘分区表项备份到最后的扇区这个要靠主板的BIOS来支持,如果主板不支持大硬盘,这个功能就不要使用。

我使用U盘引导在单位的机器上都做了备份,没有出现问题。

这个功能共使用最后4个扇区,最后一个扇区备份的是主引导扇区 MBR,接下来倒数3扇区共1563个字节用来备份除了MBR以外的分区表链,每个分区表项共68个字节(4字节的地址,64字节的分区表) ,1536个字节共备份 1536/68=22 个分区的分区表项, 1536的最后一个字节保存的是一共备份的分区表数量。所以最多总共备份22+1=23个分区表

一般一块硬盘的分区数不会超过23个,所有目前之占用2K字节,而且通常情况下够用。

在程序代码中,对某一个硬盘备份到最后扇区的操作绝不会读写到其他的硬盘。



对于发Win32测试版本的问题是想经过一段时间的测试使程序更稳定,以免给大家造成损失。由于前一段时间我一直在出差,回来后整理这个程序时间匆忙,虽然我自己检查过代码,但也有可能存在问题。

发测试版本的目的是不让有问题的版本流传过久。


发没有时间限制的版本,如果大家在测试中发现问题即时反馈

[ Last edited by 19951001 on 2007-6-20 at 08:53 PM ]
作者: terse     时间: 2007-6-20 21:34
什么时候出一个DOS下能处理多硬盘(记得你以前发过)和加载ISF后的盘符,那样就完美了!现在用了MINITO,虽说有一些缺憾,但处理加载ISF后的盘符还是不错,
作者: 19951001     时间: 2007-6-20 23:25


  Quote:
Originally posted by terse at 2007-6-20 21:34:
什么时候出一个DOS下能处理多硬盘(记得你以前发过)和加载ISF后的盘符,那样就完美了!现在用了MINITO,虽说有一些缺憾,但处理加载ISF后的盘符还是不错,

我一直想解决加载NTFS4DOS和IFS的dos盘符问题,我的思路是要在程序中自己判断是否加载了这两个程序,这个问题我一直没有解决,Gotomsdos使用了两个参数解决,而当时我的想法是通过程序自动判断来完成不需要提供参数,既然Gotomsdos已经解决了这个问题而且目前大家也都认可了这种方式,我想我再多做工作是不是多余呢?
作者: lianjiang2004     时间: 2007-6-21 07:19


  Quote:
Originally posted by 19951001 at 2007-6-20 23:25:



我一直想解决加载NTFS4DOS和IFS的dos盘符问题,我的思路是要在程序中自己判断是否加载了这两个程序,这个问题我一直没有解决,Gotomsdos使用了两 ...

minito在我的机上出现兼容性问题。问题在其帖子后发了,可惜没有回答。所以现在只好放弃使用了。
------------------------------
上次报告的联想机子有4个分区,可是minitow只测出一个分区问题,今天再次测了一下,去掉/nohp,结果仍一样。windows下想备份出mbr来看看,结果出错,中止运行。猜测是否有联想的保护程序在工作。
进入dos,运行minito,无任何结果。
换用dspt,检测出的硬盘数据正确。备份出第一扇区数据。发现分区部分的数据与常规的有些不同,不知是否是造成minito检测出错的原因。贴上分区表部分数据,供参考。
8001010007FEFFFF3F00000081142A01
00000000000000000000000000000000
0000C1FF0FFEFFFFC0142A013E219D03
00000000000000000000000000000000
55AA
作者: lianjiang2004     时间: 2007-6-21 07:25
请教,diskrw和dsptw的差别是什么?以前版本是dspt包含diskrw和dpit的功能,现在测试版就两个文件,没有了dpit的win32版。所以问问新版是否有不同了。

[ Last edited by lianjiang2004 on 2007-6-21 at 07:27 AM ]
作者: cchessbd     时间: 2007-6-21 09:00


  Quote:
Originally posted by 19951001 at 2007-6-20 23:25:



我一直想解决加载NTFS4DOS和IFS的dos盘符问题,我的思路是要在程序中自己判断是否加载了这两个程序,这个问题我一直没有解决,Gotomsdos使用了两 ...

我支持自动检测这个情况。考虑一下GOTOmsdos的盘符排列(分了win/dos)
个人觉得win下就用win的排列,dos就用dos的排列(没必要分两个)。
假如你没有加载驱动就用了这个参数,那么取出的盘符就可能是错误的,
可能会误操作。所以我没有采用GOTOmsdos的程序。

mi.com可以查看内存的信息,而一般的判断是通过这个来的。
(这实际上也不是100%可靠的,IFS有时候多次加载或卸载会出现已卸载而内存中仍然有这个信息的情况,ntfs4dos没有测试过)
假如自动检测的话,我想可以这样: FAT分区在DOS下面肯定有盘符存在。
至于隐藏分区与NTFS分区,假如有其他盘符(排除软驱,光驱,内存盘),可以认定加载了NTFS驱动。这个的准确性应该是比较高的。

还有一种检测方式就是判读中断有没有被更改了。不过可能需要原始的地址。
思路是从escape 得来的。怎么实现不清楚。

GOTOmsdos的逻辑不知道是怎么样的,你不妨看看他的程序源码。
我是看不懂啊……

[ Last edited by cchessbd on 2007-6-21 at 09:10 AM ]
作者: lianjiang2004     时间: 2007-6-21 11:52
有一些机子的fat分区,在dos下也无盘符(非隐藏分区,win下有盘符)。这在一键ghost的用户错误报告中可以看出来。下面是一个例子。
-----------------------------
Key[1]   1.1:
Key[2]   1:1
Path     1.1:
Desc     1.1: []
Type     NTFS
Disk     0
Offset   63

Key[1]   1.2:
Key[2]   1:2
Key[3]   C:
Path     C:
Desc     C: 1.2: [DISK1_VOL2]
Type     FAT
Disk     0
Offset   9783648

Key[1]   1.3:
Key[2]   1:3
Path     1.3:
Desc     1.3: [DISK1_VOL3]
Type     FAT
Disk     0
Offset   23471028
作者: cchessbd     时间: 2007-6-21 13:17
确实,有时候分区表出问题会出现这种情况。IFS加载能识别某些NT分区,
但GHOST只能识别1:1,1:2两个分区,其他识别为loacal drive(加载了IFS),此时恢复速度只有原来的几十分之一(Win),dos下面只有原来的千分之一(显示时间为 90几个小时……),
这种情况一般可以用diskgen或PTDD修复,特殊的情况只有从备份的分区表恢复了。

参看我在dos之家发表了一个主题(即上面的特殊情况): http://doshome.net/bbs/dispbbs.asp?boardID=19&ID=21468


标准的分区表是没有这个问题的。
作者: kaidashi01     时间: 2007-6-21 13:42
谢谢,先收藏了。
作者: 19951001     时间: 2007-6-21 20:26


  Quote:
Originally posted by lianjiang2004 at 2007-6-21 07:25:
请教,diskrw和dsptw的差别是什么?以前版本是dspt包含diskrw和dpit的功能,现在测试版就两个文件,没有了dpit的win32版。所以问问新版是否有不同了。

[[ ...

diskrw 仍然是dsptw的一部分,只不过有人喜欢diskrw, 我就顺便把win32版本的放出来,dpit的win32版本有时间我会整理出来。

[ Last edited by 19951001 on 2007-6-21 at 08:56 PM ]
作者: 19951001     时间: 2007-6-21 20:31


  Quote:
Originally posted by lianjiang2004 at 2007-6-21 07:19:

贴上分区表部分数据,供参考。
8001010007FEFFFF3F00000081142A01
00000000000000000000000000000000
0000C1FF0FFEFFFFC0142A013E219D03
00000000000000000000000000000000
55AA

这个分区表比较特殊,是因为64字节的分区表项中第二个16字节全为0,如果在程序把全0作为分区表项结束的话,就只能备份出一个分区表项,我想Gotomsdos的程序中就犯了这个错误。
作者: 19951001     时间: 2007-6-21 20:46
2007.6.21测试版本已经上传

to lianjiang2004:
  请删除以前的版本。

[ Last edited by 19951001 on 2007-6-21 at 08:52 PM ]
作者: lianjiang2004     时间: 2007-6-21 22:06
旧版已删除。
作者: terse     时间: 2007-6-23 01:12


  Quote:
Originally posted by 19951001 at 2007-6-20 23:25:



我一直想解决加载NTFS4DOS和IFS的dos盘符问题,我的思路是要在程序中自己判断是否加载了这两个程序,这个问题我一直没有解决,Gotomsdos使用了两 ...

之所以有这样的期盼,也因为如上所说的一些原因,还有就是DOS下不能得到NTFS分区的详细信息(譬如大小), 还有就是想用来判断多硬盘,虽说MINITO可以做到,但不在实模式的话必须加上参数,那样就得不到硬盘参数,变得无从选择,所以现在我是先用GDISK得到硬盘信息,以便直观的选择需操作硬盘(如有多硬盘),再运行MINITO,没别的意思,只是想让DOS下GHOST更为简便!
作者: cba-xyz     时间: 2007-7-3 11:59
DOS版的DSPT不能正确显示TRUEIMAGE 安全区的卷标,分区标志是0XBC,改成0X1B可以正确识别安全区的卷标,请修正.
作者: 19951001     时间: 2007-7-3 19:04


  Quote:
Originally posted by cba-xyz at 2007-7-3 11:59:
DOS版的DSPT不能正确显示TRUEIMAGE 安全区的卷标,分区标志是0XBC,改成0X1B可以正确识别安全区的卷标,请修正.

已经修正
附件 1: DSPT.rar (2007-7-3 19:04, 17.85 K,下载次数: 312)

作者: cba-xyz     时间: 2007-7-4 20:16
这下GHOST镜像放在ACRONIS的安全区一键恢复配合完美了。
作者: cba-xyz     时间: 2007-7-4 20:19
顺便问下有HPA的朋友在UNLOCK后运行DSPT能不能正确显示卷标?
作者: wstest     时间: 2007-7-9 15:16
G:\usbhdd>DSPTW.EXE f:  /pdr /Y

2:1


G:\>DSPTW.EXE f:  /pdr /Y > drv.txt
The system cannot find the file specified.

DSPTW.exe 的部分命令行结果输出无法重定向到文件或者变量种...我现在遇到的问题就是无法进行后期处理...
作者: 19951001     时间: 2007-7-9 18:56


  Quote:
Originally posted by wstest at 2007-7-9 15:16:
G:\usbhdd>DSPTW.EXE f:  /pdr /Y

2:1


G:\>DSPTW.EXE f:  /pdr /Y > drv.txt
The system cannot find the file specified.

DSPTW.exe 的部分命令行结果输出无法重定向到文 ...

在我这里测试没有问题,还有哪位朋友也遇到了类似的问题吗?
下面是我执行命令的结果:
附件 1: cmd.GIF (2007-7-9 18:56, 14.62 K,下载次数: 2)



作者: cba-xyz     时间: 2007-7-12 10:24
无法下载测试。。
作者: hlytg     时间: 2007-7-12 16:22
经测试: dspt 中检测的硬盘总扇区数与dsptw下检测的硬盘总扇区数不一致,dsptw检测有误,请修正.

[ Last edited by hlytg on 2007-7-12 at 04:24 PM ]
作者: time868     时间: 2007-7-12 16:26
有时间下载下来看看.
作者: 19951001     时间: 2007-7-12 22:53


  Quote:
Originally posted by hlytg at 2007-7-12 16:22:
经测试: dspt 中检测的硬盘总扇区数与dsptw下检测的硬盘总扇区数不一致,dsptw检测有误,请修正.

[ Last edited by hlytg on 2007-7-12 at 04:24 PM ]

dspt是使用扩展 Int13 得到的磁盘扇区数量,dsptw是在win32环境中使用deviceIocontrol得到的扇区总数,存在一定误差,最大误差为255×63个扇区,也就是7.8M。关于这个误差我在以前的帖子中做了说明

[ Last edited by 19951001 on 2007-7-12 at 11:18 PM ]
作者: 19951001     时间: 2007-7-12 22:57


  Quote:
Originally posted by cba-xyz at 2007-7-12 10:24:
无法下载测试。。

dsptw在 http://lianjiang2007.ys168.com  点击 dsptw_test_win32 目录,选择放弃认证,即可下载
作者: 19951001     时间: 2007-7-13 18:32
Dos版本Diskrw更新
作者: cdy168     时间: 2007-7-14 01:53
不错又更新了~!~!~!
作者: hlytg     时间: 2007-7-14 10:53
非常感谢!
作者: 19951001     时间: 2007-7-27 21:57


  Quote:
Originally posted by hlytg at 2007-7-12 16:22:
经测试: dspt 中检测的硬盘总扇区数与dsptw下检测的硬盘总扇区数不一致,dsptw检测有误,请修正.

[ Last edited by hlytg on 2007-7-12 at 04:24 PM ]

已经更新,添加参数 /a 可以解决
作者: terse     时间: 2007-7-28 12:21


  Quote:
Originally posted by 19951001 at 2007-7-13 18:32:
Dos版本Diskrw更新

在那里?
作者: chenall     时间: 2007-7-28 16:53
下载备用,再顶一下楼主.
作者: 19951001     时间: 2007-7-28 22:33


  Quote:
Originally posted by terse at 2007-7-28 12:21:

在那里?

最多上传三个附件,把那个删除了,上传了win32版本

[ Last edited by 19951001 on 2007-8-1 at 08:03 PM ]
作者: wang6610     时间: 2007-7-28 23:03


  Quote:
Originally posted by 19951001 at 2007-7-28 10:33 PM:


最多上传三个附近,把那个删除了,上传了win32版本

可以在一楼提示一下,传到其他楼层。
作者: lianjiang2004     时间: 2007-7-29 08:31
已上传到我的网盘,可下载dos/win32版本。
作者: godphoenix     时间: 2007-7-29 13:02
支持编辑硬盘的隐藏启动区吗?先试试看~~
作者: 19951001     时间: 2007-7-29 19:24


  Quote:
Originally posted by godphoenix at 2007-7-29 13:02:
支持编辑硬盘的隐藏启动区吗?先试试看~~

可以编辑磁盘上的任何扇区,当然支持编辑硬盘的隐藏启动区了
作者: mactang     时间: 2007-8-2 23:36    标题: 求问:如何备份和还原VISTA安装时的主引导记录呀?

求问:如何备份和还原VISTA安装时的主引导记录呀?

我的电脑有XP和VISTA的安装GHOST备份。按F11键还原到XP,XP启动OK,但还原到VISTA则出现VISTA启动出错,出现......\windows\system32\winload.exe 的出错提示,好像指找不到此文件什么的。
请问如何解决,请高手帮忙小弟。
作者: 19951001     时间: 2007-8-3 12:30


  Quote:
Originally posted by mactang at 2007-8-2 23:36:
求问:如何备份和还原VISTA安装时的主引导记录呀?

我的电脑有XP和VISTA的安装GHOST备份。按F11键还原到XP,XP启动OK,但还原到VISTA则出现VISTA启动出错 ...

dos下备份:
dspt 0 0 1 /s disk.mbr

win32下备份:
dsptw 0 0 1 /s disk.mbr


dos下还原:
dspt 0 0 1 /r disk.mbr

win32下还原:
dsptw 0 0 1 /r disk.mbr
作者: 19951001     时间: 2007-8-8 20:53
Dos版本 Diskrw 更新,见一楼。
作者: cba-xyz     时间: 2007-8-14 14:11
有没有可以判断几个硬盘(包括U盘)?

[ Last edited by cba-xyz on 2007-8-14 at 02:12 PM ]
作者: 19951001     时间: 2007-8-15 19:18


  Quote:
Originally posted by cba-xyz at 2007-8-14 14:11:
有没有可以判断几个硬盘(包括U盘)?

[ Last edited by cba-xyz on 2007-8-14 at 02:12 PM ]

程序中没有判断有几个硬盘,不过你可以使用批处理来判断有几个硬盘
作者: terse     时间: 2007-8-15 19:47
楼主曾经说现在看来解决加载NTFS4DOS和IFS的dos盘符问题是多余的!因为有MINITO?我看未必!不知道会不会在这方面突破一下,很是期待!还有现在多硬盘的用户也多了(包括U盘),有必要处理多硬盘,我以为!当然个人意见,大家的建议如何呢?

[ Last edited by terse on 2007-8-15 at 07:48 PM ]
作者: lianjiang2004     时间: 2007-8-15 20:19
我已放弃使用minito了,期待dspt越来越好。
作者: 19951001     时间: 2007-8-15 21:59
在一楼diskrw更新,修正来一个磁盘比较方面存在的bug;
在这里有一个更新版的dspt,加入磁盘编辑功能,没有加入磁盘比较功能,加入后文件不在是com结构,而变成 Exe 结构,使用一个 16K 大小的数组的,如果加入磁盘比较功能,会增加同样大小大数组,整个程序运行时将不能被限定在 64K 之内

[ Last edited by 19951001 on 2008-2-18 at 01:08 AM ]
附件 1: DSPT.rar (2008-2-18 01:07, 17.6 K,下载次数: 340)

作者: 19951001     时间: 2007-8-15 22:10
我想在此做一下调查,听听各位网友的意见:

   是把程序做成单一的一个程序,将变成 EXE 结构 dspt.exe

   还是把程序变成两个 com 结构程序,diskrw.com 和 dpit.com



在需求的增加方面,主要是分区信息管理, 磁盘读写功能没有提出太多的需求,

当然我自己的意见是想把程序分开变成两个,不知大家意见怎样?

[ Last edited by 19951001 on 2007-8-15 at 10:30 PM ]
作者: terse     时间: 2007-8-16 00:25


  Quote:
Originally posted by lianjiang2004 at 2007-8-15 20:19:
我已放弃使用minito了,期待dspt越来越好。

毕竟minito可以识别加载IFS后dos盘符的,DSPT很早的版本也曾试用过,但没有这个功能也就放弃了,请问lianjiang2004现在是用什么识别加载IFS后dos盘符吗?ghost吗?
作者: yqi99     时间: 2007-8-16 17:31
为什么我用8.15的最新版, 同时也试过了以前的版本
打 dspt 1 /find:all
不能显示NTFS的分区的盘符.
(仅仅加载了ifs或者NTFSpro都这样)
(是因为有1个HDD的U盘和硬盘的缘故? 我用U盘启动的)

No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
1:1   D: Primary  C           DOS_FAT16      Yes  63          4192902    2047
1:2      Logic                HPFS/NTFS           4193028     12578832   6142
1:3      Logic    Program     HPFS/NTFS           16771923    20964762   10236
1:4      Logic    Data        HPFS/NTFS           37736748    40403412   19728
作者: 19951001     时间: 2007-8-16 21:26


  Quote:
Originally posted by yqi99 at 2007-8-16 17:31:
为什么我用8.15的最新版, 同时也试过了以前的版本
打 dspt 1 /find:all
不能显示NTFS的分区的盘符.
(仅仅加载了ifs或者NTFSpro都这样)
(是因为有1个HDD的U盘 ...

目前不支持 NTFS 和 IFS 生成的盘符。
作者: yqi99     时间: 2007-8-16 22:06


  Quote:
Originally posted by 19951001 at 2007-8-16 09:26 PM:
目前不支持 NTFS 和 IFS 生成的盘符。

楼主赶快加油, 做一个支持NTFS和IFS的DSPT.
精神上全力支持~~ ^_^
是不是以前有支持IFS的DSPT版本呀, 在前面几楼好像看到有人贴出来,用DSPT生成的log,有NTFS几个字符
作者: lianjiang2004     时间: 2007-8-16 22:40


  Quote:
Originally posted by terse at 2007-8-16 00:25:

毕竟minito可以识别加载IFS后dos盘符的,DSPT很早的版本也曾试用过,但没有这个功能也就放弃了,请问lianjiang2004现在是用什么识别加载IFS后dos盘符吗?ghost吗?

我现在是在windows下获取硬盘信息,根据要求,生成临时自定义批处理文件,dos下调用。
较前版本gghost除了windows下的自定义备份恢复外,加上一个dos下自动备份到最后分区特殊目录的功能,此时采用dpit获取分区信息。没利用ifs后dos盘符功能。
作者: lianjiang2004     时间: 2007-8-16 22:56
因为我是采用分区号,所以dos下盘符对我而言意义不大。minito的兼容性似乎存在问题,反映问题后作者无任何答复,只好放弃了。毕竟兼容性是第一的。
作者: yqi99     时间: 2007-8-17 08:48
如果DOS下能够把分区号和的盘符一一对应起来.
然后比如通过查找\windows\regedit.exe来确定原来的XP系统盘的位置.
这样用ghost来恢复, 应该100%的可靠.
只可惜目前没有完全支持查找盘符的工具.
minito在我电脑上, 总显示非法指令.
DSPT又暂时不支持NTFS. 伤心....
作者: lianjiang2004     时间: 2007-8-17 09:12


  Quote:
Originally posted by yqi99 at 2007-8-17 08:48:
如果DOS下能够把分区号和的盘符一一对应起来.
然后比如通过查找\windows\regedit.exe来确定原来的XP系统盘的位置.
这样用ghost来恢复, 应该100%的可靠.
只 ...

dos下,可以通过加载ntfs驱动(如ifs等),查找特征文件,并配合活动分区等信息进行确定,不会出现问题。
作者: QinXin     时间: 2007-8-19 11:22
不错的工具,严重支持
作者: QinXin     时间: 2007-8-19 12:33
测试发现对硬盘分区号识别能力比minito强,minito只能对付标准的分区表。
作者: lianjiang2004     时间: 2007-8-19 12:42
同意楼上的,所以我放弃了minito。
作者: zhangxue     时间: 2007-8-19 14:33
BUG报告!
非标准的分区表,硬盘号出现错误。
附件里面有Acronis Disk Director和Gdisk以及dspt的信息截图,其中Acronis和Gdisk是正确的。还附带dspt 0 0 1 /s导出的mbr。
附件 1: error.rar (2007-8-19 14:33, 88.36 K,下载次数: 27)

作者: lianjiang2004     时间: 2007-8-19 15:36
楼上的分区不知是如何建起来的?不可思议。
作者: wang6610     时间: 2007-8-19 15:49


  Quote:
Originally posted by zhangxue at 2007-8-19 02:33 PM:
BUG报告!
非标准的分区表,硬盘号出现错误。
附件里面有Acronis Disk Director和Gdisk以及dspt的信息截图,其中Acronis和Gdisk是正确的。还附带dspt 0 0 1 /s导出的mbr。

我看这次是gdisk和adds错了,

再运行ghost11.0.1察看一下就知道谁错了。

[ Last edited by wang6610 on 2007-8-19 at 03:52 PM ]
作者: wang6610     时间: 2007-8-19 15:53


  Quote:
Originally posted by lianjiang2004 at 2007-8-19 03:36 PM:
楼上的分区不知是如何建起来的?不可思议。

aefdisk或gdisk都可以。
作者: lianjiang2004     时间: 2007-8-19 16:16
逻辑分区怎么跑到主分区的两侧的?逻辑分区不是只能在扩展分区之下吗?
最后一个逻辑分区似乎不在扩展分区之下。或者说后一个主分区在扩展分区之下,确实不理解。
真是孤陋寡闻呀。
作者: zhangxue     时间: 2007-8-19 17:01
1,ntfs4dos也可以识别出各分区以及顺序正确
2,当分区全部格式化为fat32时,dos访问无任何障碍,那应该表示没错。
3,就dspt而言,仅仅是顺序上有一点点偏差而已。
4,最重要的,不管是对的还是错的,检测程序也应该真实的显示情况,哪怕它是错的。
作者: 19951001     时间: 2007-8-20 22:13


  Quote:
Originally posted by zhangxue at 2007-8-19 14:33:
BUG报告!
非标准的分区表,硬盘号出现错误。
附件里面有Acronis Disk Director和Gdisk以及dspt的信息截图,其中Acronis和Gdisk是正确的。还附带dspt 0 0 1 /s导出的mbr。

感谢你对软件的测试,我会尽快找出问题所在
作者: 19951001     时间: 2007-8-20 23:05
TO zhangxue:
     请测试一下这个版本,看是否存在问题。

[ Last edited by 19951001 on 2007-8-21 at 06:46 AM ]
作者: zhangxue     时间: 2007-8-20 23:50
还是一样,没变
作者: 19951001     时间: 2007-8-21 06:53
你提供的图片上看,整个扩展分区的容量是将近 12 G,而扩展分区之后所有的分区容量之和也刚好是这个值,也就是你的最后一个主分区是在扩展分区内产生的,这个分区表的确很特殊。
附件 1: Gdisk_DSPT.GIF (2007-8-21 06:53, 18.75 K,下载次数: 1)



作者: lianjiang2004     时间: 2007-8-21 09:06
请教最后一个主分区是如何创建的?厉害。
与一般资料介绍的分区规则似乎不符。
作者: 19951001     时间: 2007-8-21 18:13
我估计这个分区表是首先创建一个主分区,然后创建一个扩展分区,在扩展分区中创建 3 个逻辑分区,使用工具找出扩展分区中三个逻辑分区在磁盘上的绝对位置,把扩展分区中第二个逻辑分区的位置写入 MBR 中的第三项中,将扩展分区中的第一个逻辑分区指向下一个逻辑分区的指针修改为指向扩展分区中第三个逻辑分区,就可以创建出上述的分区表。

[ Last edited by 19951001 on 2007-8-21 at 06:17 PM ]
作者: zhangxue     时间: 2007-8-21 21:21
Acronis Disk Director可以在任何位置建立主分区,只要不超出主分区的数量限制。
dspt还有一个问题,最前面和最后面各一个分区为主分区的情况不算是特殊分区表吧,以往ibm的一键恢复就是这样子的,但是如果将后面那个主分区设置为活动分区,会出现第一个主分区(fat32格式)没有在dspt里面显示出盘符来,实际上dos是有给它分配盘符的。
作者: cba-xyz     时间: 2007-8-23 16:33
还是分成2个小程序好,磁盘读写功能一般不大用的到。
作者: 19951001     时间: 2007-8-23 19:28


  Quote:
Originally posted by cba-xyz at 2007-8-23 16:33:
还是分成2个小程序好,磁盘读写功能一般不大用的到。

下次更新将成为 diskrw 和 dpit 对dspt 的dos版本将不再更新。
作者: isreal     时间: 2007-8-28 16:56
支持啊
我要下载
现在只有它了
作者: markey     时间: 2007-9-17 11:27
太好了,正是我要找的工具。谢谢楼主。
作者: ljy800919     时间: 2007-10-30 21:39
thankyou
作者: bluebird     时间: 2007-12-16 11:13
好东西看不懂
作者: kaidashi01     时间: 2008-1-1 12:58
楼主不更新不行啊,dspt0815无法在2008年运行。
作者: 19951001     时间: 2008-1-15 20:52
291 楼附近已经更新。
作者: gmy     时间: 2008-1-25 09:10
我是 一键GHOST 老葛
dstpw 提一个建议 /find:fat 不科学,不应该包含 DELL 分区,应该为 DELL 分区单独增设一个 /find:dell 参数,分区类型标志:  d7 db de  dd  (目前用户反映和我了解到的只有这4个,估计比较全了)。

关于显示问题:
1,不建议用dell_fat ,虽然目前看来dell分区没发现有非FAT的,但在批处理判断上容易与普通FAT混淆,建议显示为dell_type。
2,或者 增加 /i_dell (忽略DELL分区)的参数。

请在下一个版本改进。

[ Last edited by gmy on 2008-1-26 at 12:12 PM ]
作者: 19951001     时间: 2008-1-28 13:51
to gmy:
         这个很容易做到,月底前完成更新。
作者: gmy     时间: 2008-1-29 11:24
to 19951001
   静候佳音。
作者: 19951001     时间: 2008-1-30 23:10
今晚更新

[ Last edited by 19951001 on 2008-2-18 at 05:45 PM ]
作者: fastslz     时间: 2008-1-30 23:27
19951001兄:何不将Win32版本中文化下能?(当然英文版还是要的),这样推广使用方便点
作者: 19951001     时间: 2008-1-31 00:01


  Quote:
Originally posted by fastslz at 2008-1-30 23:27:
19951001兄:何不将Win32版本中文化下能?(当然英文版还是要的),这样推广使用方便点

将其中文化相对不难,不知大家是否真的需要将其中文话,我个人觉得其中的英文单位比较简单、容易理解。
作者: gmy     时间: 2008-1-31 00:27


  Quote:
Originally posted by 19951001 at 2008-1-30 11:10 PM:
2008.1.30 Win32版本更新,按照 325 楼要求更新

测试了一下,效果不错。
DELL VOSTRO 1400,原来只有C和D和I分区,现用PQ增加了2个分区(E,F)
dsptw 1 /find:all /GhostStyle /y
No.  Dr Tag FileSystem     Volume      Act StartPos   Sectors    MBytes MB_Free
1:1     Pri DELL_TYPE                      63         144522     70     
1:2  I: Pri HPFS/NTFS      RECOVERY        145408     20971520   10240  7087
1:3  C: Pri HPFS/NTFS      OS          Yes 21116928   83886080   40960  31317
1:4  D: Log HPFS/NTFS      DATAPART1       105005056  101298176  49462  26643
1:5  E: Log HPFS/NTFS      SOFT            206305280  20480000   10000  2977
1:6  F: Log HPFS/NTFS      BACKUP          226787328  80592896   39352  24190
1:7     Log DELL_TYPE                      307382272  5195776    2537
dsptw 1 /find:dell /GhostStyle /y
No.  Dr Tag FileSystem     Volume      Act StartPos   Sectors    MBytes MB_Free
1:1     Pri DELL_TYPE                      63         144522     70     
1:7     Log DELL_TYPE                      307382272  5195776    2537

以下是增加E,F之前的GHOST检测信息

# Ord Boot Id Ext     First        Num       Last       Used NTFS
0  0    0  de No         63     144522     144585          0 No
1  1    0   7 No     145408   20971520   21116928          0 No
2  2    1   7 No   21116928   83886080  105003008          0 No
3  3    0   7 Yes  105005056  202375168  307380224          0 No
4  4    0  dd Yes  307382272    5195776  312578048          0 No

另预告:一键GHOST的下一版本将采用DSPT和DSPTW的最新版,再次感谢楼主的努力和无私奉献。

[ Last edited by gmy on 2008-1-31 at 12:35 AM ]
作者: gmy     时间: 2008-2-13 19:43
请楼主对DSPTW再次更新:

1,增加 /find:HIDE (去掉原来的/find:DELL,且修改/find:FAT不再包括隐藏FAT分区,如1B,1C) ,/find:HIDE参数包括以下类型:

隐藏FAT分区, 包括 12,58,1B,1C  ,显示为 HIDE_FT
隐藏NTFS分区, 包括 17,27  ,显示为 HIDE_NT
隐藏DELL分区, 包括 D7,DE,DB,DD  ,显示为 HIDE_DELL

(注意,HIDE_FT不写成HIDE_FAT的原因是 在使用 /find:all 时以便于批处理查找处理,HIDE_NT同理)

2,对于未知分区,不要简单地显示为Unkown_type,而是加上16进制的分区类型,形如unkown_XX, (其中XX为16进制的分区类型),这样的好处是便于报告未知新类型.

3,以下是我刚刚收集的 硬盘分区类型大全,放在了我的论坛里,不断更新中...
http://doshome.net/bbs/dispbbs.a ... p;star=1&page=1

[ Last edited by gmy on 2008-2-16 at 01:59 AM ]
作者: adiwdmd     时间: 2008-2-15 11:36
顺便增加下修改磁盘类型的命令,这样就更好了
作者: 19951001     时间: 2008-2-16 19:45
1月份291楼上传的DOS版本dspt,由于本人疏忽版本上传错误,仍然有在2008不能运行时间限制,现已经更正(在291楼),谢谢各位网友的提醒,在此向各位网友深表歉意。

Win32更新 在328楼
参考332、333楼的建议

[ Last edited by 19951001 on 2008-2-16 at 08:49 PM ]
作者: gmy     时间: 2008-2-17 09:17
谢谢楼主的回应,DSPTW还是有问题:

我最想要的是: 仅显示非隐藏的FAT或NTFS
FIND:FAT 不应该包括 隐藏的FAT,同理
FIND:NTFS 不应该包括 隐藏的NTFS

所以为了实现上述功能,必需将
HIDE_FAT32 显示成 HIDE_FT ;
HDIE_NTFS 显示成 HIDE_NT

如果觉得以上方法不顺眼,还有一种变通的简单的方法:
增加 find:normal 参数,即常规分区, normal 包括 非隐藏FAT和非隐藏NTFS ,不包括 隐藏分区(NTFS/FAT32/DELL的隐藏分区),LINUX,未知分区等一切非常规分区.

[ Last edited by gmy on 2008-2-17 at 11:36 AM ]
作者: adiwdmd     时间: 2008-2-17 16:50
怎么291附件无法解压 请楼主检查

328楼的 dsptw 有相应的 dos 版么?

[ Last edited by adiwdmd on 2008-2-17 at 05:12 PM ]
作者: lianjiang2004     时间: 2008-2-17 18:33
291,328楼的怎么都是dsptw了?
作者: gmy     时间: 2008-2-18 00:43


  Quote:
Originally posted by adiwdmd at 2008-2-17 04:50 PM:
怎么291附件无法解压 请楼主检查

328楼的 dsptw 有相应的 dos 版么?

[ Last edited by adiwdmd on 2008-2-17 at 05:12 PM ]

我下的也无法解压,请解决.
作者: 19951001     时间: 2008-2-18 20:56
附件无法上传了,哪位朋友可以上传
作者: fastslz     时间: 2008-2-18 21:11


  Quote:
Originally posted by 19951001 at 2008-2-18 20:56:
附件无法上传了,哪位朋友可以上传

新的上传空间
http://upload.cn-dos.net/upload.php
作者: 19951001     时间: 2008-2-18 22:17


  Quote:
Originally posted by fastslz at 2008-2-18 21:11:

新的上传空间
http://upload.cn-dos.net/upload.php

已经上传:
http://upload.cn-dos.net/img/028.rar
作者: gmy     时间: 2008-2-18 22:45
dsptw 和 dsptw1 有何区别?
据楼主称: 两者没什么区别,仅在显示上(标点)有小的区别.

已经初步测试成功.

[ Last edited by gmy on 2008-2-18 at 11:02 PM ]
作者: liujq988     时间: 2008-2-18 23:24
多谢斑竹,我下载再说!
作者: gmy     时间: 2008-2-26 15:58
此贴作废,已经解决

[ Last edited by gmy on 2008-2-27 at 11:53 AM ]
作者: woyuewo     时间: 2008-2-26 16:12    标题:

怎么不能下啊`
作者: sowind     时间: 2008-4-3 17:37
328楼的 dsptw 有相应的 dos 版么?
同求
dsptw 1 /find:all /GhostStyle /y
No.  Dr Tag FileSystem     Volume      Act StartPos   Sectors    MBytes MB_Free
1:1     Pri DELL_TYPE                      63         144522     70     
1:2  I: Pri HPFS/NTFS      RECOVERY        145408     20971520   10240  7087
1:3  C: Pri HPFS/NTFS      OS          Yes 21116928   83886080   40960  31317
1:4  D: Log HPFS/NTFS      DATAPART1       105005056  101298176  49462  26643
1:5  E: Log HPFS/NTFS      SOFT            206305280  20480000   10000  2977
1:6  F: Log HPFS/NTFS      BACKUP          226787328  80592896   39352  24190
1:7     Log DELL_TYPE                      307382272  5195776    2537
需要纯DOS下的这个结果
作者: lianjiang2004     时间: 2008-4-8 12:30
这个工具在pe下使用,可能存在严重缺陷。


作者: 19951001     时间: 2008-4-10 00:20


  Quote:
Originally posted by lianjiang2004 at 2008-4-8 12:30:
这个工具在pe下使用,可能存在严重缺陷。


能否具体讲一下图中的 K: M: X: 的磁盘类型是什么?
作者: lianjiang2004     时间: 2008-4-10 08:25
K:是硬盘,对的。
M:是启动光盘。
X:是pe启动后的内存盘。



[ Last edited by lianjiang2004 on 2008-4-10 at 08:31 AM ]
作者: adiwdmd     时间: 2008-4-10 08:55
请问lianjiang楼上图中的信息是什么软件显示的啊,能不能在dos下使用?你的GGhost中是用这软件判断分区的么,谢谢
作者: lianjiang2004     时间: 2008-4-10 08:58


  Quote:
Originally posted by adiwdmd at 2008-4-10 08:55:
请问lianjiang楼上图中的信息是什么软件显示的啊,能不能在dos下使用?你的GGhost中是用这软件判断分区的么,谢谢

omnifs for dos,omnifs32 for windows,
可用于dos,我的gghost用的就是这个工具。
兼容性好,但个头很大,呵呵。




[ Last edited by lianjiang2004 on 2008-4-10 at 09:28 AM ]
作者: lianjiang2004     时间: 2008-4-10 09:03
提供最新版omnifs v11.0.2.1573下载,需要的就拿去。

http://www.cn-dos.net/forum/viewthread.php?tid=38141&fpage=1
作者: 19951001     时间: 2008-4-27 20:56
使用2008.2.18版本看一下,在我的机器上也有两块硬盘、一个DVD光驱,使用PE启动,PE为X:,执行dsptw /a /pdr 显示都是正常的,我也重新查了一下代码,暂时没有发现问题。
前面的帖子报错的版本是2007.7.17版本。
作者: lianjiang2004     时间: 2008-4-28 16:54
说明一点,发现这问题后,我是用了最新版的,结果相同。只是没有截图。
前几天机子出了些问题,重新格掉了硬盘那个虚拟硬盘也没有。

另,似乎不是在所有的虚拟机的pe环境都出现此类结果。但那个虚拟硬盘下,不然出现那个结果,换pe也一样。
作者: hlytg     时间: 2008-4-30 09:00
无语中!!!!!!!!

[ Last edited by hlytg on 2008-5-7 at 06:18 PM ]
作者: 19951001     时间: 2008-4-30 17:40


  Quote:
Originally posted by lianjiang2004 at 2008-4-28 16:54:
说明一点,发现这问题后,我是用了最新版的,结果相同。只是没有截图。
前几天机子出了些问题,重新格掉了硬盘那个虚拟硬盘也没有。

另,似乎不是在所有的虚拟机的pe环境都出现此类结果。但那个虚拟硬盘下,不然出现那个结果,换pe也一样。

请不要在虚拟机的中使用该软件,该软件不是为虚拟机环境设计的
作者: 19951001     时间: 2008-4-30 17:45


  Quote:
Originally posted by hlytg at 2008-4-30 09:00:
建议楼主dsptw版本中能加入修改分区类型的功能,比较适用的地方在于可在win下用批处理把分区修改为esia格式:
修改扩展分区的方法:
      先用pqed ...

软件早已经实现了你要的功能,我希望以后不要有人再提这样无知的问题


  DSPTW [Disk] [/ChangeType:type:partno] [/Y]
     /ChangeType: Change Partition Type.
     type: 00-FF.
     partno: Partition Number.
作者: lianjiang2004     时间: 2008-4-30 17:50


  Quote:
Originally posted by 19951001 at 2008-4-30 17:40:


请不要在虚拟机的中使用该软件,该软件不是为虚拟机环境设计的

那就只能如此了。
作者: lianjiang2004     时间: 2008-4-30 17:59


  Quote:
Originally posted by 19951001 at 2008-4-30 17:45:


软件早已经实现了你要的功能,我希望以后不要有人再提这样无知的问题


  DSPTW [Disk] [/ChangeType:type:partno] [/Y]
     /ChangeType: Change Partition Type.
   ...

dos版似乎无此功能。不知能否增加此功能。
作者: 19951001     时间: 2008-4-30 23:36
dos版本可以增加该功能,等哪天我闲的时候把程序该一下
作者: gmy     时间: 2008-5-7 12:22
请楼主再看我建议增加的参数(有补充): /mbr /r /m /n

/mbr 原来就有,只恢复标准的MBR (据称引用的是XP的,兼容性好)
/r  文件名 恢复指定文件 (不加载 /m /n 的情况下 ,默认为 1~432字节 ,即 前27行 见下图的红色区域)
/m  序数  自定义恢复字节范围开始字节,限制1~446 ,m - n不能为负数
/n  序数  自定义恢复字节范围结尾字节,限制1~446,m - n不能为负数





图例:

1、红色部分:MBR,理论上最多占用446个字节,本例实际占用420个字节,为了打出一些富裕,需要432个字节(每行16字节*27行,红色部分)。
2、蓝色部分:本来应该是MBR的一部分,但实践证明这4个字节不要覆盖,这是微软磁盘数字签名区(防盗版用?不得而知),清0无法启动,改成其它值会在WIN下报“发现新硬件”,总之不要动就OK了。
3、黄色部分:硬盘分区表
4、橙色部分:结束标志


示例:

1, 恢复母机产生的a.mbr到本机 (用于恢复通常情况的MBR,即小于432字节的MBR)
dsptw 0 /mbr /r a.mbr 或
dsptw 0 /mbr /r a.mbr /m 1 /n 432

2, 仅恢复母机产生的a.mbr里的“微软磁盘数字签名”到本机 (用于恢复万能GHOSTXP防蓝屏死机等特殊用途)
dsptw 0 /mbr /r a.mbr /m 441 /n 444

楼主:由于/m /n不急于使用且编程可能较困难可暂时不必开发(可在今后考虑为字节级的对拷、备份和恢复单独设置一个参数,不仅限于MBR,对任何扇区的任何一小段字符集都可以操作,就像 /D 参数一样,使用start bytes offset等参数,思考成熟后再推出)。
/R 是我急需的,最好这两天完成,谢谢。

[ Last edited by gmy on 2008-5-7 at 09:12 PM ]
作者: 19951001     时间: 2008-5-7 22:21
to gmy:
   http://upload.cn-dos.net/img/363.rar
   你要的版本,我才上来看到有关 m 和 n 的要求,暂时没有实现,通过文件恢复mbr已经实现

   dsptw 0 /mbr /noback /File:mymbr.bin /y

文件大小不能小于 432 字节。

这个工具也许对你有用:
http://upload.cn-dos.net/img/339.rar

[ Last edited by 19951001 on 2008-5-7 at 10:55 PM ]
作者: gmy     时间: 2008-5-7 22:37
/file: 参数已经测试成功, 忘记了, 如果有时间, DOS版的dspt增加此功能。

看了一下str工具,确实有用,  但它只能 file to file ,不能 file to disk,所以就回到 /m /n 功能扩展问题了,我模仿str的参数建议楼主增加以下一个参数:

建议增加 /R1:  Restore Bytes  ("字节恢复", 这是/R "扇区恢复"的有力补充, /m /n 也不必开发了,因为已经包含进去了)

DSPTW [Disk] [Start] [/R1] [Start1] [/From] [FileName] [Start2] [Bytes] [/Y]

Start1: Offset to Process data in DstDisk. (目标磁盘要处理数据的起始位置,同时支持10进制和16进制)
Start2: Offset to Process data in SrcFile. (源文件要处理数据的起始位置,同时支持10进制和16进制)
Bytes:  Total Bytes to be Processed  (源文件要处理的字节数,同时支持10进制和16进制)

示例1:
异地恢复硬盘分区表: 仅恢复A机的HPT(硬盘分区表)至结束标志 到 B机的相应位置,不包括MBR(主引导记录)和微软数字签名等信息.
A机:  dsptw 0 0 1 /s a.bin /y
B机:  dsptw 0 1 /r1 0x1BE /from a.bin 0x1BE 66 /y

示例2:
本地备份硬盘分区表: 仅备份0扇区HPT(硬盘分区表)至结束标志 到 1扇区的相应位置,不包括MBR(主引导记录)和微软数字签名等信息.
dsptw 0 0 1 /s a.bin /y
dsptw 0 1 /r1 0x1BE /from a.bin 0x1BE 66 /y

示例3:
本地恢复硬盘分区表: 仅恢复1扇区HPT(硬盘分区表)至结束标志 到 0扇区的相应位置,不包括MBR(主引导记录)和微软数字签名等信息.
dsptw 0 1 1 /s a.bin /y
dsptw 0 0 /r1 0x1BE /from a.bin 0x1BE 66 /y

当以上内容写完了, 我突然醒悟: dsptw 与 str 配合就能实现以上3个例子,笨死了,基本思路是:
磁盘到文件: dsptw /s
文件到文件: str
文件到磁盘: dsptw /r

[ Last edited by gmy on 2008-5-8 at 11:01 AM ]
作者: lvyanan     时间: 2008-6-29 10:10
学习并受益,谢谢LZ提供!
作者: jmwjy     时间: 2008-6-30 21:15
好贴,
多谢楼主的分享!
作者: ljb603     时间: 2008-7-14 18:09
下面是我对硬盘 MBR 操作一个批处理,这样写对吗?(特别是每项的返回码是否正确):
@echo off
cls
echo.
echo         硬盘 MBR 操作选项:
echo.  
echo     1.备份     2.恢复     3.重建
echo.
echo     4.查看     5.清零     6.退出
echo.
choice /c:123456 /n 我要:
if errorlevel 6 goto Exit
if errorlevel 5 goto dspt5
if errorlevel 4 goto dspt4
if errorlevel 3 goto dspt3
if errorlevel 2 goto dspt2
if errorlevel 1 goto dspt1

:dspt1
cls
dspt 0 0 1 /s %ramdrive%\mbr.bak /y >nul
if errorlevel 1 echo 读取0柱1扇区的MBR失败!
if errorlevel 1 goto Exit
dspt 0 35 1 /r %ramdrive%\mbr.bak /y >nul
if errorlevel 1 echo 备份MBR到0柱35扇区失败!
if errorlevel 0 echo 恭喜你,操作成功!!!
goto Exit

:dspt2
cls
dspt 0 35 1 /s %ramdrive%\mbr.res /y >nul
if errorlevel 1 echo 读取0柱35扇区的MBR失败!
if errorlevel 1 goto Exit
dspt 0 0 1 /r %ramdrive%\mbr.res /y >nul
if errorlevel 1 echo 恢复硬盘 MBR 失败!
if errorlevel 0 echo 恭喜你,操作成功!!!
goto Exit

:dspt3
cls
dspt 0 /mbr /noback /y >nul
if errorlevel 1 echo 重建硬盘 MBR 失败!
if errorlevel 0 echo 恭喜你,操作成功!!!
goto Exit

:dspt4
cls
dspt 0 0 1 /e /y >nul
if errorlevel 1 echo 硬盘 MBR 清零失败!
if errorlevel 0 echo 恭喜你,操作成功!!!
goto Exit

:dspt5
cls
dspt 0 35 1 /L /p /a
if errorlevel 1 echo 你没有备份 MBR !
if errorlevel 0 echo 恭喜你,操作成功!!!
goto Exit

:Exit
作者: 19951001     时间: 2008-7-14 22:04


  Quote:
Originally posted by ljb603 at 2008-7-14 18:09:
下面是我对硬盘 MBR 操作一个批处理,这样写对吗?(特别是每项的返回码是否正确):
@echo off
cls
echo.
echo         硬盘 MBR 操作选项:
echo.  
echo   ...

操纵成功返回0,不成功返回值大于0,见一楼。
在你的批处理中如果失败会显示失败信息,在显示成功信息。

@echo off
cls
echo.
echo         硬盘 MBR 操作选项:
echo.  
echo     1.备份     2.恢复     3.重建
echo.
echo     4.查看     5.清零     6.退出
echo.
choice /c:123456 /n 我要:
if errorlevel 6 goto Exit
if errorlevel 5 goto dspt5
if errorlevel 4 goto dspt4
if errorlevel 3 goto dspt3
if errorlevel 2 goto dspt2
if errorlevel 1 goto dspt1

:dspt1
cls
dspt 0 0 1 /s %ramdrive%\mbr.bak /y >nul
if errorlevel 1 echo 读取0柱1扇区的MBR失败!
if errorlevel 1 goto Exit
dspt 0 35 1 /r %ramdrive%\mbr.bak /y >nul
if errorlevel 1 echo 备份MBR到0柱35扇区失败!
if errorlevel 0 echo 恭喜你,操作成功!!!
goto Exit

:dspt2
cls
dspt 0 35 1 /s %ramdrive%\mbr.res /y >nul
if errorlevel 1 echo 读取0柱35扇区的MBR失败!
if errorlevel 1 goto Exit
dspt 0 0 1 /r %ramdrive%\mbr.res /y >nul
if errorlevel 1 echo 恢复硬盘 MBR 失败!
if errorlevel 0 echo 恭喜你,操作成功!!!
goto Exit
=========================
如果没有备份MBR岂不是MBR被清除!这样你会损失惨重的
=========================

:dspt3
cls
dspt 0 /mbr /noback /y >nul
if errorlevel 1 echo 重建硬盘 MBR 失败!
if errorlevel 0 echo 恭喜你,操作成功!!!
goto Exit

:dspt4
cls
dspt 0 0 1 /e /y >nul
if errorlevel 1 echo 硬盘 MBR 清零失败!
if errorlevel 0 echo 恭喜你,操作成功!!!
goto Exit
=============================
从最开始显示的看好像应该是查看,而不是清除,如果有人选择了4,岂不是MBR被清除,原来本打算看一下的,弄不好会丢失硬盘数据的,应该认真一定吧
=================================

:dspt5
cls
dspt 0 35 1 /L /p /a
if errorlevel 1 echo 你没有备份 MBR !
if errorlevel 0 echo 恭喜你,操作成功!!!
goto Exit
======================================
如果选择了5,应该是清除,不过显示到时不会造成破坏

如果显示第一硬盘MBR,请使用 dspt 0 0 1 /l /p /a
如果显示备份请用你的这段代码
======================================
:Exit

[ Last edited by 19951001 on 2008-7-14 at 10:06 PM ]
作者: ljb603     时间: 2008-7-15 15:24
多谢上楼提醒,是我将:dspt4和:dspt5的内容调错了,现更正如下:
……
:dspt4
cls
dspt 0 35 1 /L /p /a
if errorlevel 1 echo 你没有备份 MBR !
if errorlevel 0 echo 恭喜你,操作成功!!!
goto Exit

:dspt5
cls
dspt 0 0 1 /e /y >nul
if errorlevel 1 echo 硬盘 MBR 清零失败!
if errorlevel 0 echo 恭喜你,操作成功!!!
goto Exit

:Exit
作者: 19951001     时间: 2008-7-16 18:12


  Quote:
Originally posted by ljb603 at 2008-7-15 15:24:
if errorlevel 1 echo 你没有备份 MBR !
if errorlevel 0 echo 恭 ...

如果失败的话,你这样写先两个Echo都会被显示出来的

[ Last edited by 19951001 on 2008-7-16 at 06:18 PM ]
作者: xypcmac     时间: 2008-7-24 21:11


  Quote:
Originally posted by 19951001 at 2008-5-7 22:21:
to gmy:
   http://upload.cn-dos.net/img/363.rar
   你要的版本,我才上来看到有关 m 和 n 的要求,暂时没有实现,通过文件恢复mbr已经实现

   ds ...

447字节的文件好像不能恢复。
作者: 19951001     时间: 2008-7-26 17:37


  Quote:
Originally posted by xypcmac at 2008-7-24 21:11:


447字节的文件好像不能恢复。

通过文件恢复MBR,只要文件大于432字节就可以,恢复时只取前432个字节,和432字节以后的内容没有关系
作者: xypcmac     时间: 2008-7-26 18:02
为什么有447字节,那是因为在446字节(MBR)的前提下,加上了1字节的第一分区激活。即80
作者: 19951001     时间: 2008-7-26 19:58


  Quote:
Originally posted by xypcmac at 2008-7-26 18:02:
为什么有447字节,那是因为在446字节(MBR)的前提下,加上了1字节的第一分区激活。即80

通过文件恢复 MBR 信息,不包括分区表的信息,目前微软的标准主引导记录就是 432 字节,所以程序中只取432字节的内容进行恢复,你的想法可以使用dspt(w)配合str通过扇区恢复的方式解决,看看gmy前面的帖子。
作者: xypcmac     时间: 2008-7-27 15:47
DSPT [Disk] [Start] [Sectors] [/S|/R|/C] [FileName] [/Y]

用此命令似乎也不能恢复不规则的447字节的文件。

当然,我可以恢复446字节的MBR,然后再用 dsptw DISK /ACT:1 来完成。但这样我必然要写一些批处理代码。
作者: rockfirm     时间: 2008-9-3 18:03
woyao kankan
作者: zhenxin     时间: 2008-9-3 21:26
果然是好东西,谢谢楼主共享
作者: georgema     时间: 2008-9-25 12:18
谢谢楼主共享
作者: willing     时间: 2008-10-2 19:24
很有用的工具,谢了楼主。
作者: leejong     时间: 2008-10-3 18:14
下载了
作者: x58397313     时间: 2008-10-7 00:51
厉害东西,佩服!!
作者: gmy     时间: 2008-10-10 11:20    标题: 建议:关于HDD1作为BIOS首选项引导的问题

当有两块硬盘时,有的BIOS设置为 HDD0 作为第一启动驱动器,有的设置为HDD1 作为 First BOOT 的,前者没有问题,后者就会出问题:

Windows 与 GHOST 显示硬盘号不一致,举个例子:假如硬盘0 和 硬盘1 都有两个分区:

Windows下显示(带 GhostStyle 参数):

1:1  E:
1:2  F:

2:2  C:
2:2  D:

DOS下的GHOST里显示为:

1:1  C:
1:2  D:

2:1  E:
2:2  F:

也就是说,DOS认为,谁引导谁就是老大,不考虑IDE接口顺序。

所以,请楼主增加一层判断,C盘所在的硬盘号如果不是首硬盘则强制显示其为首硬盘。


编辑思路:

这里仅可以考虑最多4块硬盘(因为很少有5块以上的):

当C盘在第1块硬盘时,正常显示。
当C盘在第2块硬盘时,原第1块显示为第2块,原第2块显示为第1块。
当C盘在第3块硬盘时,原第1块显示为第2块,原第2块显示为第3块,原第3块显示为第1块。
当C盘在第4块硬盘时,原第1块显示为第2块,原第2块显示为第3块,原第3块显示为第4块,原第4块显示为第1块。

这样的好处是,1:1 这样的参数 可以在DOS下被直接引用,而不必把2:1转成1:1了。

[ Last edited by gmy on 2008-10-10 at 11:40 ]
作者: netwinxp     时间: 2008-10-10 16:15
启动的硬盘会被BIOS赋予硬盘号80H,所以DOS把它挂接到盘符C:,而WINDOWS则直接按扫描到的顺序分配盘符。从BIOS的角度来看,DOS才是正确的,启动的硬盘安排的硬盘号确实是第一的(尽管它可能是Second Channel Slave)。
另,DELL的隐藏分区好像就DE比较规范,DB就别用了,会和CT DOS冲突。其他隐藏分区有A0:IBM Thinkpad隐藏分区,84:OS/2隐藏C:,93:linux隐藏,1E:VFAT(LBA)隐藏分区,11:FAT12隐藏分区。

[ Last edited by netwinxp on 2008-10-10 at 16:36 ]
作者: 19951001     时间: 2008-10-11 08:01


  Quote:
Originally posted by gmy at 2008-10-10 11:20:
当有两块硬盘时,有的BIOS设置为 HDD0 作为第一启动驱动器,有的设置为HDD1 作为 First BOOT 的,前者没有问题,后者就会出问题:

Windows 与 GHOST 显示硬盘号不一致,举个例子:假如硬盘0 和 硬盘1 都有两个分区:

Windows下显示(带 GhostStyle 参数):

1:1  E:
1:2  F:

2:2  C:
2:2  D:

DOS下的GHOST里显示为:

1:1  C:
1:2  D:

2:1  E:
2:2  F:

也就是说,DOS认为,谁引导谁就是老大,不考虑IDE接口顺序。

这是由于Windows操作系统自身造成,并不是我的程序所造成,我提供一个补丁程序使之能够满足你的要求。


本程序专门用来处理如下命令产生的结果:
dsptw /a /pdr
dsptw /a /pdr /reverse
经处理后结果与Dos下ghost相一致。

用法:
  todosghs  result.txt

result.txt 来源:
  dsptw /a /pdr >result.txt        
  或者   
  dsptw /a /pdr /reverse >result.txt

下载地址:
http://upload.cn-dos.net/img/918.rar
作者: lianjiang2004     时间: 2008-10-16 15:17
部分杀软(如avast等)会报dsptw含木马,望解决。
不知是否是原因加了壳的缘故。
作者: 19951001     时间: 2008-10-17 20:32


  Quote:
Originally posted by lianjiang2004 at 2008-10-16 15:17:
部分杀软(如avast等)会报dsptw含木马,望解决。
不知是否是原因加了壳的缘故。

你试一下这个版本,我重新编译了一下
http://upload.cn-dos.net/img/954.rar
作者: lianjiang2004     时间: 2008-10-18 07:52
谢谢,我让人试试。
作者: lianjiang2004     时间: 2008-10-18 11:22
有人反馈,原报毒的杀软avast,对新版已不报毒,谢谢。
作者: 19951001     时间: 2008-10-25 12:36    标题: Diskrw for Dos最新测试版本

与原来版本改变

1、增加参数 Offset
      此参数用来指定文件内部的偏移位置,默认值为0(文件的开始)
      如果给出了Offset的值,但是文件不存在,则给出的Offset值被忽略。
      例子:
       Diskrw C: 0 10 /S sector.bin 10
       将磁盘C:从起始位置开始的10个扇区,写入文件sector.bin。如果文件不存在,则sector.bin的大小为5120个字节,
       如果文件存在,如文件大小小于10字节程序会给出错误信息,如果文件大小大于等于10字节,则程序会将扇区内
       容写入文件的偏移位置10开始的5120字节中,文件中的原来信息会被覆盖(如文件长度小于5130字节则文件长度
       增加)。


   DISKRW [Disk] [Start] [Sectors] [/S|/R|/C] [FileName] [Offset]
      Disk: 0-First Hard Disk, 1-Second Hard Disk, ...
            A:, B:, C:, D: ...
      Start: Disk Absolute Sector 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
      /Offset: The Offset In FileName

2、增加功能 /M
     这个功能在win32版本中早已实现,将磁盘Disk中从位置Start开始的Sectors个扇区内容移动到磁盘DstDisk中Offset
     的位置,移动后Disk中相应位置的扇区信息会被清除,如移出扇区和移入扇区位置叠加,程序会智能选择要清除的
     扇区部分。

   DISKRW [Disk] [Start] [Sectors] [/D|/O|/M] [DstDisk] [Offset]
      /D: Duplicate Disk Sector Info from Disk to DstDisk
      /O: cOmpare Disk Sector Info with DstDisk
      /M: Move Disk Sector Info from Disk to DstDisk
      DstDisk: 0-First Hard Disk, 1-Second Hard Disk, ...
               A:, B:, C:, D: ...
      Offset: Disk Absolute Sector Number

3、增加参数 /Asc
     编辑磁盘可以直接使用 ASCII 码,长度不超过16字符。

   DISKRW [Disk] [SectorNo] [Offset] [/E] [/Hex|/Asc]:[Value]
      SectorNo: Disk Absolute Secotor Number
      Offset: Offset in Specified Sector (0..511)
      /E: Edit Disk Sector Info
      /Hex: Hex Style
      /Asc: ASCII Style
      Value: Hex_Digital/ASCII String (32/16 Characters Maximum)

4、扇区内部处理命令(只处理单个扇区)
      如果Bytes输入0或者输入数据较大(超出扇区边界),则程序处理从Offset开始到扇区结束的字节数

     例子:
      Diskrw 0 0 446 /b 64 mbr.dat 备份第一硬盘(磁盘0)第一扇区(0扇区)中偏移位置446开始 的64个字节到文件 mbr.dat。(这里备份的就是磁盘MBR中的分区表信息)

     

   DISKRW [Disk] [SectorNo] [Offset] [/B|/V|/U] [Bytes] [FileName]
      /B: Backup Disk Sector Info to File
      /V: Vertify Disk Sector Info with File
      /U: Update Disk Sector Info from File
      Bytes: Bytes to Process (0..512)

[ Last edited by 19951001 on 2008-10-29 at 21:02 ]
作者: 19951001     时间: 2008-11-1 16:50
2008.11.11 diskrw程序更新

[ Last edited by 19951001 on 2008-11-11 at 23:31 ]
附件 1: diskrw.rar (2008-11-11 23:31, 25.37 K,下载次数: 317)

作者: 19951001     时间: 2008-11-13 14:20    标题: diskrw for dos 终结版本

这一版本是 Diskrw for Dos的终结版, 如果没有Bug被发现,以后将不在更新。

和上一版本的变化如下
增加命令:

1 扇区内部充填命令
DISKRW [Disk] [SectorNo] [Offset] [/I] [Bytes] [Value] [/Y]
   /I: Fill Disk Sector Data with Value

例子:
   diskrw 0 10 2 /i 10 5
    将磁盘0的第10号扇区的偏移位置2开始的10个字节使用5充填。
   如果Value值不输入,默认为0.

   如果Bytes输入0, 则Bytes=512-Offset;

2 扇区内部数据复制、移动、比较命令
DISKRW [Disk] [SectNo] [Offset] [/T|/A|/P] [dstDisk] [SectNo] [Offset] [Bytes]
   SectNo: Disk Absolute Sector Number
   /T: duplicaTe Disk Sector Data from Disk to dstDisk
   /A: Move Disk Sector Data from Disk to dstDisk
   /P: comPare Disk Sector Data with dstDisk

例子:
   diskrw 0 0 446 /T 0 1 446 64
   将磁盘0的第0号扇区的偏移位置446 开始的64个字节复制到
   磁盘0的第1号扇区的偏移位置446

   如果Bytes输入为0, 则 Bytes取源盘和目的盘中Offset到扇区结束的字节数的小值;
  
   如果Bytes的输入值满足 Bytes+Offset >512 即超出一个扇区后,则Bytes=512-Offset,
   也就是在任何情况下都不会超出扇区处理。
附件 1: DISKRW.rar (2008-11-13 14:20, 18.42 K,下载次数: 647)

作者: lianjiang2004     时间: 2008-11-13 17:56
已收下,谢谢。
作者: zhenxin     时间: 2008-11-14 12:04
thanks for share
作者: 19951001     时间: 2008-11-15 14:12    标题: diskrw 两栖版本

该程序既可以为win32环境下运行,也可以在dos环境下运行。
附件 1: DISKRW.rar (2008-11-15 14:12, 40.09 K,下载次数: 746)

作者: goli2008     时间: 2008-11-18 17:39
19951001大侠,你好啊!你的DSPT很好用,已经几次用在其他程序中,用于识别分区,真的很好,谢谢!

有两个问题,其实池就是同一个问题,请教:
如何用度DSPTW得到分区的ID?
如何用DSPTW直接更改分区的ID?(这个问题很重要,我知道WINPM或DISKGEN等其他软件均能在WIN下直接查看或修改分区系统标识或ID,dsptw能加参数实现这个功能吗?
谢谢,在线等。。。。。。。。。。。。

(补充一点,将说明文件与dsptw.exeEXE同时打包为RAR文件,是否更方便?)

[ Last edited by qwe123456 on 2008-11-18 at 17:41 ]
作者: lianjiang2004     时间: 2008-11-18 19:16


  Quote:
Originally posted by qwe123456 at 2008-11-18 17:39:
19951001大侠,你好啊!你的DSPT很好用,已经几次用在其他程序中,用于识别分区,真的很好,谢谢!

有两个问题,其实池就是同一个问题,请教:
...

DSPTW [Disk] [/ChangeType:type:partno] [/Y]
      /ChangeType: Change Partition Type.
      type: 00-FF.
      partno: Partition Number.
作者: 19951001     时间: 2008-11-18 19:27


  Quote:
Originally posted by qwe123456 at 2008-11-18 17:39:
19951001大侠,你好啊!你的DSPT很好用,已经几次用在其他程序中,用于识别分区,真的很好,谢谢!

有两个问题,其实池就是同一个问题,请教:
...

这是我在程序用于判断的分区值:

ID                分区类型
0x01                DOS_FAT12
0x05                Extended
0x04                DOS_FAT16
0x06                DOS_FAT16
0x07                HPFS/NTFS
0x0b                Win95_FAT32
0x0c                Win95_FAT32
0x0e                Win95_FAT16
0x0f                Extended_LBA
0x82                Linux_Swap
0x83                Linux_Native
0x85                Linux_Extended
0x11                Hide_FAT12
0x14                Hide_FAT16
0x16                Hide_FAT16
0x17                Hide_HPFS/NTFS
0x27                Hide_HPFS/NTFS
0x1b                Hide_FAT32
0x1c                Hide_FAT32
0x1e                Hide_FAT16
0x42                Dynamic_Disk
0x93                Hide_Linux
0xd7                HIDE_DELL
0xdd                HIDE_DELL
0xdb                HIDE_DELL
x0de                HIDE_DELL
0x12                HIDE_FAT
0xbc                ATI_SEC_ZONE
0xa5                FreeBSD


如果不在上述列表中,程序会打印出分区的 ID 值,程序能够直接修改分区的 ID 值:

DSPTW [Disk] [/ChangeType:type:partno] [/Y]
   /ChangeType: Change Partition Type.
   type: 01-FF.
   partno: Partition Number.

例如执行命令   dsptw 0 /l 显示结果为:
Disk Parts Cylinders Heads Sectors  TotalSectors  Mbytes  DiskSerialNumber
0     8    30401     255   63      488392065     238472  9QE314TB

No.  Dr Tag FileSystem     Volume      Act StartPos   Sectors    MBytes FreeMB
1   C: Pri Win95_FAT32    WINXP       Yes 63         61448562   30004  2723
2   I: Pri HPFS/NTFS      DATA            61448625   61432560   29996  451
3   J: Pri HPFS/NTFS      WIN2003         122881185  61432560   29996  347
4   D: Log HPFS/NTFS      ISO             184313808  61432497   29996  226
5   E: Log HPFS/NTFS      movie           245746368  61432497   29996  1154
6   F: Log HPFS/NTFS      DATA_1          307178928  61432497   29996  1455
7   G: Log HPFS/NTFS      HACKER          368611488  61432497   29996  1296
8   H: Log HPFS/NTFS      MOVIE_2         430044048  58348017   28490  113

执行命令: dsptw 0 /changetype:ee:8   则会把上述编号为8的分区(磁盘 H:)的分区ID修改为 0xee。

[ Last edited by 19951001 on 2008-11-18 at 19:31 ]
作者: lianjiang2004     时间: 2008-11-18 19:35
dspt的dos版好久没更新了,能否更新一下dspt的dos版,或者出个两栖版?
作者: 19951001     时间: 2008-11-18 19:52


  Quote:
Originally posted by lianjiang2004 at 2008-11-18 19:35:
dspt的dos版好久没更新了,能否更新一下dspt的dos版,或者出个两栖版?

从现在到年底应该是比较忙的,更新dspt的计划大概要到明年了。
作者: 19951001     时间: 2008-11-18 20:14
有网友给我发消息,询问我有关命令:

DSPTW [Disk] [/MBR] [/NOBACK]  [/Y]
   /MBR: ReBuild Disk Main Boot Record.
   /NOBACK: Don't Backup old MBR.

中是否使用标准的 MBR 代码,我在程序中使用的 MBR 代码如下:

static BYTE mbr[512]={
    0x33,0xc0,0x8e,0xd0,0xbc,0x00,0x7c,0xfb,0x50,0x07,
    0x50,0x1f,0xfc,0xbe,0x1b,0x7c,0xbf,0x1b,0x06,0x50,
    0x57,0xb9,0xe5,0x01,0xf3,0xa4,0xcb,0xbe,0xbe,0x07,
    0xb1,0x04,0x38,0x2c,0x7c,0x09,0x75,0x15,0x83,0xc6,
    0x10,0xe2,0xf5,0xcd,0x18,0x8b,0x14,0x8b,0xee,0x83,
    0xc6,0x10,0x49,0x74,0x16,0x38,0x2c,0x74,0xf6,0xbe,
    0x10,0x07,0x4e,0xac,0x3c,0x00,0x74,0xfa,0xbb,0x07,
    0x00,0xb4,0x0e,0xcd,0x10,0xeb,0xf2,0x89,0x46,0x25,
    0x96,0x8a,0x46,0x04,0xb4,0x06,0x3c,0x0e,0x74,0x11,
    0xb4,0x0b,0x3c,0x0c,0x74,0x05,0x3a,0xc4,0x75,0x2b,
    0x40,0xc6,0x46,0x25,0x06,0x75,0x24,0xbb,0xaa,0x55,
    0x50,0xb4,0x41,0xcd,0x13,0x58,0x72,0x16,0x81,0xfb,
    0x55,0xaa,0x75,0x10,0xf6,0xc1,0x01,0x74,0x0b,0x8a,
    0xe0,0x88,0x56,0x24,0xc7,0x06,0xa1,0x06,0xeb,0x1e,
    0x88,0x66,0x04,0xbf,0x0a,0x00,0xb8,0x01,0x02,0x8b,
    0xdc,0x33,0xc9,0x83,0xff,0x05,0x7f,0x03,0x8b,0x4e,
    0x25,0x03,0x4e,0x02,0xcd,0x13,0x72,0x29,0xbe,0x46,
    0x07,0x81,0x3e,0xfe,0x7d,0x55,0xaa,0x74,0x5a,0x83,
    0xef,0x05,0x7f,0xda,0x85,0xf6,0x75,0x83,0xbe,0x27,
    0x07,0xeb,0x8a,0x98,0x91,0x52,0x99,0x03,0x46,0x08,
    0x13,0x56,0x0a,0xe8,0x12,0x00,0x5a,0xeb,0xd5,0x4f,
    0x74,0xe4,0x33,0xc0,0xcd,0x13,0xeb,0xb8,0x00,0x00,
    0x00,0x00,0x00,0x00,0x56,0x33,0xf6,0x56,0x56,0x52,
    0x50,0x06,0x53,0x51,0xbe,0x10,0x00,0x56,0x8b,0xf4,
    0x50,0x52,0xb8,0x00,0x42,0x8a,0x56,0x24,0xcd,0x13,
    0x5a,0x58,0x8d,0x64,0x10,0x72,0x0a,0x40,0x75,0x01,
    0x42,0x80,0xc7,0x02,0xe2,0xf7,0xf8,0x5e,0xc3,0xeb,
    0x74,0x49,0x6e,0x76,0x61,0x6c,0x69,0x64,0x20,0x70,
    0x61,0x72,0x74,0x69,0x74,0x69,0x6f,0x6e,0x20,0x74,
    0x61,0x62,0x6c,0x65,0x00,0x45,0x72,0x72,0x6f,0x72,
    0x20,0x6c,0x6f,0x61,0x64,0x69,0x6e,0x67,0x20,0x6f,
    0x70,0x65,0x72,0x61,0x74,0x69,0x6e,0x67,0x20,0x73,
    0x79,0x73,0x74,0x65,0x6d,0x00,0x4d,0x69,0x73,0x73,
    0x69,0x6e,0x67,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,
    0x69,0x6e,0x67,0x20,0x73,0x79,0x73,0x74,0x65,0x6d,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8b,0xfc,0x1e,
    0x57,0x8b,0xf5,0xcb,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x55,0xaa
    };

作者: 19951001     时间: 2008-11-18 21:33


  Quote:
Originally posted by lianjiang2004 at 2008-11-18 19:35:
dspt的dos版好久没更新了,能否更新一下dspt的dos版,或者出个两栖版?

这是dspt的两栖版本,没有更新,只是将原来dspt.com和dsptw.exe集成为一个两栖程序
附件 1: dspt.rar (2008-11-18 21:33, 50.91 K,下载次数: 110)

作者: wang6610     时间: 2008-11-18 22:02
不知VISTA使用这个命令后是否会蓝屏?

DSPTW [Disk] [/MBR] [/NOBACK]  [/Y]

据说FDISK /MBR会导致VISTA不能启动.

[ Last edited by wang6610 on 2008-11-18 at 22:03 ]
作者: goli2008     时间: 2008-11-18 22:20


  Quote:
Originally posted by 19951001 at 2008-11-15 14:12:
该程序既可以为win32环境下运行,也可以在dos环境下运行。

是不是搞错了??????
我用DSPTW 0  /l 正常

而用diskrw 0 /l 提示命令不对(HELP),在XP、DOS下均是好些,已经重新下载过两次了,还是一样,是命令不对吗?
作者: goli2008     时间: 2008-11-18 22:40


  Quote:
Originally posted by lianjiang2004 at 2008-11-18 19:16:


DSPTW [Disk] [/ChangeType:type:partno] [/Y]
      /ChangeType: Change Partition Type.
      type: 00-FF.
      partno: Partition Number.

非常感谢大侠!!!!!!!!!!
下载新版后,已经成功。
以前版本(8月份)不成的,且分区ID为12时显示为Unform_type,
新版已经能正常显示为FAT,CHANGEtype也能正常使用了,再次感谢!
(其他ID未测试)

不过有个问题:
当ID为12时,命令Unhide或hide均不能运行!!!
就算将Id由12改为06后(原来的FAT16),必须重启才能进行Hide操作及分配盘符:
我想提的建议是:同样情况,有个showdrive.exe小软件,能实时显示隐藏分区,并分配盘符。(好象听说该软件也是从DSPT中取得的代码),大侠能否让
unhide\hide也有同样的功能?
(showdrive仅是即时显示隐藏分区并自动分配盘符,并不改变隐藏ID性质,重启后继续隐藏)

[ Last edited by qwe123456 on 2008-11-18 at 22:45 ]
作者: 19951001     时间: 2008-11-19 18:18


  Quote:
Originally posted by qwe123456 at 2008-11-18 22:20:

是不是搞错了??????
我用DSPTW 0  /l 正常

而用diskrw 0 /l 提示命令不对(HELP),在XP、DOS下均是好些,已经重新下载过两次了,还是一样,是命令不对吗?

对于diskrw的用法错误,你看一下diskrw的帮助,diskrw不能显示分区信息,其功能是磁盘扇区读写和显示。
作者: 19951001     时间: 2008-11-19 18:32


  Quote:
Originally posted by wang6610 at 2008-11-18 22:02:
不知VISTA使用这个命令后是否会蓝屏?

DSPTW [Disk] [/MBR] [/NOBACK]  [/Y]

据说FDISK /MBR会导致VISTA不能启动.

VISTA使用这个命令后是否会蓝屏?这个我没有用过,这份MBR取自Windows xp的 fixmbr 命令。
作者: goli2008     时间: 2008-11-23 17:13


  Quote:
Originally posted by lianjiang2004 at 2008-11-18 19:16:


DSPTW [Disk] [/ChangeType:type:partno] [/Y]
      /ChangeType: Change Partition Type.
      type: 00-FF.
      partno: Partition Number.

不好意思,再问一下,与这个命令对应,显示某分区的 分区ID是什么???
(如395楼所示?)
作者: lianjiang2004     时间: 2008-11-23 18:07
修改分区id后,存在一个卸载后如何回到分区原来状态的问题。
以前也想过给GGhost一键恢复增加一个选项,可选择是否把最后分区改成12的隐藏分区。
后来想想还是放弃了,还是需要隐藏的自己改为好。

(当然可考虑以某种形式保存原分区id的办法。)
作者: goli2008     时间: 2008-11-23 19:42


  Quote:
Originally posted by lianjiang2004 at 2008-11-23 18:07:
修改分区id后,存在一个卸载后如何回到分区原来状态的问题。
以前也想过给GGhost一键恢复增加一个选项,可选择是否把最后分区改成12的隐藏分区。 ...

对啊,如何保存(查看)原来的ID?
作者: lianjiang2004     时间: 2008-11-23 20:15
一般机子,不是ntfs,就是fat的,问题也不是很大。不过从安全性、兼容性角度必须考虑恢复原样的问题。
可以考虑保存到文件,或者保存到保留扇区的方式。

不知有何更可靠、安全、简单的办法。
作者: lianjiang2004     时间: 2008-11-23 21:40
下面是把一个ntfs分区改成12后,不同工具的识别结果。
dsptw只是显示为标准的Log HIDE_FAT,
而omnifs则能准确显示出原分区的格式。
当然不同工具,功能不同,不可如此简单比较。
----------------------------------------------------------
No.  Dr Tag FileSystem     Volume      Act StartPos   Sectors    MBytes FreeMB
1   C: Pri Win95_FAT32    WINXP       Yes 63         3807342    1859   770
2      Pri Hide_FAT16                     3807405    289170     141   
3   D: Log Win95_FAT32    PRO             4096638    385497     188    94
4      Log HIDE_FAT                       4482198    2056257    1004   

Disk: 1 (16GB) M:[CntxCorpHD]
    1.1: (   1.82GB) [C:\] Active Volume FAT32 l:[WINXP]
    1.2: ( 141.20MB)       Hidden Volume FAT16 l:[DOS]
    1.3: ( 188.23MB) [D:\] Volume FAT32 l:[PRO]
   1.4: (1004.03MB)       Diag Hidden Volume NTFS l:[DATA]
作者: lianjiang2004     时间: 2008-11-23 21:42
这是修改前的结果。

No.  Dr Tag FileSystem     Volume      Act StartPos   Sectors    MBytes FreeMB
1:1  C: Pri Win95_FAT32    WINXP       Yes 63         3807342    1859   769
1:2     Pri Hide_FAT16                     3807405    289170     141   
1:3  D: Log Win95_FAT32    PRO             4096638    385497     188    100
1:4  E: Log HPFS/NTFS      DATA            4482198    2056257    1004   540

    1.1: (   1.82GB) [C:\] Active Volume FAT32 l:[WINXP]
    1.2: ( 141.20MB)       Hidden Volume FAT16 l:[DOS]
    1.3: ( 188.23MB) [D:\] Volume FAT32 l:[PRO]
    1.4: (1004.03MB) [E:\] Volume NTFS l:[DATA]
作者: goli2008     时间: 2008-11-24 00:28
没错,ID=12有很多好处,文件系统(ntfs/fat32/fat)并没有改变,omnifs识别出也没有任何意义。
就算是id=12,能看出文件系统是ntfs/fat32/fat不是难事,问题的关键在于:
ntfs/fat32/fat还有个隐藏的对应ID,这才是重要的。

按说,能写ID,就应能读出ID,19951001应该知道这个参数(说实在话,changetype这个参数我是找不到的),等他来吧。

如能读出原来的ID,一切问题就迎刃而解!


啊,你就是lianjiang大元帅吧,我是歌理,多多指教。
作者: lianjiang2004     时间: 2008-11-24 09:45
omnifs识别出也没有任何意义
-----------------------------
其意义就在于不用保存原id,就可以知道原分区格式,以恢复原样。能实现这点的话,还不够吗?呵呵。
作者: goli2008     时间: 2008-11-24 16:21


  Quote:
Originally posted by lianjiang2004 at 2008-11-24 09:45:
omnifs识别出也没有任何意义
-----------------------------
其意义就在于不用保存原id,就可以知道原分区格式,以恢复原样。能实现这点的话,还不够吗?呵呵。

我这么理解:分区ID与文件系统(所说的分区格式)应该是不同的,即不管分区ID是什么,其文件系统(如NTFS)都 不会变,除非重新格式化,对于NTFS而言,有多种的ID分区与其对应,最简单的就是隐藏与非隐藏之分,(此外通过实际应用发现,Vista格式的NTFS与XP下的NTFS也不完全一样,证明是同样在DOS下,对两种系统的NTFS识别率不一样)

所以,保存或识别分区ID是有必要的,而omnifs所识别的文件系统很多软件都能做(dspt稍做修改也应能识别),例如XP就能正确识别。

请问,此图用什么 软件得到的?

[ Last edited by qwe123456 on 2008-11-24 at 16:42 ]
附件 1: 20080914_79b1a522feea54028c97cOaR20nZpFOb.jpg (2008-11-24 16:41, 27.03 K,下载次数: 3)



作者: lianjiang2004     时间: 2008-11-24 18:41
上图是grub的工具获得的。
另外,dspt似乎是完全根据id来识别的,而不会管到底实际是何种文件系统。

[ Last edited by lianjiang2004 on 2008-11-24 at 18:44 ]
作者: lianjiang2004     时间: 2008-11-24 18:59
比如,我把最后的ntfs分区的id改为0b, dsptw显示的是fat32,omnifs显示的就是ntfs。
作者: goli2008     时间: 2008-11-25 10:57


  Quote:
Originally posted by lianjiang2004 at 2008-11-24 18:59:
比如,我把最后的ntfs分区的id改为0b, dsptw显示的是fat32,omnifs显示的就是ntfs。

我试了,的确如此。
看来DSPT是要改进一下,ID与文件系统要分别提取、识别 。

另外GRUB提取的ID好象在WINDOWS无法使用,且给出的分区号与实际不对应。

等 楼主来吧,看他能否取出分区ID。
作者: lianjiang2004     时间: 2008-11-25 11:03


  Quote:
Originally posted by qwe123456 at 2008-11-25 10:57:



我试了,的确如此。
看来DSPT是要改进一下,ID与文件系统要分别提取、识别 。

另外GRUB提取的ID好象在WINDOWS无法使用,且给出的分区号与实际不对应。

等 楼主来吧,看他能否取出分区ID。

grub给出的是grub本身的硬盘分区识别号。要转换才能变为一般意义的分区号。
作者: goli2008     时间: 2008-11-25 11:27
将错就错,如果没有其他办法,可以用下表得到对应的ID,
对于win而言方,仅需fat/fat16/fat32/ntfs及其对应的隐藏ID即可,共4个+“hide",

虽然这不是很准确,但也应该能够保存原来的ID了。
楼主这家伙跑哪 去了?

ID                分区类型
0x01                DOS_FAT12
0x05                Extended
0x04                DOS_FAT16
0x06                DOS_FAT16
0x07                HPFS/NTFS
0x0b                Win95_FAT32
0x0c                Win95_FAT32
0x0e                Win95_FAT16
0x0f                Extended_LBA
0x82                Linux_Swap
0x83                Linux_Native
0x85                Linux_Extended
0x11                Hide_FAT12
0x14                Hide_FAT16
0x16                Hide_FAT16
0x17                Hide_HPFS/NTFS
0x27                Hide_HPFS/NTFS
0x1b                Hide_FAT32
0x1c                Hide_FAT32
0x1e                Hide_FAT16
0x42                Dynamic_Disk
0x93                Hide_Linux
0xd7                HIDE_DELL
0xdd                HIDE_DELL
0xdb                HIDE_DELL
x0de                HIDE_DELL
0x12                HIDE_FAT
0xbc                ATI_SEC_ZONE
0xa5                FreeBSD
作者: goli2008     时间: 2008-11-25 11:29


  Quote:
Originally posted by lianjiang2004 at 2008-11-25 11:03:

grub给出的是grub本身的硬盘分区识别号。要转换才能变为一般意义的分区号。

lianjiang2004,经常看见你,你是网管,不上班或这是你的工作,呵呵,好奇,随便问问。
作者: goli2008     时间: 2008-11-25 11:44
由于碰到dspt不认识的分区时,会给出ID,所以加个参数(或者已有了?),取出ID是非常容易的。
作者: 19951001     时间: 2008-11-28 19:06
前段时间出差了,今天下午6:30刚刚到家,根据大家要求,我会加入一个参数取出ID值,请大家稍等几天
作者: 19951001     时间: 2008-11-29 12:45    标题: dsptw增加显示ID开关

增加可以显示分区ID值的开关 /GetID (适用于 /L 和 /find 命令)

使用方法:
     dsptw 0 /l /getid

     dsptw 0 /find:all /getid
附件 1: dsptw.rar (2008-11-29 12:45, 22.64 K, 下载附件所需积分 1点 ,下载次数: 757)

作者: lianjiang2004     时间: 2008-11-29 17:06
已下载。支持更新。
作者: goli2008     时间: 2008-11-30 17:35
坚决支持楼主!!!!!!!!!!!!!
作者: goli2008     时间: 2008-11-30 20:02
真是太好用了,请楼主将它与dos的搞为一个文件啊,方便

提点小建议,能否这么来:
dsptw 0 /l /getid------------------->目前功能,显示所有分区的ID
有时候可能这样更方便:
dsptw 0 /l /getiD:n----------------->仅显示第n个分区的ID

[ Last edited by qwe123456 on 2008-11-30 at 20:06 ]
作者: 19951001     时间: 2008-11-30 22:18


  Quote:
Originally posted by qwe123456 at 2008-11-30 20:02:
真是太好用了,请楼主将它与dos的搞为一个文件啊,方便

提点小建议,能否这么来:
dsptw 0 /l /getid------------------->目前功能,显示所有分区的ID
有时候可能这样更方便:
dsptw 0 /l /getiD:n----------------->仅显示第n个分区的ID

将Win32版本和dos版本合成一个文件很容易,近些天会完成,仅显示第n个分区的ID程序中改动的地方多一些,只能是我闲下来时修改吧。
作者: goli2008     时间: 2008-12-1 23:24
哦发,好的,支持你
作者: goli2008     时间: 2008-12-1 23:28
哎,顺便说一句,我改ID啦,DOSroot邦我改的,不过我还不知道他是谁呢,改天再再谢谢他,知道他是谁的,跟我说一下,呵呵
作者: abs117     时间: 2008-12-2 13:14
已下载。支持更新。
作者: semenyung     时间: 2008-12-9 22:51
不错的东西
作者: fjwjj     时间: 2008-12-11 10:15
好东西
作者: chenall     时间: 2008-12-11 14:18
能不能添加一个功能.
把某个扇区里面指定偏移,指定长度的内容,复制到另一指定位置或保存为一个文件?
作者: 19951001     时间: 2008-12-11 19:24


  Quote:
Originally posted by chenall at 2008-12-11 14:18:
能不能添加一个功能.
把某个扇区里面指定偏移,指定长度的内容,复制到另一指定位置或保存为一个文件?

使用diskrw可以满足你的要求:
http://www.cn-dos.net/forum/atta ... 90a9&download=1
在dos下运行

或者去389楼下载

[ Last edited by 19951001 on 2008-12-11 at 22:57 ]
作者: goli2008     时间: 2008-12-12 10:00
同问楼上的问题,在win32下如何应用????



2008.11.1
Diskrw for Dos
与原来版本改变

1、增加参数 Offset
      此参数用来指定文件内部的偏移位置,默认值为0(文件的开始)
      如果给出了Offset的值,但是文件不存在,则给出的Offset值被忽略。
      例子:
       Diskrw C: 0 10 /S sector.bin 10
       将磁盘C:从起始位置开始的10个扇区,写入文件sector.bin。如果文件不存在,则sector.bin的大小为5120个字节,
       如果文件存在,如文件大小小于10字节程序会给出错误信息,如果文件大小大于等于10字节,则程序会将扇区内
       容写入文件的偏移位置10开始的5120字节中,文件中的原来信息会被覆盖(如文件长度小于5130字节则文件长度
       增加)。

---------------------------------------

如果增加这个功能,与/e/s/r配合,将大大的扩展这个软件的功能,如可直接对文件进行修改,(将文件写入扇区,再取出或修改其中有用的部分,再写回文件),变成一个文件编辑器。

[ Last edited by goli2008 on 2008-12-12 at 11:32 ]
作者: yinui     时间: 2008-12-12 20:57
期待下一个版本更新。谢谢~~~~~~~
作者: chenall     时间: 2008-12-12 22:17


  Quote:
Originally posted by 19951001 at 2008-12-11 07:24 PM:


使用diskrw可以满足你的要求:
http://www.cn-dos.net/forum/atta ... 90a9&download=1
在dos下运行

或者去389楼下载

[ Last edi ...

试了下,只有最新DOS版有这个功能,WIN32版无此功能,不知如何实现?
作者: 19951001     时间: 2008-12-12 22:54


  Quote:
Originally posted by chenall at 2008-12-12 22:17:


试了下,只有最新DOS版有这个功能,WIN32版无此功能,不知如何实现?

可以使用如下软件配合实现:
http://www.cn-dos.net/forum/viewthread.php?tid=39834&fpage=2
作者: goli2008     时间: 2008-12-13 11:01
太好了,真是高手,我找了好久,就是这个。
请您将 帖子标题改改,方便其他搜索,可好?
作者: chenall     时间: 2008-12-13 18:10
已了搞定,谢谢楼主^_^
作者: 19951001     时间: 2008-12-13 22:33


  Quote:
Originally posted by goli2008 at 2008-12-13 11:01:
太好了,真是高手,我找了好久,就是这个。
请您将 帖子标题改改,方便其他搜索,可好?

本帖子的标题吗? 我一般会在更新的时间和软件名字写在上面
作者: goli2008     时间: 2008-12-15 14:29
STR
作者: goli2008     时间: 2008-12-18 09:54
diskrw 0 0 ?? /r 1.exe

关于写入文件的问题,扇区参数规定太死了,非得与文件的扇区一致才能写,
问题是文件的扇区数有时不好计算(或者说不确定),能否修改或取消此参数,或设为0时,默认按文件长度写入(自动计算扇区)?

等。。。。。。。。。。。。。。。
作者: goli2008     时间: 2008-12-18 13:57
dspt 1 0 0x3 /e /hex:010203 /y
这个命令清空扇区所有数据!!!!!!!
作者: 19951001     时间: 2008-12-19 21:50


  Quote:
Originally posted by goli2008 at 2008-12-18 13:57:
dspt 1 0 0x3 /e /hex:010203 /y
这个命令清空扇区所有数据!!!!!!!

在dspt中的 /e

   DSPT [Disk] [Start] [Sectors] [/E] [/Y]
      /E: Clear Disk Sector Info

这当然是清空扇区内容,你说的没有问题,这有什么奇怪的。
附件 1: aaa.GIF (2008-12-19 21:50, 14.54 K, 下载附件所需积分 1点 )



作者: 19951001     时间: 2008-12-19 21:52


  Quote:
Originally posted by goli2008 at 2008-12-18 09:54:
diskrw 0 0 ?? /r 1.exe

关于写入文件的问题,扇区参数规定太死了,非得与文件的扇区一致才能写,
问题是文件的扇区数有时不好计算(或者说不确定) ...

在dos下可以写入扇区的部分内容,并不要求写入扇区的全部
作者: goli2008     时间: 2008-12-20 15:06


  Quote:
Originally posted by 19951001 at 2008-12-19 21:50:


在dspt中的 /e

   DSPT [Disk] [Start] [Sectors] [/E] [/Y]
      /E: Clear Disk Sector Info

这当然是清空扇区内容,你说的没有问题,这有什么奇怪的。

这个没错,
可是我用的是dspt与diskrw两者的合成版,
而diskrw的/E参数是修改的意思:
2008.9.27
Win32 版本 diskrw 更新
http://upload.cn-dos.net/img/798.rar


本次修改的内容:
1  命令调整,原来的 /E 命令(删除扇区内容)更改为 /F 命令 (扇区内容充填)
   原来的 /E 命令是使用 0 充填指定扇区
   现在的 /F 命令可指定任何值对扇区进行充填,如果不输入 Value 值则和原版本的 /E 命令执行相同的功能

DISKRW [Disk] [StartSector] [Sectors] [/F] [Value]
  /F: Fill Disk Sector Info with Value
  Value: an Integer (0..255), default is 0

2  命令调整,将修改扇区的命令有原来的 /M (Modify) 调整为 /E (Edit) 更为直观

DISKRW [Disk] [SectorNo] [Offset] [/E] [/HEX:Value]
  SectorNo: Absolute/Relative Sector No. of Disk
  Offset: The Offset in Specified Sector (0..511)
  /E: Edit Disk Sector Info
  /HEX: Hex Style
  Value: Hex Digital String (No more than 32 characters)

所以,能否统一参数?
作者: goli2008     时间: 2008-12-20 15:08
另外,请看一下,
str 1.exe 0x03 0 /e /hex:0011
写00时会出错,后来我用dspt的E参数写入时,才发现清空扇区的。
作者: 19951001     时间: 2008-12-20 15:12


  Quote:
Originally posted by goli2008 at 2008-12-20 15:06:
可是我用的是dspt与diskrw两者的合成版,而diskrw的/E参数是修改的意思:
2008.9.27
Win32 版本 diskrw 更新
[url]http://upload.cn-dos.net/img/7 ...

diskrw新版本中修改命令由原来的 /M 变更为 /e
但是在dspt中从来也没有改变过,你在使用dspt的 /e 时,程序也会询问你是否要清除扇区内容,你难道没有留意。

我从来没发布过什么dspt与diskrw两者的合成

[ Last edited by 19951001 on 2008-12-22 at 20:10 ]
作者: 19951001     时间: 2008-12-20 15:13


  Quote:
Originally posted by goli2008 at 2008-12-20 15:08:
另外,请看一下,
str 1.exe 0x03 0 /e /hex:0011
写00时会出错,后来我用dspt的E参数写入时,才发现清空扇区的。

str已经更新了
作者: goli2008     时间: 2008-12-20 15:26


  Quote:
Originally posted by 19951001 at 2008-12-20 15:13:


str已经更新了

试用正确,非常感谢!!!!
作者: goli2008     时间: 2008-12-22 22:05
Diskrw.com 是磁盘扇区读写程序
Dpit.com 是分区信息管理工具
Dspt.com 是上述两者合成版本

我一直用dspt,很少用diskrw,所以对这些参数可能张冠李戴?
作者: a1414911     时间: 2008-12-25 23:09
终于找到备份pbr的工具了
作者: rivulet     时间: 2008-12-31 01:13
太感谢了,好东西
作者: haiou327     时间: 2009-1-5 14:57
好工具....
作者: caozhi256     时间: 2009-1-10 22:45    标题: 想知道如何在命令行给隐藏分区分配盘符

真是好东西!
仅dsptw 0 /l /getid 结合For就能干很多事情了。
要是能给隐藏分区分配盘符就好了。
我是小菜,可能说得不对,请问大大,如何才能在命令行实现给隐藏分区分配盘符呢?
作者: zhanyuzai     时间: 2009-1-10 23:31
看看,最后一个链接是最新版吗?
作者: goli2008     时间: 2009-1-11 02:12
大侠,能否更新FOR DOS的DSPT?(与W32两栖)

dspt for DOS有两个问题:分区12表示为unknow type,所以也不能unhide
另外不支持Changetype.
作者: gmy     时间: 2009-1-15 13:16


  Quote:
Originally posted by 19951001 at 2008-11-29 12:45 PM:
增加可以显示分区ID值的开关 /GetID (适用于 /L 和 /find 命令)

使用方法:
     dsptw 0 /l /getid

     dsptw 0 /find:all /getid

这个版本兼容GGHOST要求的防杀软误杀的版本吗?
这个版本有没有时间限制?

因为我准备更新到下一版的一键GHOST里。

[ Last edited by gmy on 2009-1-15 at 13:17 ]
作者: chenall     时间: 2009-1-15 14:26
不知有没有比较简单办法实现直接把整个分区的内容保存到一个文件中?
作者: adiwdmd     时间: 2009-1-16 15:08
判断分区信息主要还是应用在 dos 中,希望楼主尽快更新 dspt 的 dos 版本,使其具有和 dspt windows 版本一样的功能
期待。。

[ Last edited by adiwdmd on 2009-1-16 at 23:05 ]
作者: tegl     时间: 2009-1-18 19:07
最新的DSPT两栖版有BUG:
在Windows下执行以下命令能够正常显示所有分区信息,但在DOS却无法显示
dspt /a /pdr
作者: ldfcndos     时间: 2009-2-3 13:57
好工具. 谢谢楼主!
作者: andy518     时间: 2009-2-10 19:44
不容易啊,太强大了
作者: newswan     时间: 2009-2-12 01:53
很好的东东。。。。继续努力。。。谢谢
作者: zhaoliang518     时间: 2009-2-16 18:52
dspt 0 /l  结果如下

Disk  Partitions  Cylinders  Heads  Sectors  TotalSectors   Mbytes
0       1         1040       16      63      1048576       512   

No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
1    C: Primary  NO NAME     DOS_FAT16      Yes  63          1031121    503

我想查看最后一个扇区的内容:
dspt 0 1048576 1 /l         错误

dspt 0 1048575 1 /l         有显示

问题:
我如何得到 1048575 这个数字???

我的想法:
1、dspt 0 /l >x.txt      把磁盘信息写到 x.txt 里
2、str x.txt 115 10 /c n.txt     从 x.txt 里截取扇区数保存到 n.txt
问题是我如何将 n.txt 中的数字 -1 ???
DOS 无法计算???

[ Last edited by zhaoliang518 on 2009-2-16 at 19:04 ]
作者: 19951001     时间: 2009-2-16 20:02


  Quote:
Originally posted by zhaoliang518 at 2009-2-16 18:52:
dspt 0 /l  结果如下

Disk  Partitions  Cylinders  Heads  Sectors  TotalSectors   Mbytes
0       1         1040       16      63      1048576       512   

No.  Drv  Type    Volume      P ...

扇区的编号是从0开始,根据上述结果扇区总数为1048576那么扇区的编号应该是 0..1048575 ,最后一个扇区的编号应该是1048575
作者: 19951001     时间: 2009-2-16 20:06


  Quote:
Originally posted by tegl at 2009-1-18 19:07:
最新的DSPT两栖版有BUG:
在Windows下执行以下命令能够正常显示所有分区信息,但在DOS却无法显示
dspt /a /pdr

你在dos下看一下dspt的帮助信息,我不希望总有一些无聊的问题扰乱我
作者: 19951001     时间: 2009-2-16 20:08


  Quote:
Originally posted by caozhi256 at 2009-1-10 22:45:
真是好东西!
仅dsptw 0 /l /getid 结合For就能干很多事情了。
要是能给隐藏分区分配盘符就好了。
我是小菜,可能说得不对,请问大大,如何才能在命令行实现给隐藏分区分配盘符呢?

在 win32 环境下,使用changetype命令可实现。
作者: 19951001     时间: 2009-2-16 20:09


  Quote:
Originally posted by goli2008 at 2009-1-11 02:12:
大侠,能否更新FOR DOS的DSPT?(与W32两栖)

dspt for DOS有两个问题:分区12表示为unknow type,所以也不能unhide
另外不支持Changetype.

请耐心等待,不久我会将该这个功能加入。
作者: 19951001     时间: 2009-2-16 20:11


  Quote:
Originally posted by gmy at 2009-1-15 13:16:


这个版本兼容GGHOST要求的防杀软误杀的版本吗?
这个版本有没有时间限制?

因为我准备更新到下一版的一键GHOST里。

[ Last edited by gmy on 2009-1-15 at 13:17 ]

1、没有时间限制
2、由于源代码中有汇编部分,需要改编为C程序,暂时没有兼容GGHOST防误杀要求。
作者: zhaoliang518     时间: 2009-2-16 20:24


  Quote:
Originally posted by 19951001 at 2009-2-16 20:02:



扇区的编号是从0开始,根据上述结果扇区总数为1048576那么扇区的编号应该是 0..1048575 ,最后一个扇区的编号应该是1048575

呵呵,谢谢回复!关于扇区数,我是知道的。

情况是这样的,有个软件把 KEY 写到最后一个扇区里了,
但是重启电脑后KEY就没了
我只是想做个批处理把KEY备份出来,
重启时写回KEY。

但是我水平不行,搞不定啦

下面是我的备份 KEY 的批处理:
dspt 0 0 1 /s 0.dat /y         备份0扇区 0.dat
dspt 0 /dpr /y                   最后扇区写到0扇区
dspt 0 0 1 /s K.dat /y         备份0扇区 k.dat
dspt 0 0 1 /r 0.dat /y         恢复0扇区

不是我白痴啦,想做个通用的,因为各个电脑的扇区数是不确定的,
我页不知道如何得到最后一个扇区的位置数,
所以才这么麻烦,
这个需求比较特殊 !
我只是想问问,谁有纯 DOS 下的计算器?
比如:
calc 1024-1
得出1023就可以了

[ Last edited by zhaoliang518 on 2009-2-16 at 21:00 ]
作者: lianjiang2004     时间: 2009-2-16 21:38
strings有运算功能
作者: zhaoliang518     时间: 2009-2-16 21:49
找到
CALC387.zip

http://www.cn-dos.net/forum/attachment.php?aid=3675&checkid=c2100&download=1

[ Last edited by zhaoliang518 on 2009-2-16 at 21:51 ]
作者: WLDNA     时间: 2009-2-27 06:36
偶一直在用 dsptw.exe ,结合程序用,感觉很不错,非常感谢,呵呵

有一些特殊的操作需要设置分区为非活动,而目前
  DSPTW [Disk] [/ACT:n]
只有激活的功能,不知道能不能加一个取消激活的功能呢?呵呵

其实,只是有个朋友偶然发现,U盘启动的时候,不需要激活分区也可以的,
激活反而导致,一系列的问题,但是HP的格式化工具有默认设置为激活了,所以想结合dsptw来实现这个功能,如果能添加就太感谢了,呵呵
作者: penginfo     时间: 2009-3-2 23:56
谢谢更新,下载测试一下。
作者: gmy     时间: 2009-3-7 22:07
DISKRW是否支持640G硬盘?

http://doshome.net/bbs/dispbbs.asp?boardid=4&id=4713
作者: 19951001     时间: 2009-3-7 22:12


  Quote:
Originally posted by gmy at 2009-3-7 22:07:
DISKRW是否支持640G硬盘?

http://doshome.net/bbs/dispbbs.asp?boardid=4&id=4713

可支持最大2T(2048G)硬盘
作者: dosos     时间: 2009-3-8 00:40
很好的工具。谢谢了
作者: tyywzf     时间: 2009-3-12 02:37
感谢楼主分享,一直在使用,今天特地来顶楼主,呵呵
作者: zjimmy     时间: 2009-3-13 05:38
借用啦 谢谢!
作者: CHEN39     时间: 2009-3-14 08:20
支持
作者: cchessbd     时间: 2009-4-9 23:57
上传一个dspt出错的录象
附件 1: dspt出错录象.rar (2009-4-9 23:57, 58.08 K, 下载附件所需积分 1点 ,下载次数: 9)

作者: gmy     时间: 2009-4-13 20:04
建议 diskrw for DOS增加写入标准 DBR 功能(当然不能破坏BPB),类似vista和win7自带的小工具 bootsect /n52 和  /n60 的功能,因为微软没有提供纯DOS版的bootsect,而且DBR的资料比MBR少得多(有也仅仅是n40即WIN95或DOS的),也许从用DISKGEN3.0或WINHEX最新版作为工具来实验(XP和WIN7作为实验环境)获取DBR,可以得到启发。

[ Last edited by gmy on 2009-4-19 at 23:58 ]
作者: gmy     时间: 2009-4-15 00:43
建议将dsptw 将 Dynamic_Disk 类型的分区纳入到参数 /normal (常规分区)之列。(因为动态分卷多数情况下就是基本磁盘,且为NTFS格式)。

另外,/normal  好像没有过滤掉 Hide_FAT32 吧?

[ Last edited by gmy on 2009-4-15 at 03:24 ]
作者: toney     时间: 2009-4-17 00:48
不错,好东西,下载下来!!
作者: jason33883     时间: 2009-4-17 23:17
下來使用一下,好東西.
作者: gmy     时间: 2009-4-19 22:59


  Quote:
/M 这个功能在win32版本中早已实现,将磁盘Disk中从位置Start开始的Sectors个扇区内容移动到磁盘DstDisk中Offset的位置,移动后Disk中相应位置的扇区信息会被清除,如移出扇区和移入扇区位置叠加,程序会智能选择要清除的扇区部分。

我理解/M 的意思是:/M = 有条件地 /D + /F , 也就是 将原磁盘的指定扇区复制到目标磁盘后用0清除原磁盘的指定扇区,如果遇到重叠将保留重叠部分,我解释的对吗?

例如:diskrw c: 10 20 /M d: 15 将c:盘第10号扇区开始的20扇区复制到d:盘起始位置为第15号扇开始的20个扇区,然后清除(以0填充)c:盘第10号扇区开始的20个扇区

再如:diskrw c: 10 20 /M c: 29 将c:盘第10号扇区开始的20扇区复制到c:盘起始位置为第29号扇开始的20个扇区,然后清除(以0填充)c:盘第10号扇区开始的19个扇区(注意不是20个,因为第20个即29号扇区是重叠部分,所以第29号扇区不会被覆盖)

[ Last edited by gmy on 2009-4-19 at 23:08 ]
作者: gmy     时间: 2009-4-19 23:45
对 /B 和 /U 的的疑问:

/B
diskrw 0 0 446 /b 64 mbr.dat 备份绝对0扇区的第446扇区开始的64个字节,即:仅仅备份HDPT(硬盘分区表),不备份MBR(主引导记录),保存文件为mbr.dat.  
mbr.dat是64个字节还是512个字节?

/U
diskrw 0 0 446 /u 64 mbr.dat 恢复绝对0扇区的第446扇区开始的64个字节,即:仅仅恢复HDPT(硬盘分区表),不恢复MBR(主引导记录),恢复文件来源于mbr.dat.  
mbr.dat 如果大于、等于512个字符,取第446开始的64个扇区
mbr.dat 如果小于512个字符,取文件开头(第1个字节)的64个扇区
以上的理解对不对?
作者: ansemz     时间: 2009-4-24 05:02
下载下来研究一下。功能太多了。
作者: wtjnorip     时间: 2009-4-26 22:53
我在找WinPE可用的硬盤分區的管理工具,感謝大大提供的。希望這是我要找的。
作者: lionguo2006     时间: 2009-4-27 05:40
太强了,感谢楼主的付出
有两个棘手的问题请楼主及各位帮助
1。有没有现成的工具或简单的办法确定一个文件所在的sector。
3。有没有现成的工具或简单的办法把一个文件放到指定的sector.比如,create a WORD file that is 4k. 我们可以把它存到C,D...盘。 可不可以指定把它存到sector 100 in drive C? 如何实现?
2。 如何create a fragmented file which is a file occupies unconsecutive sectors.

多谢了!
作者: penginfo     时间: 2009-4-30 09:02
无法读取ATA硬盘的信息.

dspwt 0 /L
提示:open disk error!

电脑是IBM T23本本,用WINPM同样也找不到硬盘.不知道是怎么回事.

[ Last edited by penginfo on 2009-4-30 at 09:03 ]
作者: Wubinzgr     时间: 2009-5-14 04:28

作者: netwinxp     时间: 2009-5-14 09:47
IBM T23采用INTEL ICH3M(82801CAM)南桥(HWID:PCI\VEN_8086&DEV_248A),直接用intelide.sys即可驱动,找不到硬盘的话只能是IBM在搞鬼。
作者: 0189105     时间: 2009-6-19 00:27
搂主好像很久没有来过了,顶一下。
作者: peterww2007     时间: 2009-6-20 21:16
没用过,试试.
作者: chenall     时间: 2009-6-24 14:41
可不可以整理一下,把最新的版本放在顶楼啊,同时删了那些旧的版本.

好像现在看起来乱乱的.

DOS版,WIN版,合成版,都没有同步更新.
作者: j3l11234     时间: 2009-6-29 09:07
能不能换成中文的显示?
我说的是中文说明
或者写一份翻译?
作者: johnsonlam     时间: 2009-6-30 00:20


  Quote:
Originally posted by j3l11234 at 2009-6-29 09:07 AM:
能不能换成中文的显示?
我说的是中文说明
或者写一份翻译?


用 中 文 得 要 啟 用 graphic 模 式 , 或 中 文 系 統 , 會 引 發 其 他 兼 容 問 題 ...

翻 譯 也 要 有 誰 有 空 可 做 , 還 是 學 點 英 文 吧 , 弄 對 了 學 習 方 法 的 話 , 不 會 很 難 。

作者: chanklb     时间: 2009-7-12 11:36
thanks
作者: abear     时间: 2009-8-14 10:29
谢谢!!!
作者: atoms     时间: 2009-8-16 12:02    标题: save

save
作者: atoms     时间: 2009-8-19 11:28    标题: 你好,Dspt for dos版本为什么win32版大好多

来自: atoms  
到: 19951001
时间: 2009-8-16 12:38 PM
内容: dos版有没有10K以下的,做到romos里越小越好
作者: wwisdom     时间: 2009-8-21 14:00
潜水好长时间了。这个软件真的很好。谢谢大。
作者: lrbin50     时间: 2009-9-2 06:51
怎样读取所有物理硬盘的信息啊?
作者: lfm     时间: 2009-9-6 11:43
非常不错的工具

[ Last edited by lfm on 2009-9-7 at 23:43 ]
作者: zhangsd21cn     时间: 2009-9-9 13:29
好东西
作者: monock     时间: 2009-9-11 02:23
try
作者: twt     时间: 2009-10-6 11:57
很好很强大,不过说明太乱了
作者: likezyj     时间: 2009-10-7 12:16
才发现这么好的工具
作者: wewebb     时间: 2009-10-10 19:54
绝对扇区读写好工具。说明写得很详细。
作者: woo88     时间: 2009-10-29 18:51
正需要
作者: Portable     时间: 2009-11-6 04:26
thanks for share
作者: jianliulin     时间: 2009-11-20 15:38
找了好久的软件
作者: jianliulin     时间: 2009-11-20 19:33
lz,能否把限定名称执行的功能去掉,当我把dsptw载入内存再执行的时候,程序就被拦住了
作者: atoms     时间: 2009-11-21 02:20    标题: 有没有13KB以下纯dos 用的diskrw.com

有没有13KB以下纯dos 用的diskrw.com
在64kb,freedos中用的
作者: 123456     时间: 2009-12-1 15:19
你是一下这个版本,我更改了查找顺序
作者: guapibai     时间: 2009-12-4 17:28
good
作者: gaoruxing     时间: 2009-12-17 10:09
好东西,谢谢分享!
作者: AhKang     时间: 2009-12-25 16:16    标题: 麻烦楼主帮看一下! C: 盘哪里去了? (附图)

放到 E: 盘下的大多数目录(中文/英文)均可正常运行(正常显示 C: 分区, 但个别目录除外), 而一旦放到 D: 盘和 C: 盘的任意位置(包含根目录)运行均是这个样子--不显示 C: 分区(是参数错误了吗? 但在 E: 盘下运行相同的命令没出错呀!), 恳请楼主于百忙之中抽空看一下, 给予解决为谢!

[ Last edited by AhKang on 2009-12-25 at 16:22 ]
附件 1: NoC.PNG (2009-12-25 16:16, 9.17 K)


附件 2: HasC.PNG (2009-12-25 16:21, 59.76 K)


附件 3: CNDirHasC.PNG (2009-12-25 16:21, 66.04 K)



作者: cjing2000     时间: 2009-12-26 14:04
下载测试下,没想到两个整合在一起文件小了那么多啊.
作者: 19951001     时间: 2009-12-26 15:52
我这里没有这种情况发生
附件 1: 111.GIF (2009-12-26 15:52, 16.36 K, 下载附件所需积分 1点 )



作者: wyl0205     时间: 2009-12-28 13:03
不知道能不能检测到硬盘数量
作者: AhKang     时间: 2010-1-4 16:20    标题: 回楼上的:可以检测磁盘数量

对应命令为:

dsptw n /L (n=0(第1块硬盘,n=1为第2块硬盘…依此类推)直到最大硬盘数,如果命令出现“Open Disk Error!”,则说明您的硬盘数为刚才输入的数字。
比如,只有一块硬盘的计算机中,输入 dsptw 0 /L 是没有问题的,但如果输入 dsptw 1 /L 则会出现 Open Disk Error! 也就量说,您的硬盘就是您刚才输入的 1 (只有1块硬盘喽)

至少我是这样理解的,如有不妥之处,还望坛上高人们批评指正。

[ Last edited by AhKang on 2010-1-4 at 16:21 ]
作者: 3mile     时间: 2010-1-11 22:10
好东西,尤其是GETID非常有用哈
作者: bbsphixy     时间: 2010-1-28 11:05
很详细~~

不错的工具···
作者: pws011     时间: 2010-1-30 12:32
顶, 刚发现如此工具
作者: hpdeskjet     时间: 2010-2-11 10:04    标题: 下载试了一下

下载试了一下。dpit 0 /c dsk0pt.bin这个命令已经能显示done了。可是dpit 0 /s dsk0dbr.bin /dbr却是显示disk read error。看了一下,多了一个1548B的dsk0dbr.bin文件。
作者: dangerboy     时间: 2010-2-19 11:30
想试试看
作者: SmartChild     时间: 2010-2-21 00:53
好久没有更新了
作者: yelangpp     时间: 2010-3-1 23:52
看看,不知道是否还有点钱。
作者: nodeia     时间: 2010-3-5 23:32

作者: winnelc     时间: 2010-3-18 22:50
保存DBR时只保存每个分区的第一个扇区?
假如我某分区启动信息被另外的软件写入新的数据,而后我想恢复过来怎么办?
作者: winnelc     时间: 2010-3-18 22:53
非常好用,谢谢
作者: 135956     时间: 2010-3-19 22:26
什么时候更新for dos版的?
期待dos版的可以处理分区id的。。。
作者: 29406352     时间: 2010-3-23 21:48
谢谢
作者: szl1123     时间: 2010-3-24 22:23
这个正需要呢。我来测试下。
作者: 20213     时间: 2010-3-30 18:31
呵呵,学习了
作者: zhuixin     时间: 2010-4-1 08:36
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
作者: nsdiy     时间: 2010-4-4 22:53
这个工具不错,就是我要找得
作者: see8     时间: 2010-4-7 08:19
是个好工具,不知道是否可以实现
ndd的de的一个功能

即:改变硬盘的起始扇区,就是当 0道坏了后,改为 1或2 来修复硬盘的
那个功能
作者: af01     时间: 2010-4-7 21:07
想问下..合成的版本(DSPT)需要这两个文件吗DSPTW,DSPTRW
作者: yuanshj     时间: 2010-4-9 16:12
不错,下来试试
作者: djggcyz     时间: 2010-4-12 15:22
ding!!kuangding!!
作者: djggcyz     时间: 2010-4-12 15:22
支持!!顶!!
作者: kungfulover     时间: 2010-4-15 12:56
试用先!
作者: ruxinzhang     时间: 2010-5-1 17:31
下下来看看怎么样
作者: bydja     时间: 2010-5-6 10:10
非常感兴趣。看看。
作者: myloveqmx     时间: 2010-5-15 13:34
谢谢提供~
作者: binghe     时间: 2010-6-22 22:47
感谢提供。。。
作者: cyping126     时间: 2010-7-8 23:21
不错,试一下!!
作者: chenhao2010     时间: 2010-7-9 02:13
看不懂呢,
作者: fykj     时间: 2010-8-2 16:37
正需要。。。谢谢
作者: desdj     时间: 2010-8-7 23:13    标题: 我试试

我试试
作者: cxapollo     时间: 2010-9-10 10:34
呵呵,刚测试下,这个工具不能识别Eisa隐藏分区。并且如果分区隐藏再恢复后,分区卷标也识别的不对,但用Ghost -dd或其他工具正常
作者: kxzxw     时间: 2010-9-20 13:30
不能识别Eisa隐藏分区?
作者: charwin     时间: 2010-9-21 05:45    标题: 谢谢共享

谢谢共享
作者: ywkj     时间: 2010-9-22 12:24
4、扇区内部处理命令(只处理单个扇区)
      如果Bytes输入0或者输入数据较大(超出扇区边界),则程序处理从Offset开始到扇区结束的字节数

     例子:
      Diskrw 0 0 446 /b 64 mbr.dat 备份第一硬盘(磁盘0)第一扇区(0扇区)中偏移位置446开始 的64个字节到文件 mbr.dat。(这里备份的就是磁盘MBR中的分区表信息)

Diskrw 0 0 446 /b 64 mbr.dat  在windows中 出错. 怎么办?
作者: peak     时间: 2010-10-1 18:00
强大,非常感谢
作者: MMiao79     时间: 2010-10-5 03:31
这个强大的工具还作者在维护吗?

非常好的东西!
作者: lixupeng     时间: 2010-10-11 16:22
收下了!!!!
作者: zman     时间: 2010-10-14 19:02
很好用,谢谢
作者: wzdzdhan     时间: 2010-10-28 11:09
我也想下载来看看
作者: jsxptwt     时间: 2010-10-29 16:16
谢谢提供
作者: af01     时间: 2011-1-4 14:06
深度光盘中的DOS中有个DSPT,我试过很多次,从没有成功过.
作者: stonedos     时间: 2011-1-7 22:03    标题: 好东西

这种东西不好找