Board logo

标题: 关于program too big to fit in memory的问题? [打印本页]

作者: hlnliyou     时间: 2008-10-21 16:21    标题: 关于program too big to fit in memory的问题?

本人用usboot制作了启动u盘,并在新dos时代拷贝了dos7.1,把文件复制放进u盘.原来可以运行的diskgen(80k),再运行时提示program too big to fit in memory,但在我硬盘上的ghost(980M)却能够正常运行.这是为什么,根据上网百度的资料,修改config设置devicehigh=himem.sys
devicehigh=emm386.exe
dos=high,umb
加载还是不行.mem查看基本内存还有630k呀,怎么会这样呀???请高手帮我解决/谢谢
作者: DOSforever     时间: 2008-10-21 16:34
你再把 diskgen 复制回硬盘上看看能不能运行。
还有
devicehigh=himem.sys
devicehigh=emm386.exe
是错误的,应该是
device=himem.sys
device=emm386.exe
百度那种误人子弟的地方还是不要去了。

最好把你的 CONFIG.SYS 和 AUTOEXEC.BAT 文件的内容贴上来看看。
作者: hlnliyou     时间: 2008-10-21 17:09    标题: 回二楼的朋友

[img][987.bmp][/img]
[img][986.bmp][/img]
该怎么样贴图呢???
作者: hlnliyou     时间: 2008-10-21 17:15
@ECHO OFF
PROMPT $P$G
PATH=A:\;..
LFNFOR ON
SET DIRCMD=/4
MODE CON RATE=32 DELAY=1
LH KILLER
LH SHSUCDX /D:IDE-CD /Q /~+
LH DOSKEY
LH DOSLFN
ECHO.
ECHO Now you are in MS-DOS 7.10 prompt.
ECHO.





DOS=HIGH,UMB
DEVICE=HIMEM.SYS
REM DEVICE=EMM386.EXE NOEMS
DEVICEHIGH=VIDE-CDD.SYS /D:IDE-CD
COUNTRY=001,437,COUNTRY.SYS
SHELL=COMMAND.COM /P /E:640
FILES=30
FCBSHIGH=4,0
BUFFERSHIGH=20
LASTDRIVEHIGH=26
STACKSHIGH=9,256
SET TEMP=.
SET TMP=.
REM MS-DOS 7.10 Boot Disk


这就是我最早的autoexec和config,后来我修改了config
第三行devicehigh=emm386.exe noems
第二行devicehigh=……
作者: lianjiang2004     时间: 2008-10-21 17:20
不需要加载EMM386.EXE
作者: hlnliyou     时间: 2008-10-21 17:26    标题: 补充一点……

后来我删了autoexec和config文件进入dos 还是这个错误提示????
作者: DOSforever     时间: 2008-10-21 17:27
按照你现在贴出来的 CONFIG.SYS 内容来看
第三行devicehigh=emm386.exe noems
不知道会不会加载成功,可能有错误根本就没加载,不知道你哪里看出还有630K的常规内存的空闲。最好把你的内存状况列出来。
COUNTRY一句不要也可以。
作者: hlnliyou     时间: 2008-10-21 17:54    标题: 回上一楼的朋友

我用mem/c/p后内存情况:
NAME         TATAL       =  CONVENTIONAL    +   UPPER MEMORY
SYSTEM        29K                    11K                    18K
HIMEM           1K                        1K                    0
EMM386          4K                     4K                       0
SHSUCDX         6K                      6K                      0
VIDE-CDD       5K                          0                     5K
COMMAND     7K                         0                        7K
KILLER           0                           0                        0
DOSKEY          4K                        0                        4K
DOSLFN            14K                     0                           14K
FREE                677K                  619K                     58K


CONVENTIOAL 可是基本内存1-640之间        free可是指空闲内存。

upper    memory 可是扩展内存{640-1M}之间
作者: DOSforever     时间: 2008-10-21 18:07
按照你列出的情况有 619K 的常规内存,应该可以满足 diskgen 的要求,也可以满足绝大部分程序的要求。在这样的内存配置下运行 diskgen 还会出现 "This program too big to fit in memory" 的错误?你比较一下你闪存盘上 diskgen 和原来硬盘上的有没有不同。不行的话,把你的 mem/d 的内容列出来看看。

upper memory 是在640K-1M之间,但不属于扩展内存。
作者: hlnliyou     时间: 2008-10-21 18:11    标题: 回上一楼的朋友

我的diskgen是硬盘上拷贝过去的。我再用mem/d 看下。谢谢
作者: hlnliyou     时间: 2008-10-21 18:23    标题: 回上一楼的朋友

我mem/d后的内存总的情况如下:
TYPE OF MEMORY   TOTAL       =     USED     +   FREE
CONVERTIONAL       655,360             22,016        633,344
UPPER                    109,120              40,632        59488
RESERVED                308,672             308,672       0
EXTENDED(XMS)       258,973,696         619,304      258,363,392
我的电脑   内存256    集成显卡。
烦,今天电脑为这个问题进dos系统重启了 20多次了还是这样???
作者: DOSforever     时间: 2008-10-21 18:28
我要的是全面的 mem/d 的情况,难道这是你手抄的?为什么不用重定向?
作者: hlnliyou     时间: 2008-10-21 19:14    标题: 回上一楼的朋友

我要学一下重定向怎么弄,明天再发个给你,谢谢
作者: DOSforever     时间: 2008-10-21 19:23
mem/d > 文件名随便你自己起
比如:
mem/d > memory.txt
作者: hlnliyou     时间: 2008-10-22 10:13    标题: 回上一楼的朋友

Conventional memory detail:

  Segment                Size        Name         Type
  -------          ----------------  -----------  --------
   00000              1,024    (1K)               Interrupt Vector
   00040                256    (0K)               ROM Communication Area
   00050                512    (1K)               DOS Communication Area
   00070              1,424    (1K)  SYSTEM       System Data
                                        CON       System Device Driver
                                        AUX       System Device Driver
                                        PRN       System Device Driver
                                        CLOCK$    System Device Driver
                                        A: - F:   System Device Driver
                                        COM1      System Device Driver
                                        LPT1      System Device Driver
                                        LPT2      System Device Driver
                                        LPT3      System Device Driver
                                        CONFIG$   System Device Driver
                                        COM2      System Device Driver
                                        COM3      System Device Driver
                                        COM4      System Device Driver
   000C9              5,312    (5K)  MS-DOS       System Data
   00215              7,584    (7K)  SYSTEM       System Data
                      1,104    (1K)     XMSXXXX0  Installed Driver HIMEM   
                      4,304    (4K)     EMMQXXX0  Installed Driver EMM386  
                        512    (1K)               BUFFERS=20
   003EF                 80    (0K)  MS-DOS       System Program
   003F4              5,808    (6K)  SHSUCDX      Program
   0055F                128    (0K)  MEM          Environment
   00567            633,216  (618K)  MEM          Program

Upper memory detail:

  Segment  Region        Size        Name         Type
  -------  ------  ----------------  -----------  --------
   0D55C       1     23,872   (23K)  SYSTEM       System Data
                      5,008    (5K)     IDE-CD    Installed Driver VIDE-CDD
                      1,488    (1K)               FILES=30
                        256    (0K)               FCBS=4
                     10,720   (10K)               BUFFERS=20
                      2,288    (2K)               LASTDRIVE=Z
                      3,072    (3K)               STACKS=9,256
   0DB30       1      5,728    (6K)  COMMAND      Program
   0DC96       1         80    (0K)  MS-DOS       -- Free --
   0DC9B       1      1,696    (2K)  COMMAND      Environment
   0DD05       1        128    (0K)  MS-DOS       -- Free --
   0DD0D       1        400    (0K)  KILLER       Program
   0DD26       1      3,968    (4K)  DOSKEY       Program
   0DE1E       1     13,968   (14K)  DOSLFN       Program
   0E187       1     59,280   (58K)  MS-DOS       -- Free --

Memory summary:

  Type of Memory       Total    =     Used    +     Free
  ----------------  -----------   -----------   -----------
  Conventional          655,360        22,016       633,344
  Upper                 109,120        49,632        59,488
  Reserved              308,672       308,672             0
  Extended (XMS)    258,973,696       610,304   258,363,392
  ----------------  -----------   -----------   -----------
  Total memory      260,046,848       990,624   259,056,224

  Total under 1Mb       764,480        71,648       692,832


  XMS Handle        Base Address         Size
  ----------    -------------------    --------
     E58E       00110000   (1,088K)        532K

  Total Extended (XMS)                258,973,696 (252,904K)
  Free Extended (XMS)                 258,363,392 (252,308K)

  Memory accessible using INT 15h               0       (0K)
  Largest executable program size         633,328     (618K)
  Largest free upper memory block          59,280      (58K)
  Available space in High Memory Area       5,440       (5K)
  MS-DOS is resident in the high memory area.

  XMS Version  3.00; Driver Version  3.5f
作者: hlnliyou     时间: 2008-10-22 18:12    标题: 补充一点……

高手速度帮我解决,等着用dos 呢,拜托了.
作者: DOSforever     时间: 2008-10-22 18:46
从你所列的情况来看没什么问题,所以我怀疑还有一种可能性就是你复制到闪盘上的 diskgen.exe 坏了,你有没有比较过。
作者: hlnliyou     时间: 2008-10-22 18:54    标题: 回上一楼的朋友

所以我才郁闷,diskgen我拷贝回硬盘可以运行,而且不止是diskgen,稍微大一点的程序,统统不能运行.我运行了几k的程序却可以运行.帮我想想办法,会跟u盘有关系吗?
作者: lianjiang2004     时间: 2008-10-22 19:11
建个虚拟内存盘,再把diskgen复制到内存盘运行看看。
作者: hlnliyou     时间: 2008-10-22 19:17    标题: 回上一楼的朋友

虚拟内存盘怎么弄呢??????谢谢
作者: DOSforever     时间: 2008-10-22 19:22
我估计你闪盘坏了!
作者: lianjiang2004     时间: 2008-10-22 19:24
要求加载过himem.sys
xmsdsk 1440  x:

[ Last edited by lianjiang2004 on 2008-10-22 at 19:25 ]
作者: hlnliyou     时间: 2008-10-22 19:32    标题: 回21楼的朋友

我的u盘在xp 下可以用的.
作者: hlnliyou     时间: 2008-10-22 19:33    标题: 回22楼的朋友

你说的我不太清楚.什么是:xmsdsk 1440  x:
作者: hlnliyou     时间: 2008-10-22 19:34    标题: 补充一点……

这跟u盘格式化的格式有没关系.
比如ntfs,fat什么的.要什么格式???
作者: DOSforever     时间: 2008-10-22 19:43


  Quote:
Originally posted by hlnliyou at 2008-10-22 18:54:
所以我才郁闷,diskgen我拷贝回硬盘可以运行,而且不止是diskgen,稍微大一点的程序,统统不能运行.我运行了几k的程序却可以运行.帮我想想办法,会跟u盘有关系吗?

所以我让你比较一下,你复制到闪盘后的文件和,你硬盘上的文件是不是一样!你说在xp下可用,怎么个可用,可以复制文件,和复制某几个文件是好的不等于这个盘的所有区块都是好的。你比较后的结果是什么,在硬盘上的相同文件可以执行的情况下。
作者: lianjiang2004     时间: 2008-10-22 20:12


  Quote:
Originally posted by hlnliyou at 2008-10-22 19:33:
你说的我不太清楚.什么是:xmsdsk 1440  x:

xmsdsk是个创建内存盘的工具,一般的启动盘里都有。
xmsdsk 1440  x:  
即表示创建一个1.44MB的虚拟盘,盘符为x:。

既然你说不会创建内存盘,那么给你的命令自然是如何创建的。
一般人很自然就会想到,不明白的也一搜索就知道意思了。
看来不仅理解力差,而且还不善于学习。呵呵。
作者: hlnliyou     时间: 2008-10-22 20:16    标题: 回21楼的朋友

领教了,有什么软件可以检测我的闪盘是否损坏.
作者: hlnliyou     时间: 2008-10-22 20:18    标题: 回27楼的朋友

我现在正在关于dos的所有命令.我先检测下盘有没坏了.找个软件检测下呵呵
作者: DOSforever     时间: 2008-10-22 20:19
所以我前面让你比较一下,你为什么说了半天就是不比较呢?!
还有一个就是全盘 SCANDISK 或 NDD
作者: hlnliyou     时间: 2008-10-22 20:32
各位老大,我的闪盘在xp下检测并恢复损坏的扇区没出现问题.
作者: bc12060101     时间: 2008-10-22 20:34
嘿嘿,楼上的诸位,别费那劲了。应该是u盘和主板的兼容性问题作祟的缘故。
说一个前两天刚碰到的问题:
本人的一只台电1Gu盘,用grub写mbr后可以引导进入dos系统。在办公室的戴尔320电脑上,从u盘启动进入dos,然后进入到C:\(也就是u盘内),欲拷贝u盘上的pe.iso文件(大小约为720M),结果被提示磁盘有问题无法拷贝。拷贝该u盘上的其他文件都没有问题(当然,大小都在10M以下)。此外,欲进入一个名为“红叶”的目录,结果是进去了出不来,且进入该目录后看不到该目录下的任何文件。而这些问题在xp下均不存在。当时就纳闷了,何解?换过一台电脑(技嘉的主板),上述问题都不存在了。
嘿嘿,想在u盘上玩启动(包括dos),兼容性的问题多多,看来不服不行!还是省省吧。
作者: hlnliyou     时间: 2008-10-25 17:59
我这个不是兼容问题,我原来上可以的,换过dos 文件后才不行的,原来的dos7.1是usboot完就有的,conmand,io.sys,msdos.ysy三个文件,其他什么都没有.后来我在这个网站下了dos7.1,把文件拷贝进去,再进系统就有运行不了了.奇怪的是我恢复原来的 dos ,只保留conmand,io.sys,msdos.ysy也还是运行不了.
前面说的命令xmsdsk,我一运行就自动重起了.晕.
作者: lianjiang2004     时间: 2008-10-25 18:05
1,xmsdsk不行,就用微软自己的ramdrive.sys建内存盘看看。
2,dos不要用精简过的版本,改成微软原版的看看。
作者: netwinxp     时间: 2008-11-12 05:30
改用98SE自带的DOS看看,经收集资料发现那个DOS7.1在某些场合会有兼容性问题——比如放在大硬盘比较后面的分区不能启动等。

[ Last edited by netwinxp on 2008-11-12 at 05:32 ]
作者: zhenxin     时间: 2008-12-1 23:08
杀个毒先吧。。
作者: Qtwdftxvt     时间: 2008-12-2 00:07
可能的原因:
1)GHOST 文件本身;
2)CONFIG.SYS 中加载的文件。
建议:
1)换用标准 WIN98 启动盘试试;
2)检查 GHOST 和 CONFIG.SYS 中加载的文件。