Driver may not be loaded with the /3GB switch

Support for Windows XP has ended

Microsoft ended support for Windows XP on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

This article was previously published under Q319043
This article has been archived. It is offered "as is" and will no longer be updated.
If you use the /3GB switch in the Boot.ini file to support a program that can use more than 2 GB of virtual address space, a driver may not be loaded when Windows starts. This is more likely to occur with video adapter drivers. This is especially likely to occur if the hardware device contains a lot of onboard random access memory (RAM) that is used as a buffer.
This problem occurs because the driver is trying to reserve a large block of contiguous virtual memory addresses in the kernel address space to map the device's buffer. When you are use the /3GB switch, the memory that is available to the kernel is halved. The kernel might not be able to allocate a large enough block of memory to satisfy the driver's request.
To resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
322389 How to Obtain the Latest Windows XP Service Pack
The English version of this fix should have the following file attributes or later:
   Date         Time   Version      Size      File name   -------------------------------------------------------   10-Jun-2002  15:44  5.1.2600.48  1,836 KB  Ntoskrnl.exe   10-Jun-2002  15:44  5.1.2600.48  1,804 KB  Ntkrnlmp.exe   10-Jun-2002  15:44  5.1.2600.48  1,858 KB  Ntkrnlpa.exe   10-Jun-2002  15:44  5.1.2600.48  1,831 KB  Ntkrpamp.exe				

After you install this hotfix, you can use the new /USERVA memory-management switch. You can use this switch to tune the memory that is allocated above 2 GB to User mode and taken from the kernel. By doing this, you can find a number that permits the driver to be loaded.

For example, using the /USERVA=2800 switch in the Boot.ini file configures a User mode virtual address space of 2800 MB and a Kernel mode virtual address space of 1196 MB.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows XP Service Pack 1.
For more information about using the /USERVA switch, see the following Microsoft Knowledge Base article:
316739 How to Use the /USERVA Switch in the Boot.ini File to Tune /3GB Configurations

Article ID: 319043 - Last Review: 12/07/2015 09:10:53 - Revision: 2.1

Microsoft Windows XP Professional

  • kbnosurvey kbarchive kbbug kbfix kbqfe kboswin2000fix kbwinxpsp1fix kbhotfixserver KB319043