无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 7523|回复: 10
打印 上一主题 下一主题

[求助] 自制DOS启动盘,为何加程序运行提示内存不足

[复制链接]
跳转到指定楼层
#
发表于 2016-5-8 01:19:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
下了个最简单的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

10#
发表于 2016-5-18 22:18:03 | 只看该作者
mem/c可以看详细的内存使用情况
HIMEM.SYS  emm386.exe
可以用别的替代。
DEVICEhigh=\NET\ifshlp.SYS这个可能用的内存比较多。
回复

使用道具 举报

9#
 楼主| 发表于 2016-5-9 19:48:15 | 只看该作者
yfwang0798 发表于 2016-5-8 23:00
config.sys 中命令顺序不对

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

不是你说的原因,应该是ms-dos对大内存支持不好.我改了用free dos的内核,搞定了,ms的不晓得弄了.
回复

使用道具 举报

8#
 楼主| 发表于 2016-5-9 19:48:05 | 只看该作者
yfwang0798 发表于 2016-5-8 23:00
config.sys 中命令顺序不对

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

不是你说的原因,应该是ms-dos对大内存支持不好.我改了用free dos的内核,搞定了,ms的不晓得弄了.
回复

使用道具 举报

7#
 楼主| 发表于 2016-5-9 19:47:59 | 只看该作者
yfwang0798 发表于 2016-5-8 23:00
config.sys 中命令顺序不对

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

不是你说的原因,应该是ms-dos对大内存支持不好.我改了用free dos的内核,搞定了,ms的不晓得弄了.
回复

使用道具 举报

6#
 楼主| 发表于 2016-5-9 19:47:57 | 只看该作者
yfwang0798 发表于 2016-5-8 23:00
config.sys 中命令顺序不对

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

不是你说的原因,应该是ms-dos对大内存支持不好.我改了用free dos的内核,搞定了,ms的不晓得弄了.
回复

使用道具 举报

5#
发表于 2016-5-8 23:00:18 | 只看该作者
本帖最后由 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放到扩展内存中,而不占用常规内存。

点评

不是你说的原因,应该是ms-dos对大内存支持不好.我改了用free dos的内核,搞定了,ms的不晓得弄了.  详情 回复 发表于 2016-5-9 19:48
不是你说的原因,应该是ms-dos对大内存支持不好.我改了用free dos的内核,搞定了,ms的不晓得弄了.  详情 回复 发表于 2016-5-9 19:48
不是你说的原因,应该是ms-dos对大内存支持不好.我改了用free dos的内核,搞定了,ms的不晓得弄了.  详情 回复 发表于 2016-5-9 19:47
不是你说的原因,应该是ms-dos对大内存支持不好.我改了用free dos的内核,搞定了,ms的不晓得弄了.  详情 回复 发表于 2016-5-9 19:47
回复

使用道具 举报

4#
发表于 2016-5-8 21:06:45 | 只看该作者
dengxin 发表于 2016-5-8 10:01
在其中“device=c:\目录名\himem.sys”一句后面加上参数/int15=xxx,xxx表示你需要屏蔽的内存数量,单位为 ...

不可以。int 15参数不是起这个作用的。不想折腾的话还是参考现成DOS工具箱吧,那个通用性很好的
回复

使用道具 举报

3#
 楼主| 发表于 2016-5-8 10:01:17 来自手机 | 只看该作者
qingdao33122 发表于 2016-5-8 05:15
内存太大,himem.sys 不支持。在实机上用替代方案。看人家做的DOS工具箱,在那个基础上改。
用HIMEM.SYS的 ...

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

点评

不可以。int 15参数不是起这个作用的。不想折腾的话还是参考现成DOS工具箱吧,那个通用性很好的  详情 回复 发表于 2016-5-8 21:06
回复

使用道具 举报

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

点评

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

使用道具 举报

1#
发表于 2016-5-8 03:34:29 | 只看该作者
rem device=emm386.exe  noems
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-1 07:13

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表