set_NT_DEBUG_1394_CHANNEL=x
kd -k
4. Move to the folder where you installed the kernel debugger, and then type the following command:
kd.exe
When you first start the debugger, a 1394 virtual driver is installed. This driver permits the debugger to communicate with the destination computer. You must be logged on with administrator rights for this driver installation to complete successfully.
/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
This switch loads the kernel debugger when you start the operating system. The switch remains inactive until a Stop message error occurs. /crashdebug is useful if you experience random kernel errors. With this switch, you can use the COM port for normal operations while Windows is running. If Windows crashes, the switch converts the port to a debug port. (This action turns on remote debugging.)
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
/debug
This switch turns on the kernel debugger when you start Windows. The switch can be activated at any time by a host debugger that is connected to the computer, if you want to turn on live remote debugging of a Windows system through the COM ports. Unlike the /crashdebug switch, /debug uses the COM port whether you are debugging or not. Use this switch when you are debugging problems that are regularly reproducible.
For additional information about remote debugging, click the following article number to view the article in the Microsoft Knowledge Base:
/debugport=comnumber
This switch specifies the communications port to use for the debug port, where number is the communications port, such as COM1, that you want to use. By default, /debugport uses COM2 if it exists. Otherwise, the switch uses COM1. If you include this switch in the Boot.ini file, the /debug switch becomes active.
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
/EXECUTE
This option disables no-execute protection. See the /NOEXECUTE switch for more information.
/fastdetect:comnumber
This switch turns off serial and bus mouse detection in the Ntdetect.com file for the specified port. Use this switch if you have a component other than a mouse that is attached to a serial port during the startup process. For example, type /fastdetect:comnumber, where number is the number of the serial port. Ports may be separated with commas to turn off more than one port. If you use /fastdetect, and you do not specify a communications port, serial mouse detection is turned off on all communications ports.
Note In earlier versions of Windows, including Windows NT 4.0, this switch was named /noserialmice.
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
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).
/HAL=filename
With this switch, you can define the actual hardware abstraction layer (HAL) that is loaded at startup. For example, type /HAL=halmps.dll to load the Halmps.dll in the System32 folder. This switch is useful to try out a different HAL before you rename the file to Hal.dll. This switch is also useful when you want to try to switch between starting in multiprocessor mode and starting in single processor mode. To do this, use this switch with the /kernel switch.
/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=filename
With this switch, you can define the actual kernel that is loaded at startup. For example, type /kernel=ntkrnlmp.exe to load the Ntkrnlmp.exe file in the System32 folder. With this switch, you can switch between a debug-enabled kernel that is full of debugging code and a regular kernel. 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 WindowsSystem32 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 I386Driver.cab on the checked build CD to your WindowsSystem32 directory, naming it Halchk.dll. To determine which HAL to copy, open WindowsRepairSetup.log and search for Hal.dll; you'll find a line like WINDOWSsystem32 hal.dll='halacpi.dll','1d8a1'. The name immediately to the right of the equals sign is the name of the HAL you