中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-29 08:21
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 高位内存变小 查看 847 回复 14
楼 主 高位内存变小 发表于 2005-09-30 18:18 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
我的电脑最近不知道为什么高位内存突然变小了32K,而且内存配置没有改动过!
谁知道我的电脑出了什么毛病?请帮忙解决一下!谢谢各位!!!!!
2 发表于 2005-10-01 18:08 ·  中国 山西 太原 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re qwe1234567:

问题不明,请提供更详细的信息。比如现在的config.sys和autoexec.bat内容,以及你的高位内存是指UMB还是HMA(我猜测是UMB)。另外,你所说的内存配置未改变,是印象如此,还是确定如此?
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
3 发表于 2005-10-01 20:46 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
4 发表于 2005-10-01 21:14 ·  中国 山西 临汾 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re qwe1234567:

那请提供你的系统环境和现在的 memory map (比如mem /c输出)。
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
5 发表于 2005-10-02 14:33 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
mem/c输出:1 Mb 以下使用内存的模块:

名称 总计 = 常规内存 + 上位内存
-------- ---------------- ---------------- ----------------
SYSTEM 16,720 (16K) 9,744 (10K) 6,976 (7K)
HIMEM 1,104 (1K) 1,104 (1K) 0 (0K)
EMM386 3,184 (3K) 3,184 (3K) 0 (0K)
TW 39,072 (38K) 11,888 (12K) 27,184 (27K)
KEY 21,616 (21K) 21,616 (21K) 0 (0K)
MousClip 2,784 (3K) 0 (0K) 2,784 (3K)
DOSKEY 3,968 (4K) 0 (0K) 3,968 (4K)
COMMAND 7,168 (7K) 0 (0K) 7,168 (7K)
XMSDSK 688 (1K) 0 (0K) 688 (1K)
MOUSE 3,344 (3K) 0 (0K) 3,344 (3K)
FREE 647,216 (632K) 607,808 (594K) 39,408 (38K)

内存总计:

内存类型 总共 = 已使用 + 空闲
---------------- ----------- ----------- -----------
常规内存 655,360 47,552 607,808
上位内存 91,520 52,112 39,408
保留内存 367,232 367,232 0
扩展内存 (XMS) 258,932,736 7,193,600 251,739,136
---------------- ----------- ----------- -----------
总内存 260,046,848 7,660,496 252,386,352

1 MB 以下内存数 746,880 99,664 647,216

总计扩充内存 (XMS) 258,932,736 (252,864K)
空闲扩充内存 (XMS) 251,739,136 (245,839K)

最大可执行程序尺寸 607,648 (593K)
最大空闲上位内存块 23,264 (23K)
空闲高内存区数 112 (0K)
PC DOS 驻留在高位内存区中.
6 发表于 2005-10-02 14:36 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
config.sys:
device=himem.sys
device=emm386.exe noems i=b000-b7ff
device=vide.sys /d:1
dos=high,umb
lastdrive=m
autoexec.bat:
echo off
path=m:\ucdos;m:;c:;c:\dos;c:\disk
rem cache/sizext:2000/write:off/mini
xmsdsk m: 6000 /y
set dircmd=/o
set temp=m:\
set tmp=m:\
prompt $t$p$g
shsucdx /d:1,l
extract /e /l m: pq.cab>nul
copy command.com m:
set comspec=m:\command.com
lh doskey
mouse
mousclip
extract /e /l m: tw.cab>nul
tw/np>nul
lh key py wb lx>nul
7 发表于 2005-10-04 11:17 ·  中国 山东 济宁 兖州区 联通
钻石会员
★★★★★
积分 10,046
发帖 3,039
注册 2002-11-11 00:00
23年会员
UID 223
性别 男
状态 离线
这32K就那么重要,如果autoexec和config都没动过,不会是感染病毒了吧。
简单就是美
8 发表于 2005-10-04 15:12 ·  中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re qwe1234567:

从你提供的信息来看,软件方面应该没有什么问题,那么有可能与硬件有关。但也许PC-DOS会有更多的细节我没有注意到。或者如 Michael 兄猜测的那样,病毒侵占了某些 UMB 空间。

最关键的在于是“内存配置没有改动过”而“高位内存突然变小了32K”这个事情,而且变小的是UMB总空间,而非剩余的可用空间。因为 UMB 是 EMM386 从保留内存攫取的,而且这个攫取机制很复杂,我猜测很可能是某个硬件方面(或者也可能是软件)的原因,导致了保留内存中 B000-B7FF 这一段(用于单色的显示模式)不再可用,因而使 i=b000-b7fff 参数失效。而这个参数在我的环境中所能增加的UMB量恰恰是32K,虽然 b000 到 b7ff 不过只是2K的大小

---------- Edited by willsort ----------
红色字体所示内容乃错误言论,敬请注意!
实际上,B000和B7FF都是指段地址,真正的地址表示是:B000:0000-B7FF:FFFF,这是段地址+偏移的内存地址表示方法,它们之间真正的内存空间应该是段地址差乘以段间距,也即(B7FF-B000+1)*16=32K
---------- Edited by willsort ----------


[ Last edited by willsort on 2005-10-4 at 18:29 ]
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
9 发表于 2005-10-04 16:07 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
可是i=b000-b7fff 参数有效,如果不加的话UMB只有57K。而且不会是感染病毒,因为我的小硬盘启动后也是一样。
10 发表于 2005-10-04 20:26 ·  中国 山西 临汾 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re qwe1234567:

我始终无法成功模拟出你的内存配置环境,在我的memory map中,UMB总量始终是117,216。而autoexec.bat中有几个程序我都是不熟悉的,也无法得到其拷贝。因此,只能提供你给一些测试问题所在的排除性方案。

将你的config.sys和autoexec.bat备份后,将config.sys修改至只余himem和emm386两行,autoexec.bat修改只余path一行,然后重启系统测试;如果UMB总量恢复正常,那么可以判断是软件性故障;如果故障依旧,则可能是硬件性故障。
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
11 发表于 2005-10-04 20:36 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
12 发表于 2005-10-04 21:57 ·  中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re qwe1234567:

那就没有太多的解决办法了,如果有条件,可以考虑硬件的“换件排除法”以及“最小系统法”。祝你成功!
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
13 发表于 2005-10-06 11:30 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
14 发表于 2005-10-06 15:50 ·  中国 山西 太原 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re qwe1234567:

我是根据你的 memory map 最后的那句 "PC DOS 驻留在高位内存区中." 猜测你的使用环境的,现在看来可能是你所使用的中文平台在内核汉化中出现了某些小问题。

另外,为了避免无谓的猜测,提出问题时,请尽量提供详细的背景信息,比如所使用的平台环境对于任何问题都是有必要的;而对于启动故障,需要指出启动方式,列出启动配置,以及内存映像。
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
15 发表于 2005-10-06 16:18 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
论坛跳转: