无忧启动论坛

标题: 制作任意分区一键恢复! [打印本页]

作者: crshen    时间: 2004-5-29 14:19
标题: 制作任意分区一键恢复!
[UploadFile=34_2589.jpg]
作者: crshen    时间: 2004-5-29 14:22
标题: 制作任意分区一键恢复!
[UploadFile=34_2589_1.rar] 经过N次探索,终于编译成功可备份任意分区的一键恢复工具,介绍如下:
1. 备份/恢复通过ghost完成;
2. 获取分区信息时,基于GDISK.EXE,能识别NTFS格式,因其与ghost.exe为同一公司产品,兼容性无需置疑;
3. 备份/恢复的映像文件存放在硬盘的最后一个FAT/FAT32分区中,因此要求硬盘至少有两个以上分区,其中包括至少一个FAT32分区,并且不能备份/恢复该分区;
4. 备份/恢复通过程序的运行参数r控制,不带参数为备份,带参数r为恢复;
5. 按下C即对第一分区操作,E为第三分区,以此类推,选择分区时盘符与在windowsXP所示相同(如有ntfs分区,与DOS下所见不同),相应映像文件为disk1p1.gho,disk1p3.gho(表示第一硬盘第n分区);
6. C语言编写,覆盖方式运行,速度与直接运行ghost相同,希望大家测试,部分源程序见后;
7. 如有人感兴趣,将编译成图形界面,或对C语言了解者,可自行更改。
注意:
1.dos下运行时需天汇中文系统tw.exe支持;
2.ghost.exe应在同一目录下;
3.需先执行gdisk 1>drivent.txt,生成硬盘分区信息文件;
4.加载smartdrv.exe将大加快备份速度;
5.包中所附ghost.exe仅为测试参数使用。

作者: 0001000    时间: 2004-5-29 14:23
标题: 制作任意分区一键恢复!
好东西,不知道是否得玩。弄个来瞧瞧。
rg_zero@sina.com
作者: crshen    时间: 2004-5-29 14:24
标题: 制作任意分区一键恢复!
[UploadFile=34_2589_3.jpg]没有ghost时,提示出错
作者: crshen    时间: 2004-5-29 14:24
标题: 制作任意分区一键恢复!
[UploadFile=34_2589_4.jpg]gdisk.exe 1>drivent.txt生成的硬盘分区信息内容。
作者: crshen    时间: 2004-5-29 14:32
标题: 制作任意分区一键恢复!
[UploadFile=34_2589_5.jpg]
执行onekey.exe r 进行恢复操作。
作者: kaibiao    时间: 2004-5-29 15:25
标题: 制作任意分区一键恢复!
顶啊!~支持!~
作者: szlwj    时间: 2004-5-29 16:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 金雕    时间: 2004-5-29 16:27
标题: 制作任意分区一键恢复!
强烈建议来一个gui
作者: crshen    时间: 2004-5-29 16:37
标题: 制作任意分区一键恢复!
gdisk 1 生成的硬盘分区信息表:
Disk  Partitions  Cylinders  Heads  Sectors  Mbytes  Model
  1        4         2434     255      63   19092.9  Unavailable
Partition  Status   Type     Volume Label   Mbytes   System   Usage
C:  1        A    PRIMARY    WINDOWS98     6000.8  FAT32      31%
     2             EXTENDED                 5090.9             27%
D:  3             LOGICAL    SHARE         5090.9  FAT32      27%
     4             PRIMARY                  7993.3  NTFS/HPFS  42%

作者: crshen    时间: 2004-5-29 16:37
标题: 制作任意分区一键恢复!

实现思路:
1. 分区信息表中,第二行第二个数字即为总分区数,但其中包含了extended分区,应去除;
2.从第五行起,凡DOS下可见的fat/fat32分区,均有盘符显示,倒数第二列显示分区类型;
3. 盘符与其后的分区数并不一致;
4.运行ghost,显示的分区与gdisk一致(同一公司产品嘛);

作者: crshen    时间: 2004-5-29 16:38
标题: 制作任意分区一键恢复!

/*从file文件的第row行开始查找string字符串,返回数组中1为找到*/
void GetPart32(char *file, int row, char *string, int *partition)
{
  int i;
  FILE *fpin;
  char buffer[150];
  if ((fpin = fopen(file, "r")) == NULL)
    exit( - 1);
  for (i = 1; i < row; i++)
    fgets(buffer, 150, fpin);
  for (i = row; !feof(fpin); i++)
  {
    fgets(buffer, 150, fpin);
    if (strstr(buffer, string) != NULL)
      partition[i - row] = 1;
  }
  fclose(fpin);
}
该函数可用来查找extended分区个数等!

作者: crshen    时间: 2004-5-29 16:39
标题: 制作任意分区一键恢复!

result = spawnl(P_OVERLAY, "ghost.exe", "NULL", parameter1, "-fx", "-sure",
    NULL);
采用覆盖方式调用ghost.exe,比在shell中运行速度明显加快。

作者: crshen    时间: 2004-5-29 16:48
标题: 制作任意分区一键恢复!
[UploadFile=34_2589_13.rar]
    由于采用最后的fat/fat32盘作为备份文件存放盘,为了防止误删除等操作,使用时请在windows下将该盘符隐藏。附件中的程序可实现此隐藏盘符功能。
作者: crshen    时间: 2004-5-29 16:54
标题: 制作任意分区一键恢复!
下面引用由金雕2004/05/29 04:27pm 发表的内容:
强烈建议来一个gui
如果大家测试没有问题,再考虑做界面!

作者: 金雕    时间: 2004-5-29 17:05
标题: 制作任意分区一键恢复!

作者: sak47    时间: 2004-5-29 18:58
标题: 制作任意分区一键恢复!
这个东西真不错
将来会有的一玩
作者: crshen    时间: 2004-5-29 19:15
标题: 制作任意分区一键恢复!
[UploadFile=34_2589_17.rar]
已制成的ghost启动盘,供下载试用(2.88M软盘):
ghostnt.rar
作者: crshen    时间: 2004-5-29 19:16
标题: 制作任意分区一键恢复!
[UploadFile=34_2589_18.rar]
ghostnt.r00
作者: crshen    时间: 2004-5-29 19:17
标题: 制作任意分区一键恢复!
[UploadFile=34_2589_19.rar]
ghostnt.r01
作者: crshen    时间: 2004-5-29 19:18
标题: 制作任意分区一键恢复!
[UploadFile=34_2589_20.rar]
ghostnt.r02
作者: crshen    时间: 2004-5-29 19:18
标题: 制作任意分区一键恢复!
[UploadFile=34_2589_21.rar]
ghostnt.r03
作者: crshen    时间: 2004-5-29 19:24
标题: 制作任意分区一键恢复!

为了实现全中文提示,程序作了小更改,即不再支持命令行参数,运行后有操作选择。
由于要按两次键,故改名为两键恢复:)
去除了上一个版本的BUG,程序运行后可按ESC键退出。
作者: kaibiao    时间: 2004-5-30 19:31
标题: 制作任意分区一键恢复!
辛苦了!~~
作者: zhuying88    时间: 2004-6-1 00:14
标题: 制作任意分区一键恢复!
好顶
作者: jrs    时间: 2004-6-1 08:29
标题: 制作任意分区一键恢复!
顶上去!!!
作者: luoj    时间: 2004-6-1 17:05
标题: 制作任意分区一键恢复!
顶上去!!!
作者: pizigao    时间: 2004-6-1 19:56
标题: 制作任意分区一键恢复!
支持一下!谢谢楼主了
作者: 安达    时间: 2004-6-3 08:01
标题: 制作任意分区一键恢复!
[UploadFile=34_2589_28.gif]顶上。
作者: gege    时间: 2004-6-3 16:39
标题: 制作任意分区一键恢复!
危险不敢试..
作者: ly2ma3    时间: 2004-6-3 20:48
标题: 制作任意分区一键恢复!
多谢楼主,先顶后下!
作者: nhlxf    时间: 2004-6-3 21:32
标题: 制作任意分区一键恢复!
好东西

作者: yjxhfy    时间: 2004-6-3 22:50
标题: 制作任意分区一键恢复!
辛苦了!
作者: camiter    时间: 2004-6-4 20:21
标题: 制作任意分区一键恢复!
谢谢分享,
作者: ohtmd    时间: 2004-6-6 12:00
标题: 制作任意分区一键恢复!
ding~~~~~~~~!!!!!
作者: 坏男孩    时间: 2004-6-6 18:39
标题: 制作任意分区一键恢复!
不错不错,一个比一个好,。。。我下下。。。。。。。。。。。。。
作者: mylovepzq    时间: 2004-6-13 15:49
标题: 制作任意分区一键恢复!
相信做好后比qbasic做的好,
偶就喜欢C一些

作者: kuige    时间: 2004-7-20 16:03
标题: 制作任意分区一键恢复!
这才是DIY的精神!
作者: qja823920    时间: 2004-7-28 14:41
标题: 制作任意分区一键恢复!
好,下来试试,听起来不错的优
作者: Anson4    时间: 2004-7-28 21:02
标题: 制作任意分区一键恢复!
顶!
现在机器装了太多资料,不敢试!
作者: gst2008    时间: 2004-7-28 21:43
标题: 制作任意分区一键恢复!
好,能不能再做一个一键备份?谢谢.
作者: sky521    时间: 2004-7-29 14:54
标题: 制作任意分区一键恢复!
下面引用由crshen2004/05/29 07:15pm 发表的内容:
已制成的ghost启动盘,供下载试用(2.88M软盘):
ghostnt.rar
提供分卷压缩包缺少文件。

作者: dqhtlinli    时间: 2004-8-14 09:07
标题: 制作任意分区一键恢复!
ok

作者: w89    时间: 2004-8-14 23:37
标题: 制作任意分区一键恢复!
麻烦不用
作者: sblinux    时间: 2004-8-25 13:22
标题: 制作任意分区一键恢复!
很好,我就是喜欢用C作的东西,只再有个GUI就好了
作者: 浪客游侠    时间: 2004-8-25 14:01
标题: 制作任意分区一键恢复!

[fly]欢迎访问我的网站[/fly]
[fly] ◆超酷在线论坛,正在招聘斑竹喔![/fly]
http://zhunaodai01.leedu.net
作者: viogel4    时间: 2005-4-9 00:54
标题: 制作任意分区一键恢复!
楼主能不能提供c的源代码??viogel4@163.com
作者: hntn    时间: 2005-4-9 22:52
标题: 制作任意分区一键恢复!
顶一下!!楼主辛苦了,下来试一试!~
作者: mlbhk007    时间: 2005-4-10 08:08
标题: 制作任意分区一键恢复!
下面引用由sky5212004/07/29 02:54pm 发表的内容:
提供分卷压缩包缺少文件。
更改名称,照着改就行了
作者: srxljl    时间: 2005-10-16 13:31
标题: 制作任意分区一键恢复!
up
作者: zhken    时间: 2005-11-3 11:15
标题: 制作任意分区一键恢复!
哇!好东东!快点出个正式版吧!期待中……
作者: 佐耶    时间: 2005-12-14 22:34
标题: 制作任意分区一键恢复!
可否提供完整的code?
感谢ing.......
作者: 天地荣耀    时间: 2024-2-3 18:45
感谢分享
作者: 天地荣耀    时间: 2024-2-3 18:46
天地荣耀 发表于 2024-2-3 18:45
感谢分享

谢谢分享
作者: 天地荣耀    时间: 2024-2-3 18:46
真是太好了,谢谢楼主
作者: 天地荣耀    时间: 2024-2-3 18:47
天地荣耀 发表于 2024-2-3 18:46
真是太好了,谢谢楼主

太感谢了
作者: 天地荣耀    时间: 2024-2-3 18:47
感谢分享
作者: hehuiying    时间: 2024-4-16 16:16
谢谢分享




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