中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 磁盘扇区读写、分区信息管理工具 Dsptw (2008.11.29 更新)
« [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... [38] »
作者:
标题: 磁盘扇区读写、分区信息管理工具 Dsptw (2008.11.29 更新) 上一主题 | 下一主题
cba-xyz
中级用户




积分 295
发帖 70
注册 2003-7-24
状态 离线
『第 31 楼』:  

没有显示卷标的功能吗?和GHOST对应的版本是几号的?

2006-12-17 12:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
19951001
高级用户

流落街头



积分 570
发帖 272
注册 2005-10-17
来自 北京
状态 离线
『第 32 楼』:  



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

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

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

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

不同的人有不同的要求,让我也存在一段难度,如果大家能够给出一个标准,我这里编程也就容易了。

2006-12-18 21:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
19951001
高级用户

流落街头



积分 570
发帖 272
注册 2005-10-17
来自 北京
状态 离线
『第 33 楼』:  



  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 ]

2006-12-18 22:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yqayan
新手上路





积分 4
发帖 2
注册 2006-12-18
状态 离线
『第 34 楼』:  

关注此贴,感谢楼主提供了这么好的工具

2006-12-19 03:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zihan
初级用户





积分 66
发帖 24
注册 2006-12-14
状态 离线
『第 35 楼』:  

好工具,支持一下

2006-12-19 04:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
19951001
高级用户

流落街头



积分 570
发帖 272
注册 2005-10-17
来自 北京
状态 离线
『第 36 楼』:  

如果34楼的测试版本没有问题,到元旦我提供没有时间限制的版本。

2006-12-19 04:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cba-xyz
中级用户




积分 295
发帖 70
注册 2003-7-24
状态 离线
『第 37 楼』:  

功能多了程序是会越来越大,不过如果和程序无关的当然可以去掉,如果可以的话请加入修改分区标志功能。最早的也不想要了,我希望使用最新的。
建议那个显示总扩展分区和不显示要么能加个参数,能完善一点。

[ Last edited by cba-xyz on 2006-12-19 at 09:36 AM ]

2006-12-19 09:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cba-xyz
中级用户




积分 295
发帖 70
注册 2003-7-24
状态 离线
『第 38 楼』:  

如果楼主有时间的话编写一个DOS下创建、管理HPA分区的软件,应该很多人想要的吧。如果有兴趣的话,呵呵。

2006-12-19 09:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
19951001
高级用户

流落街头



积分 570
发帖 272
注册 2005-10-17
来自 北京
状态 离线
『第 39 楼』:  



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

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

加一个参数来控制是否显示是可以的实现的。

2006-12-20 00:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
19951001
高级用户

流落街头



积分 570
发帖 272
注册 2005-10-17
来自 北京
状态 离线
『第 40 楼』:  



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

关于HPA,目前我没有这方面的资料,如果哪位朋友有的话请提供一下,具体编程实现我想应该是可以的。

2006-12-20 00:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yqayan
新手上路





积分 4
发帖 2
注册 2006-12-18
状态 离线
『第 41 楼』:  

楼主34楼发的程序不能在NT下的命令行下用吗?

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

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

2006-12-20 07:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cba-xyz
中级用户




积分 295
发帖 70
注册 2003-7-24
状态 离线
『第 42 楼』:  

目前没有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

2006-12-20 10:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
19951001
高级用户

流落街头



积分 570
发帖 272
注册 2005-10-17
来自 北京
状态 离线
『第 43 楼』:  



  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访问 ...

谢谢提供,我有时间的话,我会仔细研究一下这些材料。

2006-12-22 05:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
19951001
高级用户

流落街头



积分 570
发帖 272
注册 2005-10-17
来自 北京
状态 离线
『第 44 楼』:  



  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 ]

2006-12-22 05:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zihan
初级用户





积分 66
发帖 24
注册 2006-12-14
状态 离线
『第 45 楼』:  

很好的工具。我昨天晚上用了一下,很好用。

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

顺便问一下,楼上(45楼)的是有时间限制的版本吗?我想把它做到我新的光盘的启动中。。。

2006-12-23 05:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... [38] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: