中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 18:34
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » miniTO单个程序 DPT/DBR/FAT/CMOS多功能维护工具
楼 主 miniTO单个程序 DPT/DBR/FAT/CMOS多功能维护工具 发表于 2007-04-17 06:38 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
应 terse 朋友的要求, 特地把 TOdisk精简成了一个迷你版
具有显示分区表, 备份/恢复/比较 磁盘分区表链 DPT/DBR/FAT/CMOS的功能

除含概SRCTOOLS的全部功能外,还具备如下十大功能:
1
全部功能都在一个程序中
2
支持备份任意文件系统的分区表(包括LINUX等等,用GHOST的数字方式表示分区)和NTFS分区信息DBR等等(用GHOST的数字方式表示分区,另,如加载了NTFSPRO/IFS,也可直接用盘符)
3
支持备份全部硬盘和任意硬盘的分区表链,并支持全局比较
4
支持把FAT32的系统自备的DBR副本复制到DBR中
5
支持加载NTFSPRO/IFS后的NTFS/LINUX的盘符
6
支持数字方式表示分区,突破FAT分区的限制,与GHOST一致
7
支持数字方式表示的分区和盘符表示的分区之间的转换显示
8
支持配合DOS批处理
9
支持备份CMOS和生成CMOS密码
10
支持显示硬盘表和分区总表

其功能大大超过了我以前写的相似工具 dosBACK ...


**********************************
应几位热心用户的要求,
在配合NTFSPRO/IFS 的基础上,增加了和GHOST和DOS批处理配合的功能

并增加了把 数字的分区比如(1:2)以盘符(比如 D:)或反过来显示出来的功能:
(并且,TOdisk/miniTO 程序 的数字表示的分区跟GHOST 是一样 的,就是采用直接顺延的顺序...可以跟GHOST配合使用, 大家可以比较一下,加载NTFSPRO/IFS后,也与它们的一致,因为它们增加的盘符也是顺延的)

用法如下:
miniTO -turn 1:2
会显示出 D:

也可以跟 DOS 批处理的ERRORLEVEL 联合起来把输出存到文件中:
成功返回 1
失败返回 2


BAT文件:
miniTO -turn 1:2 >FILE
REM 输入 1:2 会显示 D:
REM 输入 D: 会显示 1:2
IF ERRORLEVEL 2 GOTO FAIL
IF ERRORLEVEL 1 GOTO OK

:FAIL
作你的事
GOTO END

:OK
作你的事
GOTO END

:END

会把D:或 1:2存到FILE中

如果加载了NTFSPRO/IFS, 可以:
miniTO -turn 1:2 -ntfspro >FILE (或 -ifs)

会以它们添加的盘符来处理


如在真硬盘或在虚拟机中运行出现问题时,可在后面加上 -NOHP 就行了

非常方便实用,欢迎大家试玩!

看用法,输入程序名或程序名 -?/-h

也可参看:(其中有关DPT/DBR/FAT/CMOS的部分)
http://www.cn-dos.net/forum/viewthread.php?tid=22883&fpage=1&highlight=&page=8


要使用TOdisk,请参看:
http://www.cn-dos.net/forum/viewthread.php?tid=22883&page=1&sid=ZXsc2C#pid136677


最新版和WIN版和源码地址:
http://www.cn-dos.net/forum/viewthread.php?tid=30157&fpage=1

[ Last edited by GOTOmsdos on 2007-5-6 at 11:27 AM ]
附件
miniTO-1.8.4.zip (39.82 KiB, 下载次数: 117)
miniTO-1.9.zip (40.84 KiB, 下载次数: 108)
miniTO.1.9.1.zip (40.84 KiB, 下载次数: 342)
2 发表于 2007-04-17 06:49 ·  中国 黑龙江 哈尔滨 电信
高级用户
★★★
积分 760
发帖 357
注册 2005-10-10 22:33
UID 43332
状态 离线
你的完整版的不知道为什么我用不了,帮助都可以显示,就是显示分区表死机!
我来测试一下这个精简版的!
3 发表于 2007-04-17 06:53 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
它们的核心代码是一样的,只不过减掉了一些功能.
其他网友运行正常啊, 我这里也没有问题
你可以把CONFIG.SYS/AUTOEXEC.BAT帖出来,我帮你看看..
4 发表于 2007-04-17 06:56 ·  中国 黑龙江 哈尔滨 电信
高级用户
★★★
积分 760
发帖 357
注册 2005-10-10 22:33
UID 43332
状态 离线
config.sys

DOS=HIGH,UMB,AUTO
NUMLOCK=ON
device=\SYS\config.exe
device=\SYS\ConfigP.Mnu

; 0NestMenu=
; color=1d,c
; initial=10,4
; time=5,剩余时间
; caption=
; caption=
; caption=a, 我的镜像恢复系统
; caption=4, ----------------------------------------------
; endnote=e, 按↑↓键或相应字母键跳转,按空格键选定
; endnote=e, 按 → 键连续进入子菜单,按 ← 键顺序返回
; endnote=e, 按回车键结束驱动选择,进入我的镜像恢复系统
; endnote=e,
; item=1=选择 内存驱动 默认加载:HIMEM + UMBPCI
; item=2=选择 光驱驱动 默认不加载
; item=3=选择 _USB磁盘驱动 默认不加载
; item=4=选择 _USB光驱驱动 默认不加载
; item=5=选择 _USB鼠标驱动 默认不加载

; 1RadioMenu=
; caption=
; caption=
; caption=
; caption=a, 选择内存驱动
; caption=4, ==============================================
; item=0=加载 HIMEM
; item=0,1=加载 HIMEM + EMM386
; DefaultItem=0,2=加载 HIMEM + UMBPCI

; 2CheckMenu=
; caption=
; caption=
; caption=
; caption=a, 选择光驱驱动
; caption=4, ==============================================
; item=3=加载 gcdrom (SATA-CD)
; item=4=加载 vide-cdd (PATA-CD)
; item=5=加载 QCDROM (PATA-CD)

; 3RadioMenu=
; caption=
; caption=
; caption=
; caption=a, 选择_USB磁盘驱动
; caption=4, ==============================================
; item=6,7=加载 DI1000DD
; item=6,8=加载 ASPIDISK

; 4RadioMenu=
; caption=
; caption=
; caption=
; caption=a, 选择_USB光驱驱动
; caption=4, ==============================================
; item=6,9=加载 USBCD
; item=6,10=加载 NJUSBCDA


; 5RadioMenu=
; caption=
; caption=
; caption=
; caption=a, 选择_USB鼠标驱动
; caption=4, ==============================================
; item=6,11=加载 UHCI
; item=6,12=加载 OHCI

; block=0
DEVICE=\SYS\MEM\HIMEM.SYS /TESTMEM:OFF
; block=1
DEVICE=\SYS\MEM\EMM386.exe noems
DEVICEHIGH=\SYS\MEM\QSCACHE.SYS /F /S7
; block=2
DEVICE=\SYS\MEM\UMBPCI.SYS /S
DEVICEHIGH=\SYS\MEM\QCACHE.SYS /L /S5
; block=3
SET D3=GCDROM
; block=4
SET D4=videcdd
; block=5
SET D5=QCDROM
; block=6
SET D6=usbaspi
; block=7
SET D7=di1000dd
; block=8
SET D8=ASPIDISK
; block=9
SET D9=USBCD
; block=10
SET D10=NJUSBCDA
; block=11
SET D11=UHCI
; block=12
SET D12=OHCI
; block=end

FILESHIGH=100
BUFFERSHIGH=10,0
SHELL=COMMAND.COM /P /F /E:4096
FCBSHIGH=8,0
STACKSHIGH=18,512
LASTDRIVEHIGH=Z

[ Last edited by 0451lym on 2007-4-17 at 06:59 AM ]
5 发表于 2007-04-17 06:56 ·  中国 黑龙江 哈尔滨 电信
高级用户
★★★
积分 760
发帖 357
注册 2005-10-10 22:33
UID 43332
状态 离线
autoexec.bat
@ECHO OFF
cls
rem pictview logo.sys --q --nocls
DEL logo.sys
SET DIRCMD=/OGN /4
SET PROMPT=$d $t$_$p$g
SET HDPMI=16384>NUL
SET RAMDRIVE=v:>NUL
XMSDSK 12288 %RAMDRIVE% /T /Y>NUL
PATH=%RAMDRIVE%;%RAMDRIVE%\BAT;%RAMDRIVE%\UCDOS;
COPY COMMAND.COM %RAMDRIVE%>NUL
SET COMSPEC=%RAMDRIVE%\COMMAND.COM
SET TEMP=%RAMDRIVE%\TEMP
IF EXIST LYM. REN LYM LYM.EXE
IF EXIST LYM.EXE LYM /Y %RAMDRIVE%\>NUL
IF EXIST GHOST.EXE COPY GHOST.EXE %RAMDRIVE%>NUL
FOR %%X IN (LYM.EXE GHOST.EXE) DO IF EXIST %%X DEL %%X
echo 引导盘符>%temp%\YD.INI
cd>>%temp%\YD.INI
strings YD=read %temp%\YD.INI,2
strings YD=filedrive %YD%
PATH=%PATH%%YD%;
echo 内存盘符>%temp%\RAM.INI
echo %RAMDRIVE%>>%temp%\RAM.INI
CALL Drive.bat IFS %D3% %D4% %D5% %D6% %D7% %D8% %D9% %D10% %D11% %D12%
go %RAMDRIVE%\

CALL HZ.BAT
rem config.bat

:TC
6 发表于 2007-04-17 06:57 ·  中国 黑龙江 哈尔滨 电信
高级用户
★★★
积分 760
发帖 357
注册 2005-10-10 22:33
UID 43332
状态 离线
用F5直接进入也死!
我是2块硬盘,第1块硬盘是6个分区.第2块硬盘是1个80G的大分区!


多谢指教!

[ Last edited by 0451lym on 2007-4-17 at 07:09 AM ]
7 发表于 2007-04-17 07:24 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
用F5直接进入也死!

有点难以相信..一般应该不会的
TODISK除了内存太小,用了压缩功能时,有可能压缩失败,但也会给出出错提示的

可能有什么配置比较特殊, 或者硬件问题?
我这里试了 一些驱动,都运行正常, 包括 XMSDSK , TW, DOSLFN , DOSKEY 等等,

刚才 terse 调整了CONFIG.SYS , 现在运行正常了.
你可以试试他的CONFIG.SYS, 看看问题出在哪里?

:
把CONFIG.SYS中BUFFERS=30 改为 BUFFERSHIGH=10,0
terse 现在可以运行TODISK
8 发表于 2007-04-17 08:35 ·  中国 黑龙江 哈尔滨 电信
高级用户
★★★
积分 760
发帖 357
注册 2005-10-10 22:33
UID 43332
状态 离线
用了老葛的和xusen的DOS盘都是死机,可能是硬盘的问题!


用PSI可以生成分区表,但是能正常显示硬盘排序问题:
Disk 0:
N L Type FS Size Active Hidden Label Used Free
0 C Primary FAT 32 5.0 GB Yes No 2.3 GB 2.7 GB
1 Extended 69.5 GB
2 D Logical FAT 32 5.0 GB No No 3.9 GB 1.1 GB
3 E Logical FAT 32 4.0 GB No No 1.4 GB 2.6 GB
4 F Logical FAT 32 4.0 GB No No 2.6 GB 1.4 GB
5 G Logical FAT 32 30.8 GB No No 18.7 GB 12.1 GB
6 H Logical FAT 32 25.7 GB No No 软件备份 22.7 GB 3.0 GB

Disk 1:
N L Type FS Size Active Hidden Label Used Free
0 Primary Free 7.8 MB
1 Extended 74.5 GB
2 I Logical NTFS 74.5 GB No No iU霖 71.1 GB 3.4 GB

