|
GOTOmsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第 16 楼』:
使用 LLM 解释/回答一下
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的,如果操作正确,是不太可能出问题的.
Originally posted by johnsonlam at 2007-1-21 02:55 AM:
The D: partition that was copied to
could NOT be accessed by Windows/NT!
How exactly was it operated?
Is it: TOdisk partition TO D:
Or: TOdisk partition TO (D:\file) ?
Does WINDOWS NT only have FAT16 and NTFS file systems?
If D: is NTFS, the program is not supported. However, under DOS, DOS cannot see NTFS. If the operation is correct, it is unlikely to have problems.
|
|
2007-1-22 00:03 |
|
|
johnsonlam
银牌会员
     阿林
积分 1410
发帖 497
注册 2004-6-28 来自 九龍,香港
状态 离线
|
『第 17 楼』:
使用 LLM 解释/回答一下
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
====
Originally posted by GOTOmsdos at 2007-1-22 12:03 AM:
Does Windows NT only have FAT16 and NTFS file systems?
If D: is NTFS, the program is not supported. However, in DOS, DOS cannot see NTFS. If the operation is correct, it is unlikely to have problems.
Windows NT 4.0 also supports FAT32, and its hard disk only has FAT.
The problem occurred after this test.
His email:
====
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 楼』:
使用 LLM 解释/回答一下
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 ]
1
Does Windows NT 4.0 also support FAT32?
2
Saw his EMAIL, but didn't mention the error situation
3
TOdisk only used a few 64KB buffers (this is because DOS has a 64KB limit for reading and writing files each time), this is the reason for the slow speed, and also the biggest shortcoming of the program.
Or I will release the source code in a few days, let you make some changes, can we add a large buffer to try to reach or approach the speed of GHOST... This is also my greatest desire
Last edited by GOTOmsdos on 2007-1-23 at 02:54 AM ]
|
|
2007-1-23 02:47 |
|
|
zqlcch
初级用户
 
积分 178
发帖 85
注册 2006-7-6
状态 离线
|
『第 19 楼』:
使用 LLM 解释/回答一下
为何不用支持保护模式的编译器如wattcom c++,DJGPP
又或FreePascal,或者Delphi+WDosX
难道是因为在保护模式下调用中断的速度会比较慢?
Why not use compilers that support protected mode, such as Wattcom C++, DJGPP, or FreePascal, or Delphi + WDosX? Is it because calling interrupts in protected mode is relatively slow?
|
|
2007-1-23 03:11 |
|
|
johnsonlam
银牌会员
     阿林
积分 1410
发帖 497
注册 2004-6-28 来自 九龍,香港
状态 离线
|
『第 20 楼』:
使用 LLM 解释/回答一下
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 ]
Originally posted by GOTOmsdos at 2007-1-23 02:47 AM:
1
Does Windows NT 4.0 also support FAT32?
2
I saw his email, but he didn't mention the error situation.
3
TOdisk only used a few 64KB buffers (this is because of the 64KB limit of each file read and write in DOS), which is the reason for the slow speed and also the biggest shortcoming of the program.
Maybe I will release the source code in a few days, let you modify it, can we add a super buffer to achieve or approach the speed of GHOST... This is also my greatest desire.
1) Sorry, I made a mistake, his was FAT16, because it is only 2GB.
2) I reversed the two emails one after another, and the next morning his NT4 couldn't see d: anymore.
3) 64K can also be very fast as long as it is aligned. Jack may have some good ideas.
Jack's latest plan is to complete QCACHE (Full Caching, that is, the kind of Norton Cache and Smartdrv) within 8K, so if you don't mind giving him the source code, you can ask him for advice.
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 楼』:
使用 LLM 解释/回答一下
Originally posted by zqlcch at 2007-1-23 03:11 AM:
难道是因为在保护模式下调用中断的速度会比较慢?
中 断 也 许 不 会 , 移 动 记 忆 体 , 尤 其 是 XMS 却 有 可 能 慢 了 !
程 序 读 写 data block 时 间 不 配 合 的 话 还 可 能 有 其 它 问 题 ...
Originally posted by zqlcch at 2007-1-23 03:11 AM:
Is it because calling interrupts in protected mode is relatively slow?
Interrupts might not be, but moving memory, especially XMS, might be slow!
If the program's data block read and write times are not coordinated, there might be other problems...
|

我 的 網 站 - http://optimizr.dyndns.org
|
|
2007-1-23 06:16 |
|
|
GOTOmsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第 22 楼』:
使用 LLM 解释/回答一下
不过,我想到了一个问题:
如果 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 ]
However, I thought of a problem:
If the capacities of C: and D: are different, TODisk will copy with the capacity of the smaller disk as the target amount, so it won't overwrite the sectors after D:
(
Note: TODisk 1:1 to 1:2
TODisk C: to D:
Without the -d or -p switch, it's the free mode, and the free mode is for expert users! Although running the program in the free mode may cause the partition to be inaccessible, since it can freely handle sectors, the program has added this function, mainly for data recovery. If absolute safety is required, the switch of the matching mode -d or -P should be added!!
)
The running results of the free mode are as follows:
1
If D: is larger than C:, it's okay, although some space is wasted
2
If C: is larger than D:
The total number of sectors recorded in the DBR (partition information) of the copied D: is greater than the original D:, which may read and write the sector area after the D: disk, that is, may read and write the disk after D!: may cause the disk after D! or even D! itself to be inaccessible.
Supplementary note:
For the -P mode
That is:
TODisk 1:1 to 1:2 -p
TODisk C: to D: -p
I can't remember if the program forcibly requires C: to be smaller than D:. I'll check the TOdisk source code later. If not, I'll add this forced check.
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 的改善..
使用 LLM 解释/回答一下
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 ]
Originally posted by johnsonlam at 2007-1-22 07:06 AM:
Windows NT 4.0 also supports FAT32, but his hard drive only has FAT.
The problem occurred after this test.
His email:
====
Johnson,
Downloaded TODisk a ...
Recently I have some time, and I will improve TOdisk:
The problem he encountered last time is likely due to
1:
The reason that C: is larger than D: (although when copying, it is still copied according to the capacity of the smaller disk... However, because the partition capacity information of the DBR of the copied disk exceeds, this mode is used for data recovery...)
2:
The absence of a mode switch means free mode, which is used for data recovery
Because there is no -P partition mode switch, the program does not update the partition table (may not be accessible)
Using the -P switch will update the partition table
The absence of a -P mode switch means free mode..
******************************************
But, considering that users generally don't read the instructions carefully, so I think it would be better to change this problem:
Swap the modes:
That is, the absence of a mode switch is the matching mode (safe)
Set -F as free mode (FREE)
(Remove the -D -P switches, whether DISK, PARTITION mode is judged by the program itself)
For example:
TODISK 1:2 TO 1:3 (no mode switch, which is safe)
Or
TODISK C: TO D: (no mode switch, which is safe)
If C: is larger than D:, it will not be processed
If you must process, you need to add the -F switch, and use free mode
This can avoid the possibility of user errors
In addition, some parts of the program have also been polished and adjusted...
The program has been updated: (the documentation will be adjusted later..)
Download address:
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 楼』:
使用 LLM 解释/回答一下
这几天有点时间,打算增加如下几个功能:(看到DPIT等几个小工具的功能还较实用,所以打算把它们都添加进来,这样,TOdisk的功能就更加全面了)
其中,由于TODISK本身就是分区数据工具,所以备份和恢复分区表链的功能是很容易加入进来的, 补充几句代码就可以了, 这个功能今天已经加进来了;
其他的功能,如显示扇区信息,和比较扇区和文件中的内容,这几天就会把他们加进来。。。
过几天发布。。。
These days I have some time and plan to add the following several functions: (Seeing that the functions of small tools like DPIT are still relatively practical, so I plan to add them all, so that the functions of TODisk will be more comprehensive)
Among them, since TODISK itself is a partition data tool, the functions of backing up and restoring the partition table chain are very easy to add. Just supplement a few lines of code, and this function has been added today;
Other functions, such as displaying sector information and comparing the contents of sectors and files, will be added in the next few days...
It will be released in a few days...
|
|
2007-3-12 12:35 |
|
|
GOTOmsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第 25 楼』:
是不是硬盘UDMA的读写模式跟磁盘和文件读写速度有关?
使用 LLM 解释/回答一下
最近有点时间,正考虑从如下几个问题,改进完善TOdisk:
一:
最主要的:
怎样提高速度?
1)启用超大的常规内存(两个缓冲都分别高达200KB!),速度提高不明显。
2)启用扩展内存(两个缓冲都分别高达200MB!),速度提高仍然不明显。
3)换到DJGPP 32位,启用扩展内存(两个缓冲都分别高达200MB!,并且也突破了磁盘和文件一次读写的DOS的64KB限制!),速度提高仍然不明显。
第一,二种方式,后来考虑,反而减慢了速度!。因为,磁盘和文件一次读写的DOS的64KB限制仍然不可突破的,加缓冲内存减慢了速度!。,因为,还要需要每次以64KB的大小在小缓冲和大缓冲之间搬移数据的。
第三种,看起来有效,实质上的内部运作跟前两种是一样的(要搬移)
二:
是不是硬盘UDMA的读写模式跟磁盘和文件读写速度有关?
(或者 C语言中是不是有什么函数可控制UDMA的读写模式?
比如: 暂缓写,等到达到UDMA的内部缓冲后,再一起写?)
三:
试了,在运行TODISK前,运行SMARTDRV,把所要操作的分区设为 WRITE-BEHIND
也没用。
很希望对这个问题有所了解的给予帮助, 先谢了。。。
Recently, I have some free time and am considering improving and perfecting TODisk from the following issues:
One:
The most important:
How to improve speed?
1) Enable extremely large conventional memory (both buffers are as high as 200KB each!), but the speed improvement is not obvious.
2) Enable extended memory (both buffers are as high as 200MB each!), but the speed improvement is still not obvious.
3) Switch to DJGPP 32-bit, enable extended memory (both buffers are as high as 200MB each!, and also break through the 64KB limit of DOS for disk and file reading and writing at one time!), but the speed improvement is still not obvious.
For the first and second methods, later consideration shows that they反而 slow down the speed!. Because the 64KB limit of DOS for disk and file reading and writing at one time is still not breakable, and increasing the buffer memory slows down the speed!. Because data still needs to be moved between the small buffer and the large buffer in 64KB sizes each time.
The third one seems effective, but essentially the internal operation is the same as the first two (needing to move).
Two:
Is the hard disk UDMA reading and writing mode related to the disk and file reading and writing speed?
(Or is there any function in the C language that can control the UDMA reading and writing mode?
For example: Delay writing until reaching the internal buffer of UDMA, and then write all at once?)
Three:
I tried running SMARTDRV before running TODISK and setting the partition to be operated to WRITE-BEHIND, but it didn't work.
I really hope that those who have an understanding of this problem can give help. Thanks in advance...
|
|
2007-3-16 01:07 |
|
|
GOTOmsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第 26 楼』:
使用 LLM 解释/回答一下
分区值为0以后的分区不能被识别的BUG已经更正了..
The bug that partitions after the partition value is set to 0 cannot be recognized has been corrected.
|
|
2007-9-5 22:08 |
|
|
sgzhou6688
中级用户
  
积分 231
发帖 110
注册 2008-3-24 来自 中国大陆
状态 离线
|
『第 27 楼』:
使用 LLM 解释/回答一下
希望有个完整版本的出现》》》》》》》》》》
Hope there will be a complete version appearing
|
|
2010-5-18 13:05 |
|
|