查找和排除 UMA 中的 RAM/ROM 地址

文章翻译 文章翻译
文章编号: 112816 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文介绍如何通过使用 Microsoft 诊断 (MSD) 实用程序和/或排除在 CONFIG.SYS 文件 EMM386.EXE 行上的内存范围高端内存区 (UMA) 中定位适配器 RAM 和 ROM 地址。

更多信息

UMA 640 K 和 1024K 之间的主要供 RAM 和 ROM 硬件设备上。UMA 还使用 EMM386.EXE 加载到 UMA 中的可用地址的设备驱动程序和 $ 终止和驻留 (TSR) 程序。下面的任一发生时,可能会导致冲突:

  • 两个或多个硬件设备正试图在 UMA 中使用相同的内存地址。 -或者-

  • EMM386.EXE 是无法检测到的地址是否正在使用硬件设备,并将 TSR 程序或设备驱动程序加载到该地址。
若要确定哪种以上引起该问题,编辑您 EMM386.EXE 的行,如下所示读取 CONFIG.SYS 文件中:
   device=c:\dos\emm386.exe noems x=a000-f7ff
				
重新启动计算机。如果仍然出现该问题可能导致它通过使用相同的内存地址的多个硬件设备。在这种情况下,您必须解决冲突的信息的参考您的硬件文档或向制造商咨询。

如果没有出现该问题,它是很可能是由引起 EMM386.EXE 和 UMA 中的硬件设备冲突。若要解决这种类型的冲突,您必须确定哪些高端内存地址正在使用的硬件,然后排除 CONFIG.SYS 文件中使用 EMM386.EXE 设备行这些地址。Microsoft 诊断 (MSD) 实用程序可用于标识上端内存块 (UMBs) 在使用由硬件。若要此操作:

  1. 重新启动计算机,并通过一次按 F5,当出现消息"正在启动 MS-DOS..."执行"干净启动"。
  2. 在 MS-DOS 命令在键入 msd 并按 M 选择内存。使用屏幕的顶部的图例,查找标记为 RAM 和/或 ROM,该区域,并记下的开始和结束此区域的地址。这是需要被排除在该 CONFIG.SYS 使用 EMM386.EXE 设备行的区域文件。
  3. 打开 CONFIG.SYS 文件并将该排除添加到 EMM386.EXE 行 (例如对于 X = C000 C7FF X = D800 DBFF),然后重新启动计算机。
如果在完成上述步骤后,将存在内存冲突,可能有一些适配器 RAM 和/或 ROM MSD 无法正确检测到的地址。使用以下技术以帮助隔离冲突的内存区域。

  1. 验证该问题由 UMA 中的冲突引起,请编辑 CONFIG.SYS 文件 EMM386.EXE 设备行上指定以下参数:

    1. NOEMS
    2. X = a000 f7ff
    3. 删除任何其他 X = 或 I = 参数
    4. 如果存在,删除 HIGHSCAN 参数
    示例行可能如下所示:
          device=c:\dos\emm386.exe noems x=a000-f7ff
  2. 保存所做的更改并重新启动计算机。如果问题消失了,继续执行下面的步骤。如果仍然出现该问题不它引起的 UMA 中的冲突,您需要执行其他故障排除以确定导致问题的原因。有关疑难解答 EMM386.EXE 上以下单词 Microsoft 知识库中相应, 的查询的详细信息:
    emm386.exe 和故障排除和 notr
  3. 如果问题得到解决通过使用 X = A000-F7FF 编辑该 CONFIG.SYS 文件和缩小该排除的范围通过将该参数改为 X = C000 F7FF。保存该文件并重新启动计算机。如果问题不再出现,继续执行下一步。

    如果问题不会重复发生,冲突可能 A000 或 B000 区域中。若要此验证更改 X = X C000 F7FF 参数 = A000 BFFF 并重新启动计算机。如果这可以解决该问题,您可以进一步缩小范围范围通过将该参数改为 X = A000 AFFF。 如果仍存在问题重试 X = B000 BFFF。一旦您已缩小到一个特定的范围 (B000 BFFF) 问题,您可以缩小其范围到一半的范围。若要执行此操作尝试排除任何一个半部分 (X = B000 B7FF) 或第二部分 (X = B800 BFFF) 的范围。如果这些都不起作用,则必须将整个范围中排除 (X = B000 BFFF)。
  4. 如果指定 X = C000 F7FF 不会导致该问题,若要重复发生,请打开 CONFIG.SYS 文件然后收缩到 X 进一步范围 = D000 F7FF。重新启动计算机,请参阅问题再次出现。如果不,缩小范围进一步 X = E000 F7FF。重复此过程,直到问题再次出现。
  5. 当问题再次出现时,编辑 CONFIG.SYS 文件来改回到其原来的范围中的第一个数字,并减少该区域中的第二个数字。例如对于如果 X = D000-F7FF 工作正常,但是 X = E000 F7FF 没有、 第一个数字后改 D000 和减小第二个数字,以便范围读取 X = D000 EFFF。如果一起工作的再次减小第二个数字 (X = D000 DFFF)。一旦您已缩小到一个特定区域 (例如对于 D000-DFFF) 问题,您可以缩小其范围到一半的范围。若要执行此操作尝试排除任何一个半部分 (X = D000 D7FF) 或第二部分 (X = D800 DFFF)。如果这些都不起作用,则必须将整个范围中排除 (X = D000 DFFF)。

备注

  • 如果在您的系统使用高端内存地址中有多个硬件设备,您可能需要多个范围中排除。例如对于您可能会列出 X = C000 C7FF X = E000 EFFF EMM386.EXE 行上。
  • 如果缩小范围的一系列较小部分排除可能会 (例如对于 X = C000 C3FF 或 X = C400 C7FF 或 X = C800 CBFF 或 X = CC00 CFFF)
MSD 实用程序包含可能有助于理解如何高端内存区域是划分以及定义了内存映射。若要查看内存映射、 MS-DOS 命令提示符下键入 msd,然后选择内存 M。

属性

文章编号: 112816 - 最后修改: 2001年5月19日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft MS-DOS 6.0 标准版
  • Microsoft MS-DOS 6.2 标准版
  • Microsoft MS-DOS 6.21 标准版
  • Microsoft MS-DOS 6.22 标准版
  • Microsoft Windows 3.1 标准版
  • Microsoft Windows 3.11 标准版
关键字:?
kbmt KB112816 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 112816
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com