Board logo

标题: [更新版 3] 硬盘全真自由备份恢复器 == TOdisk== [打印本页]

作者: GOTOmsdos     时间: 2007-1-14 11:07    标题: [更新版 3] 硬盘全真自由备份恢复器 == TOdisk==

多谢 中国DOS联盟的johnsonlam兄(香港),fastslz兄  等等热心网友, ddcopy作者李治先生和 老外Lucho的帮助和支持!

更新版 3
1 改善了两个参数:
   增加 V 的默认2047MB
   增加 全局开关 -i 等价于 -ir|ignorereaderror 和 -iw|ignorewriteerror
2 完善新增了英文帮助和中文文档,将英文帮助编入程序

[ Last edited by GOTOmsdos on 2007-9-15 at 04:53 PM ]
附件 1: todisk(修正0值分区项bug).rar (2007-9-15 16:52, 87.97 K,下载次数: 128)

作者: GOTOmsdos     时间: 2007-1-15 12:04
发现 一个用词错误 :

Environment for execution  :  MS-DOS / Win9x_MS-DOS_VM
                                         (这个 VM 应该叫 BOX才正确)

VM(Virtual Machine) 是个错误! 因为Win9x MS-DOS窗口本来就是可直接访问硬件的较真的DOS, 根本不是虚拟机(2K/XP的才是)

赶紧改过来,重新编译...
已更新..
作者: johnsonlam     时间: 2007-1-16 02:36


  Quote:
Originally posted by GOTOmsdos at 2007-1-15 12:04 PM:
发现 一个用词错误 :

Environment for execution  :  MS-DOS / Win9x_MS-DOS_VM
                                         (这个 VM 应该叫 BOX才正确)

VM(Virtual Machine) 是个错误 ...


我 正 趕 著 更 新 README 的 內 容 , 更 新 應 該 快 好 了 。

GOTOmsdos 兄 , 檔 案 內 有 個 簡 體 檔 名 , 我 和 外 國 朋 友 都 看 不 到 , 恐 怕 在 英 文 的 WinXP 會 有 問 題 , 改 為 READ-GB.TXT 可 以 嗎 ?


[ Last edited by johnsonlam on 2007-1-16 at 02:41 AM ]
作者: vkill     时间: 2007-1-16 02:52
支持原创
作者: GOTOmsdos     时间: 2007-1-18 11:41


  Quote:
Originally posted by johnsonlam at 2007-1-16 02:36 AM:



我 正 趕 著 更 新 README 的 內 容 , 更 新 應 該 快 好 了 。

GOTOmsdos 兄 , 檔 案 內 有 個 簡 體 檔 名 , 我 和 外 國 朋 友 都 看 不 到 , ...

johnsonlam 兄:
如果你需要的话,尽管改好了,没问题的。
=========
还有一个运行显示的问题,我也想改以下:
原先是:完成一个任务滚动一行,完成一卷不滚动(仅更新卷名)
打算改为:完成一个任务滚动两行,完成一卷滚动一行(自然也更新卷名的)
              这样,运行结果显示地更清晰,还能看到完成任务的全部的卷名。
现在就开始做。。。
作者: johnsonlam     时间: 2007-1-18 13:12

請 下 載 ZIP 檔 看 看 內 容 , 我 統 一 了 些 檔 名 和 製 作 了 英 語 和 大 五 碼 的 NEW.B5, 方 便 用 戶 查 看 。

你 有 改 動 儘 管 改 吧 , 我 會 稍 後 加 入。

http://johnson.tmfc.net/dos/file/todisk-13a.zip


[ Last edited by johnsonlam on 2007-1-18 at 01:14 PM ]
作者: GOTOmsdos     时间: 2007-1-19 10:41    标题: 几个小改动

刚才又对文档和程序作了几个小改动,更新程序包了。

文档改动如下:(供你在read-b5.txt中更新吧<我这里没有繁体输入法,就有劳老兄了。。。>,另外三个更新说明文件,就没必要改了吧。)

