/3GB
Increases the size of the user process address space from 2 GB to 3 GB (and therefore
reduces the size of system space from 2 GB to 1 GB). Giving virtual-memory- intensive
applications such as database servers a larger address space can improve their
performance. For an application to take advantage of this feature, however, two additional
conditions must be met: the system must be running Windows XP, Windows Server 2003,
Windows NT 4 Enterprise Edition, Windows 2000 Advanced Server or Datacenter Server and the
application .exe must be flagged as a 3-GB-aware application. Applies to 32-bit systems
only.
/BASEVIDEO
Causes Windows to use the standard VGA display driver for GUI-mode operations.
/BAUDRATE=
Enables kernel-mode debugging and specifies an override for the default baud rate (19200)
at which a remote kernel debugger host will connect. Example: /BAUDRATE=115200.
/BOOTLOG
Causes Windows to write a log of the boot to the file %SystemRoot%\Ntbtlog.txt.
/BOOTLOGO
Use this switch to have Windows XP or Windows Server 2003 display an installable splash
screen instead of the standard splash screen. First, create a 16-color (any 16 colors)
640x480 bitmap and save it in the Windows directory with the name Boot.bmp. Then
add "/bootlogo /noguiboot" to the boot.ini selection.
/BREAK
Causes the hardware abstraction layer (HAL) to stop at a breakpoint at HAL initialization.
The first thing the Windows kernel does when it initializes is to initialize the HAL, so
this breakpoint is the earliest one possible. The HAL will wait indefinitely at the
breakpoint until a kernel-debugger connection is made. If the switch is used without
the /DEBUG switch, the system will Blue Screen with a STOP code of 0x00000078 (PHASE0_
EXCEPTION).
/BURNMEMORY=
Specifies an amount of memory Windows can't use (similar to the /MAXMEM switch). The value
is specified in megabytes. Example: /BURNMEMORY=128 would indicate that Windows can't use
128 MB of the total physical memory on the machine.
/CHANNEL=
Used on conjunction with /DEBUGPORT=1394 to specify the IEEE 1394 channel through which
kernel debugging communications will flow. This can be any number between 0 and 62 and
defaults to 0 if not set.
/CLKLVL
Causes the standard x86 multiprocessor HAL (Halmps.dll) to configure itself for a level-
sensitive system clock rather then an edge-triggered clock. Level-sensitive and edge-
triggered are terms used to describe hardware interrupt types.
/CMDCONS
Passed when booting with into the Recovery Console (described later in this chapter).
/CRASHDEBUG
Causes the kernel debugger to be loaded when the system boots, but to remain inactive
unless a crash occurs. This allows the serial port that the kernel debugger would use to
be available for use by the system until the system crashes (vs. /DEBUG, which causes the
kernel debugger to use the serial port for the life of the system session).
/DEBUG
Enables kernel-mode debugging.
/DEBUGPORT=
Enables kernel-mode debugging and specifies an override for the default serial (usually
COM2 on systems with at least two serial ports) to which a remote kernel-debugger host is
connected. Windows XP and Windows Server 2003 also support debugging through accept IEEE
1394 ports. Examples: /DEBUGPORT=COM2, /DEBUGPORT=1394.
/EXECUTE
This option disables no-execute protection. See the /NOEXECUTE switch for more
information.
/FASTDETECT
Default boot option for Windows. Replaces the Windows NT 4 switch /NOSERIALMICE. The
reason the qualifier exists (vs. just having NTDETECT perform this operation by default)
is so that NTDETECT can support booting Windows NT 4. Windows Plug and Play device drivers
perform detection of parallel and serial devices, but Windows NT 4 expects NTDETECT to
perform the detection. Thus, specifying /FASTDETECT causes NTDETECT to skip parallel and
serial device enumeration (actions that are not required when booting Windows), whereas
omitting the switch causes NTDETECT to perform this enumeration (which is required for
booting Windows NT 4).
/INTAFFINITY
Directs the standard x86 multiprocessor HAL (Halmps.dll) to set interrupt affinities such
that only the highest numbered processor will receive interrupts. Without the switch, the
HAL defaults to its normal behavior of letting all processors receive interrupts.
/KERNEL=
/HAL=
Enable you to override Ntldr's default filename for the kernel image (Ntoskrnl.exe) and/or
the HAL (Hal.dll). These options are useful for alternating between a checked kernel
environment and a free (retail) kernel environment or even to manually select a different
HAL. If you want to boot a checked environment that consists solely of the checked kernel
and HAL, which is typically all that is needed to test drivers, follow these steps on a
system installed with the free build:
Copy the checked versions of the kernel images from the checked build CD to your
\Windows\System32 directory, giving the images different names than the default. For
example, if you're on a uniprocessor, copy Ntoskrnl.exe to Ntoschk.exe and Ntkrnlpa.exe to
Ntoschkpa.exe. If you're on a multiprocessor, copy Ntkrnlmp.exe to Ntoschk.exe and
Ntkrpamp.exe to Ntoschkpa.exe. The kernel filename must be an 8.3-style short name.
Copy the checked version of the appropriate HAL needed for your system from \I386
\Driver.cab on the checked build CD to your \Windows\System32 directory, naming it
Halchk.dll. To determine which HAL to copy, open \Windows\Repair\Setup.log and search for
Hal.dll; you'll find a line like \WINDOWS\system32\ hal.dll="halacpi.dll","1d8a1". The
name immediately to the right of the equals sign is the name of the HAL you should copy.
The HAL filename must be an 8.3-style short name.
Make a copy of the default line in the system's Boot.ini file.
In the string description of the boot selection, add something that indicates that the new
selection will be for a checked build environment (for example, "Windows XP Professional
Checked").
Add the following to the end of the new selection's line: /KERNEL=NTOSCHK.EXE /HAL=
HALCHK.DLL
Now when the selection menu appears during the boot process you can select the new entry
to boot a checked environment or select the entry you were using to boot the free build.
/LASTKNOWNGOOD
Causes the system to boot as if the LastKnownGood boot option was selected.
/MAXMEM=
Limits Windows to ignore (not use) physical memory beyond the amount indicated. The number
is interpreted in megabytes. Example: /MAXMEM=32 would limit the system to using the first
32 MB of physical memory even if more were present.
/MAXPROCSPERCLUSTER=
For the standard x86 multiprocessor HAL (Halmps.dll), forces cluster-mode Advanced
Programmable Interrupt Controller (APIC) addressing (not supported on systems with an
82489DX external APIC interrupt controller).
/MININT
This option is used by Windows PE (Preinstallation Environment) and causes the
Configuration Manager to load the Registry SYSTEM hive as a volatile hive such that
changes made to it in memory are not saved back to the hive image.
/NODEBUG
Prevents kernel-mode debugging from being initialized. Overrides the specification of any
of the three debug-related switches, /DEBUG, /DEBUGPORT, and /BAUDRATE.
/NOEXECUTE
This option is only available on 32-bit versions of Windows when running on processors
supporting no-execute protection. It enables no-execute protection (also known as Data
Execution Protection - DEP), which results in the Memory Manager marking pages containing
data as no-execute so that they cannot be executed as code. This can be useful for
preventing malicious code from exploiting buffer overflow bugs with unexpected program
input in order to execute arbitrary code. No-execute protection is always enabled on 64-
bit versions of Windows on processors that support no-execute protection. There are
several options you can specify with this switch:
/NOEXECUTE=OPTIN Enables DEP for core system images and those specified in the DEP configuration dialog.
/NOEXECUTE=OPTOUT Enables DEP for all images except those specified in the DEP
configuration dialog.
/NOEXECUTE=ALWAYSON Enables DEP on all images.
/NOEXECUTE=ALWAYSOFF Disables DEP.
/NOGUIBOOT
Instructs Windows not to initialize the VGA video driver responsible for presenting
bitmapped graphics during the boot process. The driver is used to display boot progress
information, so disabling it will disable the ability of Windows to show this information.
/NOLOWMEM
Requires that the /PAE switch be present and that the system have more than 4 GB of
physical memory. If these conditions are met, the PAE-enabled version of the Windows
kernel, Ntkrnlpa.exe, won't use the first 4 GB of physical memory. Instead, it will load
all applications and device drivers, and allocate all memory pools, from above that
boundary. This switch is useful only to test device driver compatibility with large memory
systems.
/NOPAE
Forces Ntldr to load the non-Physical Address Extension (PAE) version of the Windows
kernel, even if the system is detected as supporting x86 PAEs and has more than 4 GB of
physical memory.
/NOSERIALMICE=[COMx | COMx,y,z...]
Obsolete Windows NT 4 qualifier - replaced by the absence of the /FASTDETECT switch.
Disables serial mouse detection of the specified COM ports. This switch was used if you
had a device other than a mouse attached to a serial port during the startup sequence.
Using /NOSERIALMICE without specifying a COM port disables serial mouse detection on all
COM ports. See Microsoft Knowledge Base article Q131976 for more information.
/NUMPROC=
Specifies the number of CPUs that can be used on a multiprocessor system.
Example: /NUMPROC=2 on a four-way system will prevent Windows from using two of the four
processors.
/ONECPU
Causes Windows to use only one CPU on a multiprocessor system.
/PAE
Causes Ntldr to load Ntkrnlpa.exe, which is the version of the x86 kernel that is able to
take advantage of x86 PAEs. The PAE version of the kernel presents 64-bit physical
addresses to device drivers, so this switch is helpful for testing device driver support
for large memory systems.
/PCILOCK
Stops Windows from dynamically assigning IO/IRQ resources to PCI devices and leaves the
devices configured by the BIOS. See Microsoft Knowledge Base article Q148501 for more
information.
/RDPATH=
Specifies the path to a System Disk Image (SDI) file, which can be on the network, that
the system will use to boot from. Often used in conjunction with the /RDIMAGEOFFSET= flag
to indicate to NTLDR where in the file the system image starts.
/REDIRECT
Introduced with Windows XP. Used to cause Windows to enable Emergency Management Services
(EMS) that reports boot information and accepts system management commands through a
serial port. Specify serial port and baudrate used in conjunction with EMS with redirect=
and redirectbaudrate= lines in the [boot loader] section of the Boot.ini file.
/SAFEBOOT:
Specifies options for a safe boot. You should never have to specify this option manually,
since Ntldr specifies it for you when you use the F8 menu to perform a safe boot. (A safe
boot is a boot in which Windows only loads drivers and services that are specified by name
or group under the Minimal or Network registry keys under
HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot.) Following the colon in the option you
must specify one of three additional switches: MINIMAL, NETWORK, or DSREPAIR. The MINIMAL
and NETWORK flags correspond to safe boot with no network and safe boot with network
support, respectively. The DSREPAIR (Directory Services Repair) switch causes Windows to
boot into a mode in which it restores the Active Directory directory service from a backup
medium you present. An additional option you can append is (ALTERNATESHELL), which tells
Windows to use the program specified by the HKLM\SYSTEM\CurrentControlSet\
SafeBoot\AlternateShell value as the graphical shell rather than to use the default, which
is Windows Explorer.
/SCSIORDINAL:
Directs Windows to the SCSI ID of the controller. (Adding a new SCSI device to a system
with an on-board SCSI controller can cause the controller's SCSI ID to change.) See
Microsoft Knowledge Base article Q103625 for more information.
/SDIBOOT=
Used in Windows XP Embedded systems to have Windows boot from a RAM disk image stored in
the specified System Disk Image (SDI) file.
/SOS
Causes Windows to list the device drivers marked to load at boot time and then to display
the system version number (including the build number), amount of physical memory, and
number of processors.
/TIMERES=
Sets the resolution of the system timer on the standard x86 multiprocessor HAL
(Halmps.dll). The argument is a number interpreted in hundreds of nanoseconds, but the
rate is set to the closest resolution the HAL supports that isn't larger than the one
requested. The HAL supports the following resolutions:
Hundreds of nanoseconds Milliseconds (ms)
9766 0.98
19532 2.00
39063 3.90
78125 7.80
The default resolution is 7.8 ms. The system timer resolution affects the resolution of
waitable timers. Example: /TIMERES=21000 would set the timer to a resolution of 2.0 ms.
/USERVA=
This switch is only supported on Windows XP and Windows Server 2003. Like the /3GB switch,
this switch gives applications a larger address space. Specify the amount in MB between
2048 and 3072. This switch has the same application requirements as the /3GB switch and
requires that the /3GB switch be present. Applies to 32-bit systems only.
/WIN95
Directs Ntldr to boot the Consumer Windows boot sector stored in Bootsect.w40. This switch
is pertinent only on a triple-boot system that has MS-DOS, Consumer Windows, and Windows
installed. See Microsoft Knowledge Base article Q157992 for more information.
/WIN95DOS
Directs Ntldr to boot the MS-DOS boot sector stored in Bootsect.dos. This switch is
pertinent only on a triple-boot system that has MS-DOS, Consumer Windows, and Windows
installed. See Microsoft Knowledge Base article Q157992 for more information.
/YEAR=
Instructs the Windows core time function to ignore the year that the computer's real-time
clock reports and instead use the one indicated. Thus, the year used in the switch affects
every piece of software on the system, including the Windows kernel. Example: /YEAR=2001.
(This switch was created to assist in Y2K testing.)
References
==========
[1] http://www.sysinternals.com/Information/bootini.html