中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » [求助]为何img的软盘镜像文件老是自动改变内容?
作者:
标题: [求助]为何img的软盘镜像文件老是自动改变内容? 上一主题 | 下一主题
sensenw
新手上路





积分 18
发帖 8
注册 2007-2-27
状态 离线
『楼 主』:  [求助]为何img的软盘镜像文件老是自动改变内容?

我制作了一个img的可启动软盘镜像文件,

config.sys的内容为:

device=himem.sys /testmem:off
DEVICEHIGH=VIDE-CDD.SYS /D:mscd000
DEVICEHIGH=ASPICD.SYS /D:mscd000
files=60
buffers=30
dos=high,umb
stacks=9,256
lastdrive=z

=======================================================
autoexec.bat的内容为:

@ECHO OFF
IF %CM0%#==C# GOTO RESET
SET EXPAND=YES
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
XMSDSK 5120 /Y>NUL
FINDRAMD>NUL
IF %RAMDRIVE%#==# SET RAMDRIVE=A:
COPY COMMAND.COM %RAMDRIVE%\>NUL
COPY RESTART.COM %RAMDRIVE%\>NUL
SET COMSPEC=%RAMDRIVE%\COMMAND.COM
MD %RAMDRIVE%\TEMP
SET TEMP=%RAMDRIVE%\TEMP
PATH=%RAMDRIVE%

LH CTMOUSE
LH MSCDEX.EXE /D:MSCD000

Echo Extracting File, Pleasy Wating ......
EXTRACT /Y /E /L %RAMDRIVE%\Tools\ A:\PCDoctor.cab > NUL
%RAMDRIVE%
CD TOOLS
CALL MENU.BAT
GOTO RESET

:RESET
===========================================================

我在虚拟机中测试这个img文件,可以正常启动,但每次启动后都会在根目录下生成一个temp的文件夹,把它删除了再启动还是会自动生成这个文件夹。问题是我要是把它刻录到cdrom上它能正常启动吗?有什么办法令img的文件象iso文件一样绝对不会改变原来的内容?

2008-5-29 12:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 2 楼』:  

很简单,因为这两条命令:
FINDRAMD>NUL
IF %RAMDRIVE%#==# SET RAMDRIVE=A:

肯定是第一条命令没有找到内存盘,导致将A:盘当作临时盘。

只要改好了就不存在你说的问题,另外,用Vfloppy或者grub4dos的memdisk或者map --mem方式启动这张软盘映像就不会出现这个问题。当然,取决于映像文件加载的方式,在虚拟机中加载img,相当于在真实机中插入软盘。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2008-5-29 12:46
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
sensenw
新手上路





积分 18
发帖 8
注册 2007-2-27
状态 离线
『第 3 楼』:  

Climbing,多谢你的解答!
我对dos不了解,不知要怎样才能把它该得最好。你能花点时间帮我改改吗?
万分感谢!

2008-5-29 13:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 4 楼』:  

XMSDSK可以直接指定内存盘的盘符,因此,没有必要使用findramd来查找。

例如:
XMSDSK 5120 Q: /Y>NUL
SET RAMDRIVE=Q:

这样就不会有麻烦了。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2008-5-29 14:03
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
sensenw
新手上路





积分 18
发帖 8
注册 2007-2-27
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by Climbing at 2008-5-29 02:03 PM:
XMSDSK可以直接指定内存盘的盘符,因此,没有必要使用findramd来查找。

例如:
XMSDSK 5120 Q: /Y>NUL
SET RAMDRIVE=Q:

这样就不会有麻烦了。

这样写无法启动。提示说:Invalid drive specification。
我把
FINDRAMD>NUL
IF %RAMDRIVE%#==# SET RAMDRIVE=A:
该为
FINDRAMD>NUL
IF %RAMDRIVE%#==# SET RAMDRIVE=B:
问题还是存在。