1
硬盘/分区/扇区 自由 备份/恢复器 ==TOdisk ==(扇区模式)
改为:
硬盘/分区/扇区 =freE=(自由) 备份/恢复器 ==TOdisk ==(扇区模式)

TOdisk 仅仅是程序的名字,并没有含有程序的特色,所以,刚才想到为程序起个名字,以前用的是 “全真”,你用的 "True Sector Clone",很贴切,不过,也有一些其他硬盘工具,也是全真克隆,其实本程序的最大特色是 “自由”更恰当吧?所以,初定全名就叫:
HardDisk/Partition/Sector =freE= Backup/Restorer 吧? 你看如何?
第二个E,大写,看起来有点怪,我想表达不拘泥于规则的自由之意吧,也挺醒目吧?左右两边的=号,一来抓视线,二来 表示本程序文件串参数中使用的符号<有别于一般DOS程序的参数>
(程序中的帮助也加上去了。。。)

2
<查看模式>

  -Dn 显示硬盘n的信息

改为:

<查看模式>

警告!!!
程序显示出的分区总表中的 DOS 盘符 是按照 DOS的盘符分配规律推测出的,不一定准确,尤其是场合性的挂载额外的驱动器

(如U盘,移动硬盘,虚拟盘等),仅作参考。但是表中显示的分区数字是没有问题的。

  -Dn 显示硬盘n的信息

[ Last edited by GOTOmsdos on 2007-1-19 at 11:38 AM ]
作者: GOTOmsdos     时间: 2007-1-19 12:16
能不能把Lucho'bootdisk 作个软盘镜象?(我用GRUB启动它)
我不想装新软驱了,现在还没用Lucho'bootdisk启动过呢。。
作者: johnsonlam     时间: 2007-1-19 23:11


  Quote:
Originally posted by GOTOmsdos at 2007-1-19 10:41 AM:
刚才又对文档和程序作了几个小改动,更新程序包了。

其 實 也 可 以 當 是 新 版 本 , 因 為 真 的 改 動 了 東 西

  Quote:
文档改动如下:(供你在read-b5.txt中更新吧<我这里没有繁体输入法,就有劳老兄了。。。>,另外三个更新说明文件,就没必要改了吧。)

沒 問 題 , 待 我 加 進 去 。
英 文 網 頁 也 改 了, 但 總 覺 不 大 好 看 , 還 在 想 怎 樣 弄 才 好 看 一 些 。
作者: GOTOmsdos     时间: 2007-1-19 23:38
刚才发现你的网站有个小BUG:(DOS页)
进入一个支页(比如 QHIMEM,其他也一样),再点击 Back to Top, 就会重复显示与左边的DOS总列表区域完全相同的内容;
嘿嘿。。。
作者: johnsonlam     时间: 2007-1-20 05:12


  Quote:
Originally posted by GOTOmsdos at 2007-1-19 11:38 PM:
刚才发现你的网站有个小BUG:(DOS页)
进入一个支页(比如 QHIMEM,其他也一样),再点击 Back to Top, 就会重复显示与左边的DOS总列表区域完全相同的 ...


那 是 歷 史 問 題 , 呵 呵 !

從 前 有 些 老 外 的 連 結 只 連 上 那 個 html (如 qhimem.html) , 沒 有 把 frame 一 起 連 , 所 以 逼 著 加 Return to Top 讓 它 們 回 主 目 錄 , 我 相 信 正 常 來 說 , 用 戶 會 使 用 左 面 的 選 項 而 不 會 按 那 細 小 的 字 。

壞 消 息 ! 在 4DOS 下 執 行 toDISK v1.3a , 沒 加 命 令 時 正 常 , 加 入 任 何 東 西 會 當 機 ( 有 JEMM 或 UMBPCI ) 或 重 置 ( 無 任 何 驅 動 ) ...

得 試 試 正 常 的 MS-DOS 有 沒 有 問 題 ...

作者: GOTOmsdos     时间: 2007-1-20 11:07
toDISK v1.3a  4DOS 下 当机?
那以前版本怎样?

