中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-19 09:09
47,814 主题排行 / 349,908 发帖 / 今日 0 篇 / 48,259 会员排行
DOS疑难解答 & 问题讨论 (解答室) » [求助]为何img的软盘镜像文件老是自动改变内容?
可打印版本  1,115 / 12
第1楼 sensenw 发表于 2008-05-29 12:17
新手上路 发帖 8 积分 18
[求助]为何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文件一样绝对不会改变原来的内容?
第2楼 Climbing 发表于 2008-05-29 12:46
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
很简单,因为这两条命令:
FINDRAMD>NUL
IF %RAMDRIVE%#==# SET RAMDRIVE=A:

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

只要改好了就不存在你说的问题,另外,用Vfloppy或者grub4dos的memdisk或者map --mem方式启动这张软盘映像就不会出现这个问题。当然,取决于映像文件加载的方式,在虚拟机中加载img,相当于在真实机中插入软盘。
第3楼 sensenw 发表于 2008-05-29 13:28
新手上路 发帖 8 积分 18
Climbing,多谢你的解答!
我对dos不了解,不知要怎样才能把它该得最好。你能花点时间帮我改改吗?
万分感谢!
第4楼 Climbing 发表于 2008-05-29 14:03
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
XMSDSK可以直接指定内存盘的盘符,因此,没有必要使用findramd来查找。

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

这样就不会有麻烦了。
第5楼 sensenw 发表于 2008-05-29 15:26
新手上路 发帖 8 积分 18
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
第6楼 sensenw 发表于 2008-05-29 15:35
新手上路 发帖 8 积分 18
我制作许多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 ]
第7楼 Climbing 发表于 2008-05-29 16:06
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
按我的方法怎么会不能启动呢?

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

另外,手工试一下xmsdsk指定盘符,看能不能成功。
第8楼 sensenw 发表于 2008-05-29 16:19
新手上路 发帖 8 积分 18
这是我的那个img文件下载地址:
http://cv005d.mofile.com/7881373155316265/RGlzazEvMTkvMTk4MTc1MDE0OS84Lzg2MjM5MDE1NTcwNjA4OQ../PCDOCTOR.IMG
请你花点时间下来看看是怎么回事?
第9楼 Climbing 发表于 2008-05-29 18:30
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
无法下载,直接发我QQ邮箱:653668@qq.com
第10楼 sensenw 发表于 2008-05-29 19:40
新手上路 发帖 8 积分 18
已发送!请查收!
实际上上面那个地址是可以下载的,用鼠标右键点击链接,然后目标另存为就行了!
或者点击下面的链接:http://pickup.mofile.com/cn/index.do
然后输入提取码:1734758524121448
第11楼 Climbing 发表于 2008-05-30 09:14
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
终于找到原因了,findramd没有问题,是msdos.sys的问题,将你的盘上的msdos.sys修改为下面的样子:


注意:最后两行前面加上了分号注释掉了,原因就在这里。
第12楼 sensenw 发表于 2008-05-30 10:12
新手上路 发帖 8 积分 18
已解决!万分感谢Climbing!

象你这样热情为新手解答问题的高手不多了!
再次衷心的多谢你!!!
第13楼 ljb603 发表于 2008-06-18 19:30
初级用户 发帖 49 积分 112
你把下面两行删除就可以了
MD %RAMDRIVE%\TEMP
SET TEMP=%RAMDRIVE%\TEMP
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023