|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
16 楼』:
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的,如果操作正确,是不太可能出问题的.
|
|
2007-1-22 00:03 |
|
|
johnsonlam
银牌会员
阿林
积分 1410
发帖 497
注册 2004-6-28 来自 九龍,香港
状态 离线
|
『第
17 楼』:
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
====
|
我 的 網 站 - http://optimizr.dyndns.org
|
|
2007-1-22 07:06 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
18 楼』:
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 ]
|
|
2007-1-23 02:47 |
|
|
zqlcch
初级用户
积分 178
发帖 85
注册 2006-7-6
状态 离线
|
『第
19 楼』:
为何不用支持保护模式的编译器如wattcom c++,DJGPP
又或FreePascal,或者Delphi+WDosX
难道是因为在保护模式下调用中断的速度会比较慢?
|
|
2007-1-23 03:11 |
|
|
johnsonlam
银牌会员
阿林
积分 1410
发帖 497
注册 2004-6-28 来自 九龍,香港
状态 离线
|
『第
20 楼』:
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 ]
|
我 的 網 站 - http://optimizr.dyndns.org
|
|
2007-1-23 06:11 |
|
|
johnsonlam
银牌会员
阿林
积分 1410
发帖 497
注册 2004-6-28 来自 九龍,香港
状态 离线
|
『第
21 楼』:
Quote: | Originally posted by zqlcch at 2007-1-23 03:11 AM:
难道是因为在保护模式下调用中断的速度会比较慢? |
|
中 断 也 许 不 会 , 移 动 记 忆 体 , 尤 其 是 XMS 却 有 可 能 慢 了 !
程 序 读 写 data block 时 间 不 配 合 的 话 还 可 能 有 其 它 问 题 ...
|
我 的 網 站 - http://optimizr.dyndns.org
|
|
2007-1-23 06:16 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
22 楼』:
不过,我想到了一个问题:
如果 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 ]
|
|
2007-1-23 07:37 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
23 楼』:
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 ]
|
|
2007-3-10 12:11 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
24 楼』:
这几天有点时间,打算增加如下几个功能:(看到DPIT等几个小工具的功能还较实用,所以打算把它们都添加进来,这样,TOdisk的功能就更加全面了)
其中,由于TODISK本身就是分区数据工具,所以备份和恢复分区表链的功能是很容易加入进来的, 补充几句代码就可以了, 这个功能今天已经加进来了;
其他的功能,如显示扇区信息,和比较扇区和文件中的内容,这几天就会把他们加进来。。。
过几天发布。。。
|
|
2007-3-12 12:35 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
25 楼』:
是不是硬盘UDMA的读写模式跟磁盘和文件读写速度有关?
最近有点时间,正考虑从如下几个问题,改进完善TOdisk:
一:
最主要的:
怎样提高速度?
1)启用超大的常规内存(两个缓冲都分别高达200KB!),速度提高不明显。
2)启用扩展内存(两个缓冲都分别高达200MB!),速度提高仍然不明显。
3)换到DJGPP 32位,启用扩展内存(两个缓冲都分别高达200MB!,并且也突破了磁盘和文件一次读写的DOS的64KB限制!),速度提高仍然不明显。
第一,二种方式,后来考虑,反而减慢了速度!。因为,磁盘和文件一次读写的DOS的64KB限制仍然不可突破的,加缓冲内存减慢了速度!。,因为,还要需要每次以64KB的大小在小缓冲和大缓冲之间搬移数据的。
第三种,看起来有效,实质上的内部运作跟前两种是一样的(要搬移)
二:
是不是硬盘UDMA的读写模式跟磁盘和文件读写速度有关?
(或者 C语言中是不是有什么函数可控制UDMA的读写模式?
比如: 暂缓写,等到达到UDMA的内部缓冲后,再一起写?)
三:
试了,在运行TODISK前,运行SMARTDRV,把所要操作的分区设为 WRITE-BEHIND
也没用。
很希望对这个问题有所了解的给予帮助, 先谢了。。。
|
|
2007-3-16 01:07 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
26 楼』:
分区值为0以后的分区不能被识别的BUG已经更正了..
|
|
2007-9-5 22:08 |
|
|
sgzhou6688
中级用户
积分 231
发帖 110
注册 2008-3-24 来自 中国大陆
状态 离线
|
『第
27 楼』:
希望有个完整版本的出现》》》》》》》》》》
|
|
2010-5-18 13:05 |
|