|
crshen
中级用户
  
积分 447
发帖 126
注册 2004-2-10
状态 离线
|
『第 16 楼』:
使用 LLM 解释/回答一下
已经完成备份分区表功能,运行命令行patition.exe /backup filename
生成的文件大小应为:512*n字节,n=主分区个数+扩展分区个数+MBR分区1个,例如你的分区为C盘主分区,扩展分区1个(逻辑盘符D、E、F等),IBM_SERVICE隐藏主分区1个,那么n=4,生成的filename文件大小为2K,用二进制编辑器打开查看,应有4个对应的55AA,分别位于1FF、3FF、5FF、7FF处。
本版本只能在支持超过8.4G硬盘的电脑上使用(好像没必要支持老的486甚至386吧),仅供测试读扇区正确性与否,未加入各种出错时的提示及处理,并关闭了写扇区功能,防止损害硬盘重要数据。如果大家测试无误,将于近日发行正式版。有什么建议,请现在提出,以后不再更新。
|

从来不用别人的东西,要用,也先改成自己的再说! |
|
2005-2-14 00:00 |
|
|
walu
高级用户
   
积分 916
发帖 201
注册 2003-5-4
状态 离线
|
『第 17 楼』:
使用 LLM 解释/回答一下
请问CRSHEN,这个程序只支持最大137G的硬盘吗?是否可以支持超过200G的硬盘呢?
经刚才测试,这个程序可以将分区表备份成一个文件,但在恢复时却无效。
在下面操作前先用PATITION /BACKUP a.dat备份了分区表。
是这样测试的:硬盘分区主分区C盘及扩展分区(其中只有一个逻辑分区D盘),用PQMAGIC从C盘划出一块未用分区,再从D盘划出一块未用分区。
然后PATITION /RESTORE a.dat 但硬盘并没有恢复到原来未经PQMAGIC分区前的状态。
|
|
2005-2-14 00:00 |
|
|
crshen
中级用户
  
积分 447
发帖 126
注册 2004-2-10
状态 离线
|
『第 18 楼』:
使用 LLM 解释/回答一下
不好意思,上面已经说清楚了,仅供测试读出扇区的正确性,而关闭了写扇区功能,所以不能用restore参数。这个程序利用LBA线性寻址方式,目前大多数的主板,它们使用的都是28位寻址方式,能读写逻辑块数理论极限是2的28次方即268435456块,容量为137G。为了兼容通用,程序只支持最大137G的硬盘。
|

从来不用别人的东西,要用,也先改成自己的再说! |
|
2005-2-15 00:00 |
|
|
crshen
中级用户
  
积分 447
发帖 126
注册 2004-2-10
状态 离线
|
『第 19 楼』:
使用 LLM 解释/回答一下
放出分区表备份/恢复情人节测试版,可以备份扩展分区及隐藏分区!restore参数已开放。
存在问题:
1.未对备份的分区信息文件进行检测,如果指定文件出错,将引起灾难性后果(当然,如果有备份在软盘或优盘上,只要再重新恢复一次就O.K.啦)
2.本程序主要设计用于批处理,故出错提示较少,下面是返回的errorlevel值含义:
0:成功、1:创建备份文件出错,写保护?、2:指定文件不存在、3:读扇区出错、4:写扇区出错
下一步可能完善的方面:
1.对备份分区文件进行保护,采用某种校验方法(未定)
2.恢复时首先校验指定文件
3.可选择恢复某个分区
|

从来不用别人的东西,要用,也先改成自己的再说! |
|
2005-2-15 00:00 |
|
|
qqqmmkx
中级用户
  
积分 286
发帖 33
注册 2003-6-22
状态 离线
|
|
2005-2-15 00:00 |
|
|
walu
高级用户
   
积分 916
发帖 201
注册 2003-5-4
状态 离线
|
『第 21 楼』:
使用 LLM 解释/回答一下
谢谢crshen的努力!测试版经下面的测试方法:硬盘分区主分区C盘及扩展分区(其中只有一个逻辑分区D盘),用PQMAGIC从C盘划出一块未用分区,再从D盘划出一块未用分区。测试结果:恢复备份文件后,C盘能回到原来的样子,但D盘不能回到原来的样子,即依然有一块未用分区。
|
|
2005-2-15 00:00 |
|
|
crshen
中级用户
  
积分 447
发帖 126
注册 2004-2-10
状态 离线
|
『第 22 楼』:
使用 LLM 解释/回答一下
在我自己的机子上测试是没问题的,昨天拿到单位的机子上时,也出现类似你说的情况,分析两台电脑分区不同点在于C盘即第一分区的大小有别,我的机子C盘>8.4G,故考虑当C盘太小时,导致后面的扩展分区表不能用扩展int 13写。而第一分区可以恢复,是因为专门加强了对MBR的保护。主要原因是我偷懒,判断分区类型只要不是00,就采用扩展int 13,测试又没问题,现在看来不行,等我修改一下。
|

从来不用别人的东西,要用,也先改成自己的再说! |
|
2005-2-16 00:00 |
|
|
crshen
中级用户
  
积分 447
发帖 126
注册 2004-2-10
状态 离线
|
『第 23 楼』:
使用 LLM 解释/回答一下
分区表备份/恢复兼容版
改进:
凡是不能用扩展int 13读写的扇区,均改为int 13读写,兼容旧机子、小硬盘
对备份分区文件进行保护,恢复时首先校验指定文件
附带checksum.exe程序,用于在对备份的文件进行修改后,重新生成校验信息
返回的errorlevel值含义:0:成功、1:创建备份文件出错,写保护?、2:指定文件不存在、3:读扇区出错、4:写扇区出错、5.文件校验出错
|

从来不用别人的东西,要用,也先改成自己的再说! |
|
2005-2-16 00:00 |
|
|
walu
高级用户
   
积分 916
发帖 201
注册 2003-5-4
状态 离线
|
『第 24 楼』:
使用 LLM 解释/回答一下
crshen兄,当C盘小于8.4G时正常,但调整至12G时,依然出现:恢复备份文件后,C盘能回到原来的样子,但D盘不能回到原来的样子,即依然有一块未用分区。
|
|
2005-2-16 00:00 |
|
|
Climbing
铂金会员
       网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第 25 楼』:
使用 LLM 解释/回答一下
强烈建议楼主再次公布源程序。很长时间没有接触C语言了,在前面的源程序中知道了使用Int 13访问硬盘的方法,但还不知道在TC 2.0中如何使用扩展的Int 13,因此,很希望看到新的源程序,以便继续学习。估计楼主也不反对让自己的程序越来越完善的吧?干脆就做成开源的得了。
|

偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2005-2-16 00:00 |
|
|
crshen
中级用户
  
积分 447
发帖 126
注册 2004-2-10
状态 离线
|
『第 26 楼』:
使用 LLM 解释/回答一下
已找到问题所在,可能有些主板BIOS不支持校验并写盘,故现改为不校验直接写扇区,在两台电脑不同分区大小的情况下均按照walu的方法测试成功,放出的版本仍有不完善的地方,但已不影响使用。
应climbing要求,正在整理源程序,并加注释,即将发布,请大家共同完善。
|

从来不用别人的东西,要用,也先改成自己的再说! |
|
2005-2-16 00:00 |
|
|
Climbing
铂金会员
       网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
|
2005-2-16 00:00 |
|
|
crshen
中级用户
  
积分 447
发帖 126
注册 2004-2-10
状态 离线
|
『第 28 楼』:
使用 LLM 解释/回答一下
硬盘分区表备份/恢复最终发行版
2005-02-16
by CRSHEN
使用方法:
patition.exe </backup|/restore|checksum> filename
/backup:备份分区表
/restore:恢复分区表
/checksum:如果对备份的分区表文件进行必要的修改,则用此参数重新计算校验值,对于文件末两位为55AA的禁止校验,因文件可能是其它程序备份的分区表。确信需要时,可用十六进制编辑器改为其它值再校验。
说明:
1. 生成的文件大小应为<img src="images/smilies/face-sad.png" align="absmiddle" border="0">512*n+2)字节,n=主分区个数+扩展分区个数+MBR分区1个,两个字节为校验信息
2. 凡是不能用扩展int 13读写的扇区,均改为int 13读写,兼容旧机子、小硬盘
3. 对备份分区文件进行保护,恢复时首先校验指定文件
用于批处理:
返回的errorlevel值含义:
0:操作成功、1:创建备份文件出错,写保护?、2:指定文件不存在、3:读扇区0出错、4:写扇区0出错、5.文件校验出错
免责声明:
本程序仅供研究参考,如果不明白用途,建议不要随便尝试
对使用不当,造成数据丢失等后果者,概不负责。
|

从来不用别人的东西,要用,也先改成自己的再说! |
|
2005-2-16 00:00 |
|
|
crshen
中级用户
  
积分 447
发帖 126
注册 2004-2-10
状态 离线
|
|
2005-2-16 00:00 |
|
|
Climbing
铂金会员
       网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
|
2005-2-17 00:00 |
|