Line-by-Line Driver Loading in Windows XP
While earlier operating systems like Windows 95 and Windows 98
featured an interactive "Step-by-Step Confirmation" boot option that
prompted users with a yes-or-no choice for every driver, Windows XP did
not include this exact feature due to its Windows NT architecture.
Instead, Windows XP handled line-by-line driver loading and
troubleshooting through diagnostic mechanisms such as the
/SOS boot switch, Safe Mode, the Boot Logging option, and
the Recovery Console. This article explains how driver confirmation
worked historically and how to achieve line-by-line driver monitoring
and isolation in Windows XP.
The Legacy "Step-by-Step Confirmation" Mode
In MS-DOS and the Windows 9x family (Windows 95, 98, and Millennium Edition), pressing F8 during boot opened the Windows Startup Menu. Option 5 on that menu was Step-by-Step Confirmation.
When selected, this mode prompted the user with [Y/N]
confirmation prompts for:
- Every command in
CONFIG.SYS - Every command in
AUTOEXEC.BAT - Windows core components (
WIN.COM) - Registry-driven hardware device drivers
This granular control allowed users to skip a corrupt or conflicting driver directly in real-time during startup.
Why Windows XP Removed Step-by-Step Confirmation
Windows XP was built on the Windows NT kernel (version 5.1), which
entirely decoupled the operating system from MS-DOS. In Windows NT
architecture, device drivers are categorized by their startup priority
in the Windows Registry under
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services with
specific Start values:
- 0 (Boot): Loaded by the boot loader
(
NTLDR). - 1 (System): Loaded by the kernel during initialization.
- 2 (Automatic): Loaded by the Service Control Manager.
- 3 (Manual): Loaded on demand.
- 4 (Disabled): Not loaded.
Because the kernel initializes critical boot drivers automatically in parallel or rapid succession, Windows XP did not offer an interactive, prompt-based pause for each individual file.
How to Achieve Line-by-Line Driver Loading in Windows XP
To diagnose failing drivers during the Windows XP boot sequence, administrators used the following built-in tools:
1. The
/SOS Switch (Visual Line-by-Line Display)
The closest visual equivalent to step-by-step loading in Windows XP
is the /SOS switch. By default, Windows XP displays a
graphical splash screen that hides driver names. Enabling
/SOS replaces this screen with a text display showing each
system driver as it loads into memory.
To enable it:
- Open the hidden
boot.inifile located on the root directory (usuallyC:\boot.ini). - Locate the default boot entry under
[operating systems]. - Append
/SOSto the end of the line (e.g.,multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /sos). - Save the file and restart.
During boot, Windows XP displays the full file path of each driver
(e.g., C:\WINDOWS\system32\drivers\ACPI.sys) line by line.
If the system crashes or freezes, the last visible file on screen
identifies the offending driver.
2. Safe Mode
Accessing the Advanced Options Menu (pressing F8 immediately before the Windows XP boot screen appears) provides Safe Mode. Safe Mode loads only the core drivers required to reach the desktop and visually outputs the loaded driver files line by line on the screen during startup.
3. Enable Boot Logging
Also located on the F8 Advanced Options Menu, Enable Boot Logging writes the initialization status of every driver line by line into a plain-text file.
- The output is stored at
C:\WINDOWS\ntbtlog.txt. - The log lists entries as either
Loaded driver \SystemRoot\System32\Drivers\...orDid not load driver \SystemRoot\System32\Drivers\.... - This allows users to inspect which driver failed after booting into Safe Mode or using an alternate installation.
4. The Recovery Console (Manual Step-by-Step Control)
When a driver consistently prevented Windows XP from starting, the manual equivalent of the step-by-step skipping process was managed via the Recovery Console:
- Boot from the Windows XP installation CD and press R to open the Recovery Console.
- Run the
listsvccommand to view all services and device drivers along with their current startup type. - Use the
disable <driver_name>command to prevent a suspected driver from loading on the next boot. - Restart the system to test stability without the problematic driver.