无忧启动论坛

标题: 自制DOS启动盘,为何加程序运行提示内存不足 [打印本页]

作者: dengxin    时间: 2016-5-8 01:19
标题: 自制DOS启动盘,为何加程序运行提示内存不足
下了个最简单的ms-dos 7.1(只有四个基本文件) ,然后自己加了些文件,依据别人的img配置,依葫芦画瓢。配置config.sys,配置如下
DOS=HIGH,UMB
DEVICE=HIMEM.SYS /testmem:off
device=emm386.exe  noems
DEVICEhigh=\NET\ifshlp.SYS
SHELL=COMMAND.COM /P /E:640
FILES=30
STACKSHIGH=9,256
SET TEMP=.
SET TMP=.
LASTDRIVE=Z
REM MS-DOS 7.10 Boot Disk
当我把NTFS4DOS的程序加进去以后,在dos下测试运行,提示:no enouph extended memory  to run application
测试其它,其它随便一个程序都运行不起来,到底怎么回事,加了mem查看内存
提示extended (XMS) 总共 3,545,21 used ?  free 0k ,
我的内存条是8G的。
还有个net文件夹,我本意是配置一个最简单的支持网络的1.44软盘镜像的。(只含有本机的网卡驱动)
下面是文件列表:
COMMAND.COM
CONFIG.SYS
EMM386.EXE
HIMEM.SYS
IO.SYS
MSDOS.SYS
NTFS.EXE
SYS.COM


作者: hxwgz    时间: 2016-5-8 03:34
rem device=emm386.exe  noems
作者: qingdao33122    时间: 2016-5-8 05:15
内存太大,himem.sys 不支持。在实机上用替代方案。看人家做的DOS工具箱,在那个基础上改。
用HIMEM.SYS的话要特殊参数,这个是不兼容的。比如我的机器要设置成
DEVICE=C:\WINDOWS\HIMEM.SYS /X /NOABOVE16
DEVICE=C:\WINDOWS\EMM386.EXE i=e000-efff m9 RAM
作者: dengxin    时间: 2016-5-8 10:01
qingdao33122 发表于 2016-5-8 05:15
内存太大,himem.sys 不支持。在实机上用替代方案。看人家做的DOS工具箱,在那个基础上改。
用HIMEM.SYS的 ...

在其中“device=c:\目录名\himem.sys”一句后面加上参数/int15=xxx,xxx表示你需要屏蔽的内存数量,单位为K,比如你想屏蔽掉32M内存,可以填入 “32768”,然后存盘退出即可。
我在网上查了有这个参数,请问可以屏蔽让他正常工作不
作者: qingdao33122    时间: 2016-5-8 21:06
dengxin 发表于 2016-5-8 10:01
在其中“device=c:\目录名\himem.sys”一句后面加上参数/int15=xxx,xxx表示你需要屏蔽的内存数量,单位为 ...

不可以。int 15参数不是起这个作用的。不想折腾的话还是参考现成DOS工具箱吧,那个通用性很好的
作者: yfwang0798    时间: 2016-5-8 23:00
本帖最后由 yfwang0798 于 2016-5-8 23:02 编辑

config.sys 中命令顺序不对

纯dos如果没有config.sys配置,只能使用640k常规内存,内存不足是指常规内存不足。
要使用超过640k以外的内存,在config.sys文件中首先要
device=himem.syss  只有加载了扩展内存的管理驱动后,才可以利用扩展内存,把dos放到扩展内存中。
即 dos=high,unb 应该在后面。
否则dos程序占用常规内存。
纯dos只能利用 1m内存,你内存再多,也无法利用。
有些春dos程序运行时,要求较多的常规内存,所以尽量把dos放到扩展内存中,而不占用常规内存。
作者: dengxin    时间: 2016-5-9 19:47
yfwang0798 发表于 2016-5-8 23:00
config.sys 中命令顺序不对

纯dos如果没有config.sys配置,只能使用640k常规内存,内存不足是指常规内存 ...

不是你说的原因,应该是ms-dos对大内存支持不好.我改了用free dos的内核,搞定了,ms的不晓得弄了.
作者: dengxin    时间: 2016-5-9 19:47
yfwang0798 发表于 2016-5-8 23:00
config.sys 中命令顺序不对

纯dos如果没有config.sys配置,只能使用640k常规内存,内存不足是指常规内存 ...

不是你说的原因,应该是ms-dos对大内存支持不好.我改了用free dos的内核,搞定了,ms的不晓得弄了.
作者: dengxin    时间: 2016-5-9 19:48
yfwang0798 发表于 2016-5-8 23:00
config.sys 中命令顺序不对

纯dos如果没有config.sys配置,只能使用640k常规内存,内存不足是指常规内存 ...

不是你说的原因,应该是ms-dos对大内存支持不好.我改了用free dos的内核,搞定了,ms的不晓得弄了.
作者: dengxin    时间: 2016-5-9 19:48
yfwang0798 发表于 2016-5-8 23:00
config.sys 中命令顺序不对

纯dos如果没有config.sys配置,只能使用640k常规内存,内存不足是指常规内存 ...

不是你说的原因,应该是ms-dos对大内存支持不好.我改了用free dos的内核,搞定了,ms的不晓得弄了.
作者: icevan    时间: 2016-5-18 22:18
mem/c可以看详细的内存使用情况
HIMEM.SYS  emm386.exe
可以用别的替代。
DEVICEhigh=\NET\ifshlp.SYS这个可能用的内存比较多。





欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3