MS-DOS7.1下目前没有问题。
作者: johnsonlam     时间: 2007-1-21 02:55


  Quote:
Originally posted by GOTOmsdos at 2007-1-20 11:07 AM:
toDISK v1.3a  4DOS 下 当机?
那以前版本怎样?

MS-DOS7.1下目前没有问题。


v1.2 後 測 試 環 境 變 了 ... 換 了 台 P4 的 IBM Netvista , 跑 1.4GHz 的 。
在 另 外 一 台 艾 葳 (Iwill) 試 沒 問 題 ... 可 能 真 的 是 IBM 機 不 兼 容 Borland C?

也 請 Jack 兄 (QHIMEM/QCACHE/QCDROM 作 者) 試 了 , 結 果 他 也 是 有 問 題:

-----
Johnson,

Last night, after trying TODisk and writing to you, I went
to bed.   This morning, upon answering my E-Mails from you
and Lucho, I found that my D: partition that was copied to
could NOT be accessed by Windows/NT!   Thus, I regret that
TODisk may yet have some sort of "odd" PROBLEM!
-----

他 還 在 用 Windows NT 4.0 , 沒 有 RAID 。

作者: johnsonlam     时间: 2007-1-21 04:02

又 做 了 個 toz 試 試 , 結 果 是 沒 有 錯 誤 , 但 還 要 找 個 別 的 硬 盤 把 鏡 像 寫 下 去 才 能 證 實 。

我 是 有 載 入 QCACHE v4.8 ( 證 明 這 個 版 本 已 經 不 會 引 發 錯 誤 ) , 但 問 題 不 常 出 現 , 可 能 很 棘 手 。

我 懷 疑 和 讀 些 扇 區 程 序 有 點 關 係 , 如 果 是 呼 叫 DOS 來 讀 入 , 不 同 版 本 的 會 不 會 有 問 題 呢 ?

記 憶 體 和 暫 存 又 會 不 會 引 發 其 它 問 題 ( 如 記 憶 分 配 Memory allocation ) 等 ....

作者: GOTOmsdos     时间: 2007-1-21 09:49


  Quote:
Originally posted by johnsonlam at 2007-1-21 02:55 AM:



IBM 機 不 兼 ...

这个就不太了解了....
作者: GOTOmsdos     时间: 2007-1-22 00:03


  Quote:
Originally posted by johnsonlam at 2007-1-21 02:55 AM:



D: partition that was copied to
could NOT be accessed by Windows/NT!

具体怎么操作的?

是:     TOdisk 分区 TO D:
还是:  TOdisk 分区 TO (D:\文件)  ?

WINDOWS NT 只有FAT16和NTFS文件系统?
如果 D:是NTFS 程序是不支持的, 不过,在DOS下,DOS是看不到NTFS的,如果操作正确,是不太可能出问题的.
作者: johnsonlam     时间: 2007-1-22 07:06


  Quote:
Originally posted by GOTOmsdos at 2007-1-22 12:03 AM:
WINDOWS NT 只有FAT16和NTFS文件系统?
如果 D:是NTFS 程序是不支持的, 不过,在DOS下,DOS是看不到NTFS的,如果操作正确,是不太可能出问题的.  


Windows NT 4.0 也 支 援 FAT32 , 他 的 硬 盤 只 有 FAT 。
問 題 就 是 在 這 測 試 後 發 生 的 。

他 的 電 郵 :

====
Johnson,

Downloaded TODisk and tried it on my system, using both:

    TODisk 1:1 to 1:2

    TODisk C: to D:

Both commands copy my C: partition (1:1) to my D: partition
(1:2).   Both ran fine with no errors, and my D: disk ended
up identical to my C: disk, as intended.   A bit slow while
copying, your friend may want to set up larger I-O buffers.
But still an interesting program, which worked O.K. for me!

Best wishes,

Jack R. Ellis
====

作者: GOTOmsdos     时间: 2007-1-23 02:47
1
Windows NT 4.0 也 支 援 FAT32 ?
2
看到他EMAIL,可是没有讲出错的情况
3
TOdisk只用了几个64KB的 缓冲(这是因为DOS每一次读写文件的64KB限制),这就是速度不快的原因,也是程序最大的缺憾吧。
或者过几天我把源码发布出来,让你们改一改,能不能把超大缓冲加进去,争取达到或接近GHOST的速度。。。这也是我最大的渴望

[ Last edited by GOTOmsdos on 2007-1-23 at 02:54 AM ]
作者: zqlcch     时间: 2007-1-23 03:11
为何不用支持保护模式的编译器如wattcom c++,DJGPP
又或FreePascal,或者Delphi+WDosX
难道是因为在保护模式下调用中断的速度会比较慢?
作者: johnsonlam     时间: 2007-1-23 06:11


  Quote:
Originally posted by GOTOmsdos at 2007-1-23 02:47 AM:
1
Windows NT 4.0 也 支 援 FAT32 ?
2
看到他EMAIL,可是没有讲出错的情况
3
TOdisk只用了几个64KB的 缓冲(这是因为DOS每一次读写文件的64KB限制),这就是速度不快的原因,也是程序最大的缺憾吧。
或者过几天我把源码发布出来,让你们改一改,能不能把超大缓冲加进去,争取达到或接近GHOST的速度。。。这也是我最大的渴望


1) 对 不 起 , 我 记 错 了 , 他 那 是 FAT16 , 因 为 只 有 2GB 而 已

2) 我 把 两 个 电 邮 先 后 倒 转 了 , 隔 天 早 上 他 的 NT4 就 看 不 见 d: 了

3) 64K 只 要 是 align 了 的 也 可 以 很 高 速 , 这 个 Jack 也 许 有 好 点 子 。
Jack 的 最 新 计 划 是 8K 以 内 制 作 完 整 QCACHE ( Full Caching , 即 Norton Cache 和 Smartdrv 那 种 ) , 所 以 不 介 意 给 他 源 码 的 话 , 可 向 他 请 教 一 下 。


[ Last edited by johnsonlam on 2007-1-23 at 06:17 AM ]
作者: johnsonlam     时间: 2007-1-23 06:16


  Quote:
Originally posted by zqlcch at 2007-1-23 03:11 AM:
难道是因为在保护模式下调用中断的速度会比较慢?


中 断 也 许 不 会 , 移 动 记 忆 体 , 尤 其 是 XMS 却 有 可 能 慢 了 !
程 序 读 写 data block 时 间 不 配 合 的 话 还 可 能 有 其 它 问 题 ...

作者: GOTOmsdos     时间: 2007-1-23 07:37
不过,我想到了一个问题:
如果 C: D: 容量不一样,TOdisk会以较小的盘的容量为目标量复制的,这样就不会覆盖D:后面的盘


注意: TODisk 1:1 to 1:2

    TODisk C: to D:
不带 -d 或 -p 开关,是自由模式,自由模式是给专家级用户用的!尽管采用自由模式运行程序后,可能会造成分区的不能访问,但是,由于他能自由处理扇区,所以程序添加了这个功能,主要用途是数据恢复。如果要绝对的安全,应该加上 匹配模式的开关 -d 或 -P !!


自由模式的运行结果如下:
1
如果 D: 比 C: 大 ,没问题,尽管浪费了一些空间
2
如果 C: 比 D: 大
被复制后的D: 中的 DBR(分区信息)记录的扇区总量是大于原来的D:的,就有可能读写D:盘后面的扇区区域,就是说,有可能读写D:后面的盘!可能造成D:后面的盘甚至D:本身不能访问。

补充:
对于 -P 模式
也就是:
TODisk 1:1 to 1:2 -p

    TODisk C: to D: -p
记不清,程序是否强迫要求C: 要比 D: 小,等一下查看一下TOdisk源码,如果没有,我会加入这个强迫检查。

[ Last edited by GOTOmsdos on 2007-1-23 at 07:55 AM ]
作者: GOTOmsdos     时间: 2007-3-10 12:11    标题: TODISK 的改善..



  Quote:
Originally posted by johnsonlam at 2007-1-22 07:06 AM:



Windows NT 4.0 也 支 援 FAT32 , 他 的 硬 盤 只 有 FAT 。
問 題 就 是 在 這 測 試 後 發 生 的 。

他 的 電 郵 :

====
Johnson,

Downloaded TODisk a ...

最近有点时间,完善一下TOdisk:
上次他出现的问题,很可能是
1:
C: 比 D: 大 的原因(尽管在复制时,仍然是以较小的盘的容量来复制...但是,由于被复制了的盘的DBR的分区容量信息是超过了的,这种模式是用于数据恢复的...)
2:
无模式开关就是自由模式了, 是用于数据恢复的
由于没有 -P的分区模式开关,程序就不更新分区表(可能会不能访问)

用 -P 开关,就会更新分区表了

没有 -P模式开关就是自由模式了..

******************************************
但是, 考虑到用户一般不太认真看使用说明,所以我觉得对这个问题要改一下会更好:

把模式对调一下:
即 无模式开关 为 匹配模式(安全的)
把 -F 设为 自由模式(FREE)
(取消 -D -P开关, 是不是 DISK, PARTITION 模式有程序自己判断)

比如:
TODISK 1:2 TO 1:3  (无模式开关, 就是安全的)

TODISK C: TO D:      (无模式开关,就是安全的)

如果C: 比 D: 大 ,便不处理

如果一定要处理, 要加 -F 开关, 便用自由模式
这样就避免用户出错的可能了

另,也对程序某些地方做了润色调整...

程序已更新:(文档随后调整..)
下载地址:
http://zhenlove.com.cn/cndos/fileup/files/todisk.zip

[ Last edited by GOTOmsdos on 2007-3-10 at 12:37 PM ]
作者: GOTOmsdos     时间: 2007-3-12 12:35
这几天有点时间,打算增加如下几个功能:(看到DPIT等几个小工具的功能还较实用,所以打算把它们都添加进来,这样,TOdisk的功能就更加全面了)

其中,由于TODISK本身就是分区数据工具,所以备份和恢复分区表链的功能是很容易加入进来的, 补充几句代码就可以了, 这个功能今天已经加进来了;
其他的功能,如显示扇区信息,和比较扇区和文件中的内容,这几天就会把他们加进来。。。

过几天发布。。。
作者: GOTOmsdos     时间: 2007-3-16 01:07    标题: 是不是硬盘UDMA的读写模式跟磁盘和文件读写速度有关?

最近有点时间,正考虑从如下几个问题,改进完善TOdisk:

一:

最主要的:
怎样提高速度?
1)启用超大的常规内存(两个缓冲都分别高达200KB!),速度提高不明显。
2)启用扩展内存(两个缓冲都分别高达200MB!),速度提高仍然不明显。
3)换到DJGPP 32位,启用扩展内存(两个缓冲都分别高达200MB!,并且也突破了磁盘和文件一次读写的DOS的64KB限制!),速度提高仍然不明显。

第一,二种方式,后来考虑,反而减慢了速度!。因为,磁盘和文件一次读写的DOS的64KB限制仍然不可突破的,加缓冲内存减慢了速度!。,因为,还要需要每次以64KB的大小在小缓冲和大缓冲之间搬移数据的。
第三种,看起来有效,实质上的内部运作跟前两种是一样的(要搬移)

二:

是不是硬盘UDMA的读写模式跟磁盘和文件读写速度有关?
(或者 C语言中是不是有什么函数可控制UDMA的读写模式?
比如: 暂缓写,等到达到UDMA的内部缓冲后,再一起写?)


三:
试了,在运行TODISK前,运行SMARTDRV,把所要操作的分区设为 WRITE-BEHIND
也没用。

很希望对这个问题有所了解的给予帮助, 先谢了。。。
作者: GOTOmsdos     时间: 2007-9-5 22:08
分区值为0以后的分区不能被识别的BUG已经更正了..
作者: sgzhou6688     时间: 2010-5-18 13:05
希望有个完整版本的出现》》》》》》》》》》