驱动程序不能用 /3GB 参数加载

针对 Windows XP 的支持已终止

Microsoft 已于 2014 年 4 月 8 日终止了针对 Windows XP 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

本文已归档。它按“原样”提供,并且不再更新。
症状
如果您在 Boot.ini 文件中使用 /3GB 参数来支持一个可能会使用 2 GB 以上虚拟地址空间的程序,则当 Windows 启动时驱动程序可能无法加载。视频适配器驱动程序出现此问题的情况较多。当硬件设备自带了大量作为缓冲区使用的内存 (RAM) 时,特别容易发生此问题。
原因
发生此问题是因为,此驱动程序尝试在内核地址空间保留一个大的连续虚拟内存地址块以映射此设备的缓冲区。当您使用 /3GB 参数时,内核可用的内存减少了一半。内核可能无法分配一个足够大的内存块以满足驱动程序的要求。
解决方案
要解决此问题,请获取最新的 Windows XP Service Pack。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322389 How to Obtain the Latest Windows XP Service Pack
该修复程序的英文版应具有如下文件属性或更新的属性:
Date         Time   Version      Size    File name   -------------------------------------------------------10-Jun-2002  15:44  5.1.2600.48  1,836 KB  Ntoskrnl.exe10-Jun-2002  15:44  5.1.2600.48  1,804 KB  Ntkrnlmp.exe10-Jun-2002  15:44  5.1.2600.48  1,858 KB  Ntkrnlpa.exe10-Jun-2002  15:44  5.1.2600.48  1,831 KB  Ntkrpamp.exe				

在安装此修复程序之后,您可以使用新的 /USERVA 内存管理参数。您可以使用此参数来调整从内核中获得并分配给“用户模式”的 2 GB 以上的内存。通过这样,您可以找到一个使此驱动程序能够加载的数字。

例如,在 Boot.ini 文件中使用 /USERVA=2900 参数可配置 2900 MB 的“用户模式”虚拟地址空间和 1100 MB 的“内核模式”虚拟地址空间。
状态
Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中存在的问题。 这个问题已在 Windows XP Service Pack 1 中得到纠正。
参考
有关使用 /USERVA 参数的更多信息,请参见以下 Microsoft 知识库文章:
316739 How to Use the /USERVA Switch in the Boot.ini File to Tune /3GB Configurations
kbBaseOS
属性

文章 ID:319043 - 上次审阅时间:12/07/2015 09:10:58 - 修订版本: 1.1

Microsoft Windows XP Professional Edition

  • kbnosurvey kbarchive kbbug kbfix kbqfe kboswin2000fix kbwinxpsp1fix kbhotfixserver KB319043
反馈