用omnifs生成分区表有错误:
Disk: 1 (74.53GB) M:[ST380011A] S:[3JV5R0L2]
1.1 ( 5.01GB) [C:\] Active Volume FAT32 Primary
1.2 ( 5.01GB) [D:\] Volume FAT32 Extended
1.3 ( 4.01GB) [E:\] Volume FAT32 Extended
( 60.49GB) Unused Space Extended
( 2.49MB) Unused Space Primary
Disk: 2 (74.53GB) M:[ST3802110A] S:[4LR3N3AC]
( 7.84MB) Unused Space Primary
2.1 ( 74.52GB) Volume NTFS l:[扩展磁盘] Extended
( 2.49MB) Unused Space Primary


初步怀疑错误是在分析1.4分区时候开始出错的,或者是说在分析1.4分区时候死机的.
不知道TODISK是否在分析出错的时候还执着不越过?但是怀疑为什么PSI可以正常列表?TODISK的兼容性还是有待完善!
多谢GOTOmsdos的帮助!谢谢分享!!!!
9 发表于 2007-04-17 08:41 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
UID 42345
状态 离线
不要加载UMBPCI.SYS
我试过 我这里加载后 运行不了

另:真的非常谢谢GOTOmsdos 我去下精简版

[ Last edited by terse on 2007-4-17 at 08:42 AM ]
10 发表于 2007-04-17 08:52 ·  中国 黑龙江 哈尔滨 电信
高级用户
★★★
积分 760
发帖 357
注册 2005-10-10 22:33
UID 43332
状态 离线
Originally posted by terse at 2007-4-17 08:41:
不要加载UMBPCI.SYS
我试过 我这里加载后 运行不了

另:真的非常谢谢GOTOmsdos 我去下精简版

[ Last edited by terse on 2007-4-17 at 08:42 AM ]


我只+了HIMEM.SYS内存驱动,其他的什么都没+也不可以!

[ Last edited by 0451lym on 2007-4-17 at 08:54 AM ]
11 发表于 2007-04-17 09:19 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
不管怎样感谢关注miniTO
现在不知道是什么原因出错. 我检查过代码,还没发现问题...不过我可以再检查,看看有没有什么地方容错能力有不足...

你可以把轮流只使用一个硬盘试试看, 看看问题出在哪里?

[ Last edited by GOTOmsdos on 2007-4-20 at 07:18 AM ]
12 发表于 2007-04-17 09:20 ·  中国 广东 深圳 福田区 电信
高级用户
★★
积分 525
发帖 222
注册 2006-08-28 21:07
UID 61476
状态 离线
你用spfdisk重建MBR试试吧。

分区表出了问题,就不要责怪人家的程序……

不行就用kvfix把MBR清0,diskgen重建。

然后运行Todisk,应该可以了。
13 发表于 2007-04-17 09:23 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
Originally posted by cchessbd at 2007-4-17 09:20 AM:
你用spfdisk重建MBR试试吧。

分区表出了问题,就不要责怪人家的程序……

不行就用kvfix把MBR清0,diskgen重建。

然后运行Todisk,应该可以了。


感谢关注!
不过,我还是觉得如果尽管是硬盘的问题,造成了死机,程序还是有一定的责任的,如果程序够健壮,应该会有提示退出的... 等一下我再检查一下相关代码...
14 发表于 2007-04-17 09:25 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
原来精简版只能备份总分区表链,现在也加进了支持单个分区表/DBR/FAT的功能
这样才完整

已更新

[ Last edited by GOTOmsdos on 2007-4-17 at 09:27 AM ]
15 发表于 2007-04-17 09:29 ·  中国 广东 深圳 福田区 电信
高级用户
★★
积分 525
发帖 222
注册 2006-08-28 21:07
UID 61476
状态 离线
Originally posted by GOTOmsdos at 2007-4-17 09:25:
原来精简版只能备份总分区表链,现在也加进了支持单个分区表/DBR/FAT的功能
这样才完整

已更新

[ Last edited by GOTOmsdos on 2007-4-17 at 09:27 AM ]


不错不错,可以显示我的Ipod。
论坛跳转: