![]() |
中国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: 这样写无法启动。提示说: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 |