This article was previously published under Q319043
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