内存盘是肯定存在的。
我查过D盘就是内存盘,A盘是img文件。
另外它跟PCDoctor.cab中的MENU.BAT无关。
并且这个img文件启动后的根目录只会生成temp文件夹,tools文件夹是不会生成的。

这是我的另外一个img文件,出现的问题是一样的。
config.sys内容同上。

autoexec.bat内容:
@ECHO OFF
IF %CM0%#==C# GOTO RESET
SET EXPAND=YES
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
XMSDSK 5120 /Y>NUL
FINDRAMD>NUL
IF %RAMDRIVE%#==# SET RAMDRIVE=A:
COPY COMMAND.COM %RAMDRIVE%\>NUL
COPY RESTART.COM %RAMDRIVE%\>NUL
COPY SPEEDSYS.EXE %RAMDRIVE%\>NUL
SET COMSPEC=%RAMDRIVE%\COMMAND.COM
MD %RAMDRIVE%\TEMP
SET TEMP=%RAMDRIVE%\TEMP
PATH=%RAMDRIVE%

LH CTMOUSE
LH MSCDEX.EXE /D:MSCD000

PATH=%RAMDRIVE%
%RAMDRIVE%
SPEEDSYS.EXE
GOTO RESET

:RESET

2008-5-29 15:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sensenw
新手上路





积分 18
发帖 8
注册 2007-2-27
状态 离线
『第 6 楼』:  

我制作许多img文件中,config.sys的内容都是一样的,autoexec.bat内容从@ECHO OFF到PATH=%RAMDRIVE%
都差不多,区别就是copy的文件有些不同。但有些img文件就不会在根目录出现temp文件夹。
io.sys,msdos.sys,command.com等都是一样的。

[ Last edited by sensenw on 2008-5-29 at 03:38 PM ]

2008-5-29 15:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 7 楼』:  

按我的方法怎么会不能启动呢?

问题肯定出在findramd上,你要看一下它为什么找不到你的内存盘。

另外,手工试一下xmsdsk指定盘符,看能不能成功。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2008-5-29 16:06
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
sensenw
新手上路





积分 18
发帖 8
注册 2007-2-27
状态 离线
『第 8 楼』:  

这是我的那个img文件下载地址:
http://cv005d.mofile.com/7881373 ... A4OQ../PCDOCTOR.IMG
请你花点时间下来看看是怎么回事?

2008-5-29 16:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 9 楼』:  

无法下载,直接发我QQ邮箱:653668@qq.com



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2008-5-29 18:30
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
sensenw
新手上路





积分 18
发帖 8
注册 2007-2-27
状态 离线
『第 10 楼』:  

已发送!请查收!
实际上上面那个地址是可以下载的,用鼠标右键点击链接,然后目标另存为就行了!
或者点击下面的链接:http://pickup.mofile.com/cn/index.do
然后输入提取码:1734758524121448

2008-5-29 19:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 11 楼』:  

终于找到原因了,findramd没有问题,是msdos.sys的问题,将你的盘上的msdos.sys修改为下面的样子:
;MS-DOS 7.10 System Configuration File
;(C)Copyright Microsoft Corp 1981-1999

[Options]
BootGUI=0
DisableLog=1
DoubleBuffer=0
Logo=0
SystemReg=0

;For compatiblity with Windows 9x GUI only:

[Paths]
;windir=.
;winbootdir=.
注意:最后两行前面加上了分号注释掉了,原因就在这里。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2008-5-30 09:14
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
sensenw
新手上路





积分 18
发帖 8
注册 2007-2-27
状态 离线
『第 12 楼』:  

已解决!万分感谢Climbing!

象你这样热情为新手解答问题的高手不多了!
再次衷心的多谢你!!!

2008-5-30 10:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ljb603
初级用户





积分 112
发帖 49
注册 2006-10-19
状态 离线
『第 13 楼』:  

你把下面两行删除就可以了
MD %RAMDRIVE%\TEMP
SET TEMP=%RAMDRIVE%\TEMP

2008-6-18 19:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: