FREE THOUGHT · FREE SOFTWARE · FREE WORLD

Home  »  Windows  »  Custom Boot Menu in Windows XP

by 26 comments

One of the first things that I do upon receiving a new Windows computer is I create my own custom boot menu that shows up every time I boot my machine.

This is especially handy when you suspect a virus or a failed installation that corrupted your registry; you can reboot into safe mode and scan for it. It is easy to create a custom boot menu for yourself, and it is so worth it.
Jump ahead: 1, 2, 3, 4, 5, 6, 7, 8, 9


8-17-09 Update

Here's a useful windows batch script that removes the non-editable attributes, creates a backup copy, opens notepad to edit boot.ini, and when notepad is closed it re-attribs the data.

Save it in path like eboot.bat

@ECHO OFF && mode CON COLS=150 LINES=60 && color 0F && cls && setlocal
if NOT DEFINED USERNAME exit /B && if /i NOT "%USERNAME%" == "life" ( if NOT "%USERNAME%" == "administrator" exit /B )
 
set BF=%SYSTEMDRIVE%boot.ini
title Editing Boot.ini
attrib -H -R -S -A "%BF%"
attrib -H -R -A "%BF%.bak" && type "%BF%" >> "%BF%.bak" && attrib +H +R +A "%BF%.bak"
start /b /wait notepad "%BF%"
attrib +H +R +S +A "%BF%"
Windows NT has found only %dK of low memory.  512k of low memory
is required to run Windows NT.  You may need to upgrade your
computer or run a configuration program provided by the manufacturer.
Windows NT has not found enough extended memory.  7Mb of extended
memory is required to run Windows NT.  You may need to upgrade your
computer or run a configuration program provided by the manufacturer.
Memory Map:
    %lx - %lx
NTLDR is corrupt.  The system cannot boot.
NTLDR is corrupt.  The system cannot boot.
ax:%x dx:%x cx:%x bx:%x es:%x
 TRAP %lx
DEBUG TRAP
 ================== DOUBLE FAULT ================================
 ===== STACK SEGMENT OVERRUN or NOT PRESENT FAULT ===============
 ============== GENERAL PROTECTION FAULT ========================
 =================== PAGE FAULT =================================
** At linear address %lx
 ===================== EXCEPTION ================================
 tr=%x  cr0=%lx  cr2=%lx  cr3=%lx
 gdt limit=%x  base=%lx    idt limit=%x  base=%lx
 cs:eip=%x:%lx  ss:esp=%x:%lx  errcode=%x
 eax=%lx  ebx=%lx  ecx=%lx  edx=%lx
 ds=%x  es=%x
 edi=%lx  esi=%lx  ebp=%lx  cr0=%lx
 fs=%x  gs=%x
 flags=%lx
IntDis
TrapEn
TrapDis
Link %x
Esp0 %x
SS0  %x
Esp1 %lx
Cr3  %lx
Eip  %lx
Eflg %lx
Eax  %lx
Ebx  %lx
Ecx  %lx
Edx  %lx
Esp  %lx
Ebp  %lx
Esi  %lx
Edi  %lx
ES   %x
CS   %x
SS   %x
DS   %x
FS   %x
GS   %x
Ldt  %x
!This program cannot be run in DOS mode.
`PAGELK
`.rdata
PAGEDATA
PAGECONS
INITCONS
 
 NOLEGACY
ntdetect.com
ntdetect.com
i386ntdetect.com
InitializeMemory failed %lx
multi(0)disk(0)rdisk(0)partition(1)
multi(0)disk(0)rdisk(0)partition(%u)
Rebooting in 5 seconds...
Couldn't initialize I/O
Couldn't initialize memory
Couldn't allocate memory for TSS
Couldn't allocate memory for PCR
multi(0)disk(0)rdisk(0)partition(0)
multi(0)disk(0)cdrom(%u)
ramdisk(0)
multi(0)disk(0)fdisk(0)
*** Assertion failed %s in %s line %d
        LoaderMemoryData descriptor!
ERROR - FwAllocateHeapPermanent couldn't find the
Out of permanent heap!
Out of temporary heap!
GDT - %lx (%x)  IDT - %lx (%x)
ERROR - GDT and IDT are not contiguous!
ERROR - MempSetupPaging(%lx, %lx) failed
MempSetDescriptorRegion failed %lx
PXENV_GET_BINL_INFO(BINLREPLY) failed with %x
PXENV_GET_BINL_INFO(DHCPACK) failed with %x
ERROR - Unimplemented Firmware Vector called (FID %lx)
LastKnownGood
multi(0)disk(0)rdisk(1)partition(0)
multi(0)disk(0)rdisk(1)partition(%d)
multi(0)disk(0)rdisk(1)partition(1)
multi(0)disk(0)rdisk(0)partition(%d)
multi(0)disk(0)fdisk(1)partition(0)
multi(0)disk(0)fdisk(0)partition(0)
BlFindDiskSignature found no match for %s
multi(xxx)disk(xxx)rdisk(xxx)
NTBOOTDD.SYS
NTBOOTDD.SYS
restart   Restart the system immediately.
?        Display this message.
Invalid Command, use '?' for help.
restart
5.1.2600.5512
HalGetBusData: SlotDataSize > TotalDataSize
HalGetBusData: KeFindConfigurationEntry failed
scsi(%d)cdrom(%d)fdisk(%d)
scsi(%d)disk(%d)rdisk(%d)
scsi(%d)disk(%d)fdisk(%d)
scsi(%1d)
BuildRequest: Write Command
BuildRequest: Read Command
StartUnit: Enter routine
InterpretSenseInfo: Request sense info not valid
InterpretSenseInfo: Media changed
InterpretSenseInfo: Bus reset
InterpretSenseInfo: Unit attention
InterpretSenseInfo: Media write protected
InterpretSenseInfo: Command aborted
InterpretSenseInfo: Unrecognized sense code
InterpretSenseInfo: Illegal command
InterpretSenseInfo: Illegal block address
InterpretSenseInfo: Invalid LUN
InterpretSenseInfo: Music area
InterpretSenseInfo: Data area
InterpretSenseInfo: Volume overflow
InterpretSenseInfo: Illegal SCSI request
InterpretSenseInfo: No specific sense key
InterpretSenseInfo: In process of becoming ready
InterpretSenseInfo: Manual intervention required
InterpretSenseInfo: Format in progress
InterpretSenseInfo: Initializing command required
InterpretSenseInfo: Lun not ready
InterpretSenseInfo: Waiting for device
InterpretSenseInfo: Device not ready
InterpretSenseInfo: Bad media
InterpretSenseInfo: Hardware error
InterpretSenseInfo: Additional sense code qualifier is %x
InterpretSenseInfo: Additional sense code is %x
InterpretSenseInfo: Sense key is %x
InterpretSenseInfo: Error code is %x
ScsiDiskFilterBad:  Found Hitachi CDR-1750S.
HITACHI CDR-3650/1650S
HITACHI CDR-1750S
FilterBad: Enter routine
FindScsiDevices: Vendor string is %s
FindScsiDevices: Vendor string is %.24s
FindScsiDevices: Inquiry data at %lx
SCSI ReadDriveCapacity: Number of Sectors is %d
SCSI ReadDriveCapacity: Sector size is %d
SCSI ReadCapacity: Enter routine
partition
scsi(0)
signature
IoAllocateAdapterChannel:  Out of map registers.
IoAllocateAdapterChannel: Called while adapter in use.
bootstat.dat
hiberfil.sys
NTFS
EL TORITO SPECIFICATION
BOOTFONT.BIN
BOOTFONT.BIN
multi(0)video(0)monitor(0)
multi(0)key(0)keyboard(0)
eisa(0)disk(0)fdisk(1)
multi(0)disk(0)fdisk(1)
eisa(0)disk(0)fdisk(0)
eisa(0)disk(0)fdisk(1)partition(0)
eisa(0)disk(0)fdisk(0)partition(0)
RamdiskOpen: no file table entry available
RamdiskOpen: exit success
RamdiskOpen: not ramdisk 0
RamdiskOpen: not a ramdisk path
ramdisk
RamdiskMount called
RamdiskReadStatus called
RamdiskSetFileInfo called
RamdiskRename called
RamdiskGetDirectoryEntry called
RDIMAGELENGTH = 0x%0I64x bytes
RDIMAGEOFFSET = 0x%x bytes
RDCHUNKSIZE = 0x%0I64x bytes
RDFILESIZE = 0x%0I64x bytes
RDMTFTPTIMEOUT = %d
RDMTFTPDELAY = %d
RDMTFTPSPORT = %d
RDMTFTPCPORT = %d
RDMTFTPADDR = %u.%u.%u.%u
RDPATH = %s
RAMDISK options:
RDCHUNKSIZE
RDFILESIZE
RDMTFTPTIMEOUT
RDMTFTPDELAY
RDMTFTPSPORT
RDMTFTPCPORT
RDMTFTPADDR
RDIMAGELENGTH
RDIMAGEOFFSET
Unable to read RAM disk image: status %d count %x (wanted %x)
Unable to seek RAM disk image: %d
Done reading ramdisk
BlGetFileInformation(%s) failed: %d
BlOpen(%s) failed: %d
RomMtftpReadFile failed %d
MTFTP Download complete. 0x%I64x bytes transferred using %d sessions
MTFTP Session %d: %s from %u.%u.%u.%u sport=%d cport=%d offset=0x%I64x
Allocated %d pages at page %x for RAM disk
BlAllocateAlignedDescriptor(%d pages) failed: %d
Downloading Ramdisk using MTFTP. File Size=0x%I64x Chunk Size=0x%I64x
status from TftpGetPut 0x%x
calling TftpGetPut(%s,0x%x)
ArcOpen(%s) failed: %d
no  found in path
RamdiskReadImage(%s)
Ramdisk is active
RamdiskInitializeFromPath(%s)
RamdiskWrite entered
Mapped offset %x, va %p, availableLength %x
RamdiskRead: read beyond EOF
RamdiskRead: offset %x, length %x, buffer %p
keyboard
pointer
monitor
DeviceHarddisk
%s%s(%d)%s(%d)%s(%d)
DeviceFloppy
DeviceCDRom
%s%s(%d)%s(%d)
partition(0)
BD: %s base address %p
OS Loader
[%d;%dH
EFI PART
boot.bmp
CentaurHauls
GenuineTmx86
CyrixInstead
AuthenticAMD
GenuineIntel
DEBUGSTOP
BD: Boot Debugger Initialized
BAUDRATE
DEBUGPORT
NODEBUG
Boot Debugger Using: COM%d (Baud Rate %d)
File too big
Bad opcode received
Bad TFTP packet length
Timeout on receive
Unexpected port number
Block number greater than expected
Sorry, wasn't talking to you!
Bad TFTP options
blksize
%s: %s() failed 0x%lx
%s: OldBase     : %p
%s: NewBase     : %p
%s: Diff        : 0x%I64x
%s: NextOffset  : %p
%s: *NextOffset : 0x%x
%s: SizeOfBlock : 0x%lx
LdrRelocateImageWithBias
ENOTDIR
ENOEXEC
ENAMETOOLONG
operation was success
pagefile.sys
consolein
consoleout
partition(
%spartition(0)
signature(
AppPatch
SYSTEM
FONTS
system32
SYSTEM32CONFIGSYSTEM.SAV
system.sav
SYSTEM32CONFIGSYSTEM
system.alt
system32config
x86systempartition
hal.dll
ntoskrnl.exe
kdcom.dll
systempartition
system32
SystemRoot
LastGood
LastGood.Tmp
SDIBOOT=
osloadpartition
LASTKNOWNGOOD
osloadfilename
osloader
xipmegs=
XIPMEGS=
xipram=
XIPRAM=
xiprom=
XIPROM=
xipboot
XIPBOOT
debugport=
DEBUGPORT=
KERNEL=
execute
EXECUTE
noexecute
NOEXECUTE
noexecute=alwaysoff
NOEXECUTE=ALWAYSOFF
BOOTLOGO
SAFEBOOT
osloadoptions
x86systempartition=
osloadoptions=
osloadfilename=
osloadpartition=
systempartition=
System32NTLDR
osloader=
boot.ini
boot.ini
/fastdetect
consoleout=multi(0)video(0)monitor(0)
consolein=multi(0)key(0)keyboard(0)
Couldn't open drive %s
ntkrnlpa.exe
Bad ProductType value
Missing ProductType value
Missing ProductOptions key
Missing Control key
CmpResolveDriverDependencies
Missing or invalid ControlServiceGroupOrderList registry value
CmpFindDriver
CmpFindNLSData
CmpFindControlSet
system.log
%s %s %s
LastBootStatus=%d
SAFEBOOT:DSREPAIR SOS
BASEVIDEO
BOOTLOG
SAFEBOOT:MINIMAL(ALTERNATESHELL) SOS BOOTLOG NOGUIBOOT
SAFEBOOT:NETWORK SOS BOOTLOG NOGUIBOOT
SAFEBOOT:MINIMAL SOS BOOTLOG NOGUIBOOT
CRASHDEBUG
/WIN95DOS
/MAXMEM
/REDIRECT
/SCSIORDINAL:
ROLLBACK
cmdcons
bootsect.dos
autoexec
winboot.sys
command
default
usebiossettings
redirect
redirectbaudrate
timeout
DefSwitches
[operating systems]
[multiboot]
[flexboot]
[boot loader]
C:windows
C:winnt
BlAllocateDescriptor failed!
Couldn't allocate PCR descriptor in NtProcessStartup,BlSetupForNt is failing
Couldn't allocate valid TSS descriptor in NtProcessStartup, BlSetupForNt is failing
0123456789ABCDEF0
osloader.EXE
RtlAssert
ScsiDebugPrint
ScsiPortCompleteRequest
ScsiPortConvertPhysicalAddressToUlong
ScsiPortConvertUlongToPhysicalAddress
ScsiPortFlushDma
ScsiPortFreeDeviceBase
ScsiPortGetBusData
ScsiPortGetDeviceBase
ScsiPortGetLogicalUnit
ScsiPortGetPhysicalAddress
ScsiPortGetSrb
ScsiPortGetUncachedExtension
ScsiPortGetVirtualAddress
ScsiPortInitialize
ScsiPortIoMapTransfer
ScsiPortLogError
ScsiPortMoveMemory
ScsiPortNotification
ScsiPortQuerySystemTime
ScsiPortReadPortBufferUchar
ScsiPortReadPortBufferUlong
ScsiPortReadPortBufferUshort
ScsiPortReadPortUchar
ScsiPortReadPortUlong
ScsiPortReadPortUshort
ScsiPortReadRegisterBufferUchar
ScsiPortReadRegisterBufferUlong
ScsiPortReadRegisterBufferUshort
ScsiPortReadRegisterUchar
ScsiPortReadRegisterUlong
ScsiPortReadRegisterUshort
ScsiPortSetBusDataByOffset
ScsiPortStallExecution
ScsiPortValidateRange
ScsiPortWritePortBufferUchar
ScsiPortWritePortBufferUlong
ScsiPortWritePortBufferUshort
ScsiPortWritePortUchar
ScsiPortWritePortUlong
ScsiPortWritePortUshort
ScsiPortWriteRegisterBufferUchar
ScsiPortWriteRegisterBufferUlong
ScsiPortWriteRegisterBufferUshort
ScsiPortWriteRegisterUchar
ScsiPortWriteRegisterUlong
ScsiPortWriteRegisterUshort
osloader.pdb
bootbldrdaytonaobji386osloader.pdb
 
OS Loader V5.10
osloader.exe
ntoskrnl.exe
hal.dll
KDCOM.DLL
hiberfil.sys
 
unsupporteddebug
 
BL_MSG_FIRST
Windows could not start because of an error in the software.
Please report this problem as :
Windows could not start because the following file was not found
and is required :
Windows could not start because of a bad copy of the
following file :
Windows could not start because the following file is missing
or corrupt:
Windows could not start because of a hardware memory
configuration problem.
Windows could not start because of a computer disk hardware
configuration problem.
Windows could not start because of a general computer hardware
configuration problem.
Windows could not start because of the following ARC firmware
boot configuration problem :
Check hardware memory configuration and amount of RAM.
Too many configuration entries.
Could not access disk partition tables
The 'osloadpartition' parameter setting is invalid.
Could not read from the selected boot disk.  Check boot path
and disk hardware.
The 'systempartition' parameter setting is invalid.
Could not read from the selected system boot disk.
Check 'systempartition' path.
The 'osloadfilename' parameter does not point to a valid file.
<windows root>system32ntoskrnl.exe.
The 'osloader' parameter does not point to a valid file.
<windows root>system32hal.dll.
'osloader'hal.dll
Loader error 1.
Loader error 2.
load needed DLLs for kernel.
load needed DLLs for HAL.
find system drivers.
read system drivers.
did not load system boot device driver.
load system hardware configuration file.
find system partition name device name.
find boot partition name.
did not properly generate ARC name for HAL and system paths.
Loader error 3.
<windows root>system32ntoskrnl.exe
Please contact your support person to report this problem.
You can attempt to repair this file by starting Windows Setup
using the original Setup CD-ROM.
Select 'r' at the first screen to start repair.
Please re-install a copy of the above file.
Please check the Windows documentation about hardware memory
requirements and your hardware reference manuals for
additional information.
Please check the Windows documentation about hardware disk
configuration and your hardware reference manuals for
additional information.
Please check the Windows documentation about hardware
configuration and your hardware reference manuals for additional
information.
Please check the Windows documentation about ARC configuration
options and your hardware reference manuals for additional
information.
     Hardware Profile/Configuration Recovery Menu
This menu allows you to select a hardware profile
to be used when Windows is started.
If your system is not starting correctly, then you may switch to a
previous system configuration, which may overcome startup problems.
IMPORTANT: System configuration changes made since the last successful
startup will be discarded.
Use the up and down arrow keys to move the highlight
to the selection you want. Then press ENTER.
No hardware profiles are currently defined. Hardware profiles
can be created from the System applet of the control panel.
To switch to the Last Known Good configuration, press 'L'.
To Exit this menu and restart your computer, press F3.
To switch to the default configuration, press 'D'.
To Exit this menu and restart your computer, press F3.
Seconds until highlighted choice will be started automatically: %d
Press spacebar NOW to invoke Hardware Profile/Last Known Good menu
Boot default hardware configuration
The system is being restarted from its previous location.
Press the spacebar to interrupt.
The system could not be restarted from its previous location
due to no memory.
because the restoration image is corrupt.
because the restoration image is not compatible with the current
configuration.
due to an internal error.
due to an internal error.
due to a read failure.
System restart has been paused:
Delete restoration data and proceed to system boot menu
Continue with system restart
The last attempt to restart the system from its previous location
failed.  Attempt to restart again?
Continue with debug breakpoint on system wake
Windows could not start because the specified kernel does
not exist or is not compatible with this processor.
Starting Windows...
Resuming Windows...
Windows could not start because there was an error reading
the boot settings from NVRAM.
Please check your firmware settings.  You may need to restore your
NVRAM settings from a backup.
 [debugger enabled]
Windows (default)
NTLDR: BOOT.INI file not found.
NTLDR: no [operating systems] section in boot.txt.
Booting default kernel from %s.
Please select the operating system to start:
Use the up and down arrow keys to move the highlight to your choice.
Press ENTER to choose.
Seconds until highlighted choice will be started automatically:
Invalid BOOT.INI file
Booting from %s
I/O Error accessing boot sector file
%sBOOTSECT.DOS
NTLDR: Couldn't open drive %s
NTLDR: Fatal Error %d reading BOOT.INI
NTDETECT V5.0 Checking Hardware ...
NTDETECT failed
Current Selection:
  Title..: %s
  Path...: %s
  Options: %s
Enter new load options:
 [EMS enabled]
Invalid BOOT.INI file
Windows Advanced Options Menu
Please select an option:
Safe Mode
Safe Mode with Networking
Step-by-Step Confirmation Mode
Safe Mode with Command Prompt
VGA Mode
Directory Services Restore Mode (Windows domain controllers only)
Last Known Good Configuration (your most recent settings that worked)
Debugging Mode
Disable automatic restart on system failure
Enable Boot Logging
For troubleshooting and advanced startup options for Windows, press F8.
Enable VGA Mode
Press ESCAPE to disable safeboot and boot normally.
Start Windows Normally
Return to OS Choices Menu
We apologize for the inconvenience, but Windows did not start successfully.  A
recent hardware or software change might have caused this.
If your computer stopped responding, restarted unexpectedly, or was
automatically shut down to protect your files and folders, choose Last Known
Good Configuration to revert to the most recent settings that worked.
If a previous startup attempt was interrupted due to a power failure or because
the Power or Reset button was pressed, or if you aren't sure what caused the
problem, choose Start Windows Normally.
Windows was not shutdown successfully.  If this was due to the system not
responding, or if the system shutdown to protect data, you might be able to
recover by choosing one of the Safe Mode configurations from the menu below:
Seconds until Windows starts:
Windows could not start due to an error while booting from a RAMDISK.
Windows failed to open the RAMDISK image.
Loading RAMDISK image...

Install Recovery Console as boot menu option

Loading Video

You definately should install the Recovery Console as a boot option in case you experience any problems later. The Recovery Console lets you repair a damaged or non-booting windows installation.

  1. Log in as administrator, insert the Windows XP Setup CD into your CD-ROM drive.
  2. Go to Start->Run->
  3. Type D:i386winnt32.exe /cmdcons where D: is CD-ROM drive
  4. Reboot.

Configure Automatic Administrator Logon for Recovery Console

Complete the following steps while logged on with administrative credentials:

  1. Go to Start->Run->
  2. Type %SystemRoot%system32secpol.msc /s
  3. Click Local Policies, and then click Security Options.
  4. Double-click the Recovery Console: Allow automatic administrative logon policy, and set it to Enabled.

From now on when you start Recovery Console, you are not prompted for a password!


Loading Video

To see the commands available on the Recovery Console, type help from within the Recovery Console. If your computer will not start, you can run the Recovery Console from the Setup CD.

Make Recovery Console more Powerful: - How to add more power to Recovery Console by using Group Policy in Windows XP Professional


NOTE: Now we are ready to create our custom boot menu configuration file.. Be very cautious when editing your boot.ini file as a mistake can disable your computer from booting!


Create Custom Boot Menu

First we allow access to the file that controls the boot menu using attrib, then we create a backup of the original boot.ini, next we edit the boot.ini file, and finally we reset the access on the file.

Loading Video

  1. Go to Start->Run->
  2. Type %COMSPEC% /K "cd %SYSTEMDRIVE%"
  3. Type attrib -H -S -A -R boot.ini
  4. Type copy boot.ini boot-orig.ini
  5. Type notepad boot.ini and edit the file, be sure to change the timeout from 30 to anything else.
  6. When finished editing, close notepad and return to the command shell.
  7. Type attrib +S +H +A +R boot.ini to return the boot.ini file attributes to normal.
  8. Type bootcfg /Query to check your boot.ini file for errors.
  9. Reboot and check out your new custom boot menu!

Example boot.ini (mine)

[boot loader]
timeout=24
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="XP Pro Normal" /fastdetect /noexecute=optin /numproc=2
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Safe Mode" /safeboot:minimal /sos /bootlog /noguiboot
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Safe Mode Networking" /safeboot:network /sos /bootlog /noguiboot
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Safe Mode CMD Prompt" /safeboot:minimal(alternateshell) /sos /bootlog /noguiboot
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="XP Pro Debug" /debug /sos /basevideo /noguiboot /bootlog
C:CMDCONSBOOTSECT.DAT="Microsoft Windows Recovery Console" /cmdcons

Description of boot.ini

  • The timeout variable specifies how long Windows waits before choosing the default operating system.
  • The default variable specifies the default operating system.
  • The term scsi(0) means that the primary controller (that is frequently the only controller) is responsible for the device. If there are two SCSI controllers, and the disk is associated with the second controller, the controller is named scsi(1). If the system uses IDE, enhanced IDE (EIDE), or Enhanced Small Device Interface (ESDI) drives, or if the system uses a SCSI adapter that does not have a built-in BIOS, replace scsi with multi.

  • The term disk(0) refers to the SCSI logical unit (LUN) to use. This may be a separate disk, but most SCSI setups have only one LUN for each SCSI ID.
  • The term rdisk(0) refers to physical disk 1.
  • The term partition(1) is the partition on the first drive in the computer. If there are two partitions, partition C is partition(1) and partition D is partition(2).
  • A multi-boot parameter calls for checking the Winnt folder to start from a specified SCSI controller's disk and partition.
  • /NODEBUG specifies that no debugging information is being monitored. Debugging information is useful only for developers.
  • You can add the /SOS option to display driver names while the drivers are being loaded. By default, the OS Loader screen only shows progress dots.
  • Previous Operating System on C: implies that the previous operating system is MS-DOS, because C: is an MS-DOS path.

Available switch options for the boot.ini file

  1. /basevideo
  2. /baudrate=number
  3. /crashdebug
  4. /debug
  5. /debugport=comnumber
  6. /maxmem=number
  7. /noguiboot
  8. /nodebug
  9. /numproc=number
  10. /pcilock
  11. /fastdetect:comnumber
  12. /sos
  13. /PAE
  14. /HAL=filename
  15. /kernel=filename
  16. /bootlog
  17. /burnmemory=number
  18. /3GB
  19. /safeboot:
  20. /NoSerialMice
  21. /userva
  22. /redirect
  23. /channel

NOTE: More detailed info on page 2

Using the BOOTCFG command

This command line tool can be used to configure, query, change or delete the boot entry settings in the BOOT.INI file.

BOOTCFG /parameter [arguments] -

Parameter List

  • /Copy Makes a copy of an existing boot entry [operating systems] section for which you can add OS options to.
  • /Delete Deletes an existing boot entry in the [operating systems] section of the BOOT.INI file. You must specify the entry# to delete.
  • /Query Displays the current boot entries and their settings.
  • /Raw Allows the user to specify any switch options to be added for a specified boot entry.
  • /Timeout Allows the user to change the Timeout value.
  • /Default Allows the user to change the Default boot entry.
  • /EMS Allows the user to configure the /redirect switch for headless support for a boot entry.
  • /Debug Allows the user to specify the port and baudrate for remote debugging for a specified boot entry.
  • /Addsw Allows the user to add predefined switches for a specific boot entry.
  • /Rmsw Allows the user to remove predefined switches for a specific boot entry.
  • /Dbg1394 Allows the user to configure 1394 port debugging for a specified boot entry.
  • /? Displays this help/usage.

Examples

  • BOOTCFG /Copy /?
  • BOOTCFG /Delete /?
  • BOOTCFG /Query /?
  • BOOTCFG /Raw /?
  • BOOTCFG /Timeout /?
  • BOOTCFG /EMS /?
  • BOOTCFG /Debug /?
  • BOOTCFG /Addsw /?
  • BOOTCFG /Rmsw /?
  • BOOTCFG /Dbg1394 /?
  • BOOTCFG /Default /?
  • BOOTCFG /?

BOOTCFG parameters

  1. /s Computer Specifies the name or IP address of a remote computer (do not use backslashes). The default is the local computer.
  2. /u DomainUser Runs the command with the account permissions of the user specified by User or DomainUser. The default is the permissions of the current logged on user on the computer issuing the command.
  3. /p Password Specifies the password of the user account that is specified in the /u parameter.
  4. /id OSEntryLineNum Specifies the operating system entry line number in the [operating systems] section of the Boot.ini file to which the operating system load options are added. The first line after the [operating systems] section header is 1.

My bootcfg results

C:>bootcfg /Query
 
Boot Loader Settings
--------------------
timeout: 24
default: multi(0)disk(0)rdisk(0)partition(1)WINDOWS
 
Boot Entries
------------
Boot entry ID:   1
Friendly Name:   "XP Pro Normal"
Path:            multi(0)disk(0)rdisk(0)partition(1)WINDOWS
OS Load Options: /fastdetect /noexecute=optin /numproc=2
 
Boot entry ID:   2
Friendly Name:   "Safe Mode"
Path:            multi(0)disk(0)rdisk(0)partition(1)WINDOWS
OS Load Options: /safeboot:minimal /sos /bootlog /noguiboot
 
Boot entry ID:   3
Friendly Name:   "Safe Mode Networking"
Path:            multi(0)disk(0)rdisk(0)partition(1)WINDOWS
OS Load Options: /safeboot:network /sos /bootlog /noguiboot
 
Boot entry ID:   4
Friendly Name:   "Safe Mode CMD Prompt"
Path:            multi(0)disk(0)rdisk(0)partition(1)WINDOWS
OS Load Options: /safeboot:minimal(alternateshell) /sos /bootlog /noguiboot
 
Boot entry ID:   5
Friendly Name:   "XP Pro Debug"
Path:            multi(0)disk(0)rdisk(0)partition(1)WINDOWS
OS Load Options: /debug /sos /basevideo /noguiboot /bootlog
 
Boot entry ID:   6
Friendly Name:   "Microsoft Windows Recovery Console"
Path:            C:CMDCONSBOOTSECT.DAT
OS Load Options: /cmdcons

Accessing the safe mode advanced boot menu

  1. Remove all floppy disks and CDs from your computer, and restart your computer.

  2. Press F8 when prompted.

    NOTE: If Windows XP Professional starts without displaying the menu shown above, restart your computer. Press F8 after the firmware POST process completes but before Windows XP displays graphical output like the image on the right.

If you can't boot windows or recovery console after you edit the boot.ini

Start the computer from the Windows XP CD, start the Recovery Console, and then use the Bootcfg.exe tool to rebuild the Boot.ini file. To do this, follow these steps:

  1. Configure the computers bios to boot from the CD-ROM or DVD-ROM drive.
  2. Insert the Windows XP CD-ROM into your CD-ROM or DVD-ROM drive, and then restart your computer.
  3. When you receive the "Press any key to boot from CD" message, press a key to start your computer from the Windows XP CD-ROM.
  4. When you receive the "Welcome to Setup" message, press R to start the Recovery Console.
  5. If you have a dual-boot or multiple-boot computer, select the installation that you have to use from the Recovery Console.
  6. When you are prompted, type the administrator password, and then press ENTER.
  7. At the command prompt, type bootcfg /list, and then press ENTER. The entries in your current Boot.ini file appear on the screen.
  8. At the command prompt, type bootcfg /rebuild, and then press ENTER. This command scans the hard disks of the computer for Windows XP, Microsoft Windows 2000, or Microsoft Windows NT installations, and then displays the results. Follow the instructions that appear on the screen to add the Windows installations to the Boot.ini file. For example, follow these steps to add a Windows XP installation to the Boot.ini file:
  • When you receive a message that is similar to the following message, press Y:
  • Total Identified Windows Installs: 1
     
    [1] C:Windows
    Add installation to boot list? (Yes/No/All)
  1. You receive a message that is similar to the following message: Enter Load Identifier
    This is the name of the operating system. When you receive this message, type the name of your operating system, and then press ENTER. This is either Microsoft Windows XP Professional or Microsoft Windows XP Home Edition.
  2. You receive a message that is similar to the following:
  3. Enter OS Load options
  4. When you receive this message, type /fastdetect, and then press ENTER.
    NOTE: The instructions that appear on your screen may be different, depending on the configuration of your computer.

  • Type exit, and then press ENTER to quit Recovery Console. Your computer restarts, and the updated boot list appears when you receive the "Please select the operating system to start" message.

How to Hide Boot.ini Entries from Displaying

You can hide additional installations of Windows from being displayed in the boot menu, but still gain access to them when you need to.

To hide menu items from the Boot.ini file, so they will not be accessible:

  1. Remove the read-only attribute from the Boot.ini file.
  2. Use an editor to edit the Boot.ini file.
  3. Place the following entry above the lines you want hidden:
    [any text].
    This will hide all entries below the [any text] heading.
  4. To restore the entry and make it accessible again, remove the [any text] line.
  5. Save the file and reapply the read-only attribute.
  6. Restart your computer.

For example, the 3 bottom entries below will not be displayed or accessible the next time the system is restarted. Simply remove [any text] to gain access to this installation.

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)NT351SVR
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)NT351SVR="NT Server 3.51"
multi(0)disk(0)rdisk(0)partition(1)NT351SVR="NT Server 3.51 [VGA mode]" /basevideo /sos
[any text]
multi(0)disk(0)rdisk(0)partition(1)WINNT35="NT Wks 3.51"
multi(0)disk(0)rdisk(0)partition(1)WINNT35="NT Wks 3.51 [VGA mode]" /basevideo /sos
C:="MS-DOS"

Additional Info and Links


Boot.ini Switches

You can add many different switches to the Boot.ini file that will modify the way that Microsoft Windows starts.

  1. /basevideo The /basevideo switch forces the system into standard 640x480 16-color VGA mode by using a video driver that is compatible with any video adapter. This switch permits the system to load if you select the wrong video resolution or the wrong refresh rate. Use this switch in conjunction with the /sos switch. If you install a new video driver, and it does not work correctly, you can select the Windows 2000 entry with this switch to start the computer and to change to a different driver.
  2. /baudrate=number This switch sets the baud rate of the debug port that is used for kernel debugging. The default baud rate is 9600 kilobits per second (Kbps) if a modem is attached. The default baud rate is 19200 Kbps for a null-modem cable. 9,600 is the normal rate for remote debugging over a modem. For example, type /baudrate=9600 to specify a baud rate of 9600. If this switch is in the Boot.ini file, the /debug switch is automatically enabled.
  3. /crashdebug This switch turns on the COM port for debugging when Windows 2000 crashes. /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.)
  4. /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 reproducible.
  5. /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. For example, type /debugport=com1, where the com port is COM1. 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.
  6. /maxmem=number This switch specifies the maximum amount of RAM that Windows can use. Do not make this setting less than 12. Use this parameter to confirm whether a memory chip is faulty.
  7. /nodebug This switch turns off debugging. This switch can cause a Stop error if a program has a debug hardcoded breakpoint in its software.
  8. /numproc=number This switch sets the number of processors that Windows will run at startup. With this switch, you can force a multiprocessor system to use only the quantity of processors (number) that you specify. This switch can help you troubleshoot performance problems and defective CPUs.
  9. /pcilock For x86-based systems, this switch stops the operating system from dynamically assigning hardware input, hardware output, and interrupt request resources to Peripheral Connect Interface (PCI) devices. With this switch, the BIOS configures the devices. NOTE: In earlier versions of Windows, including Windows NT 4.0, this switch was named /noserialmice.
  10. /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.
  11. This switch is also used with uninterruptible power supplies (UPS), such as those supplies from American Power Conversion brand (APC), that connect to a serial port. If this switch is not available when Windows starts, and Windows tries to detect a mouse on this port, the UPS incorrectly starts its shutdown mode. NOTE: In earlier versions of Windows, including Windows NT 4.0, this switch was named /noserialmice.
  12. /sos The /sos switch displays the device driver names while they are being loaded. By default, the Windows Loader screen only echoes progress dots. Use this switch with the /basevideo switch to determine the driver that is triggering a failure.
  13. /PAE Use the /PAE switch with the corresponding entry in Boot.ini to permit a computer that supports physical address extension (PAE) mode to start normally. In Safe Mode, the computer starts by using normal kernels, even if the /PAE switch is specified.
  14. /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.
  15. /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.
  16. /bootlog This switch turns on boot logging to a file that is named systemrootNtbtlog.txt. For more information about boot logging, see Windows Help.
  17. /burnmemory=number This switch specifies the amount of memory, in megabytes, that Windows cannot use. Use this parameter to confirm a performance problem or other problems that are related to RAM depletion. For example, type /burnmemory=128 to reduce the physical memory that is available to Windows by 128 MB.
  18. /3GB With this switch, user mode programs can access 3 GB of memory instead of the usual 2 GB that Windows allocates to user mode programs. The switch moves the starting point of kernel memory to 3 GB. This switch is used only with Windows 2000 Server Enterprise Edition. Some configurations of Microsoft Exchange Server 2000 and Microsoft Windows 2000 Advanced Server may require this switch.
  19. /safeboot: This switch causes Windows to start in Safe Mode. This switch uses the following parameters:
    • /safeboot:minimal/sos/bootlog/noguiboot This switch starts Windows in Safe Mode.
    • /safeboot:network/sos/bootlog/noguiboot This switch starts Windows in Safe Mode with networking.
    • /safeboot:minimal(alternateshell)/sos/bootlog/noguiboot This switch starts Windows in Safe Mode with a command prompt.
    • /safeboot:dsrepair/sos On domain controllers only, this switch starts Windows in Directory Services Restore Mode.
  20. NOTE: The /sos,/bootlog, and/noguiboot switches are not required with any one of these settings, but the switches can help with troubleshooting. These switches are included if you press F8 and then select one of the modes.
  21. /userva Use this switch to customize the amount of memory that is allocated to processes when you use the /3GB switch. This switch permits more page table entry (PTE) kernel memory but still maintains almost 3 GB of process memory space. NOTE: Microsoft Product Support Services strongly recommends using a range of memory for the /USERVA switch that lies within the range of 2900-3030. This range is wide enough to provide a large enough pool of system page table entries for all currently observed issues. Usually a setting of /userva=2900 will provide close to the maximum available number of system page table entries possible.
  22. /redirect Use this switch to turn on Emergency Management Services (EMS) on a Windows Server 2003, Enterprise Edition-based computer. For additional information about EMS, search on "Emergency Management Services" in Windows Help and Support.

BOOTCFG addsw

Adds operating system load options for a specified operating system entry.

BOOTCFG /addsw [/s Computer [/u DomainUser /p Password]] [/mm MaximumRAM] [/bv] [/so] [/ng] /id OSEntryLineNum

Parameters

  1. /mm MaximumRAM Adds the /maxmem switch to the specified OSEntryLineNum and sets the maximum amount of RAM that the operating system can use.
  2. /bv Adds the /basevideo switch to the specified OSEntryLineNum, directing the operating system to use standard VGA mode for the installed video driver.
  3. /so Adds the /sos switch to the specified OSEntryLineNum, directing the operating system to display device driver names while they are being loaded.
  4. /ng Adds the /noguiboot switch to the specified OSEntryLineNum, disabling the Windows XP Professional progress bar that appears before the CTRL+ALT+DEL logon prompt.

Examples

BOOTCFG /addsw /mm 64 /id 2
BOOTCFG /addsw /so /id 3
BOOTCFG /addsw /so /ng /s srvmain /u hiropln /id 2
BOOTCFG /addsw /ng /id 2
BOOTCFG /addsw /mm 96 /ng /s srvmain /u maindomhiropln /p p@ssW23 /id 2

BOOTCFG copy

Makes another operating system instance copy, for which switches can be added.

Syntax

BOOTCFG /copy [/s Computer [/u DomainUser /p Password]] [/d Description] [/id OSEntryLineNum]

Parameters

  1. /d Description Specifies the description for the new operating system entry.

Examples

BOOTCFG /copy /d "ABC Server" /id 1
BOOTCFG /copy /s srvmain /u maindomhiropln /p p@ssW23 /d "Windows XP" /id 2
BOOTCFG /copy /u hiropln /p p@ssW23 /d "AB Ver 1.001" /id 2

BOOTCFG dbg1394

Configures 1394 port debugging for a specified operating system entry.

Syntax

BOOTCFG /dbg1394 {ON|OFF|EDIT} [/s Computer [/u DomainUser /p Password]] [/ch channel] /id OSEntryLineNum

Parameters

  1. ON|OFF|EDIT Specifies the value for 1394 port debugging. Value Description
    • ON Enables remote debugging support by adding the /dbg1394 switch to the specified OSEntryLineNum.
    • OFF Disables remote debugging support by removing the /dbg1394 switch from the specified OSEntryLineNum.
    • EDIT Allows changes to port and baud rate settings by changing the channel values associated with the /dbg1394 switch for the specified OSEntryLineNum.
  2. /ch channel Specifies the channel to use for debugging. Valid values are integers between 1 and 64. Do not use the /ch channel parameter if 1394 port debugging is being disabled.

Examples

BOOTCFG /dbg1394 /id 2
BOOTCFG /dbg1394 on /ch 1 /id 3
BOOTCFG /dbg1394 edit /ch 8 /id 2
BOOTCFG /s srvmain /u maindomhiropln /p p@ssW23 /dbg1394 off /id 2

BOOTCFG debug

Adds or changes the debug settings for a specified operating system entry.

Syntax

BOOTCFG /debug {ON|OFF|EDIT} [/s Computer [/u DomainUser /p Password]] [/port {COM1|COM2|COM3|COM4}] [/baud {9600|19200|38400|57600|115200}] [/id OSEntryLineNum]

Parameters

  1. ON|OFF|EDIT Specifies the value for debugging. Value Description
    • ON Enables remote debugging support by adding the /debug switch to the specified OSEntryLineNum.
    • OFF Disables remote debugging support by removing the /debug switch from the specified OSEntryLineNum.
    • EDIT Allows changes to port and baud rate settings by changing the values associated with the /debug switch for the specified OSEntryLineNum.
  2. /port {COM1|COM2|COM3|COM4} Specifies the COM port to be used for debugging. Do not use the /port parameter if debugging is being disabled.
  3. /baud {9600|19200|38400|57600|115200} Specifies the baud rate to be used for debugging. Do not use the /baud parameter if debugging is being disabled.

NOTE: If 1394 port debugging is required, use BOOTCFG /dbg1394.

Examples

BOOTCFG /debug on /port com1 /id 2
BOOTCFG /debug edit /port com2 /baud 19200 /id 2
BOOTCFG /s srvmain /u maindomhiropln /p p@ssW23 /debug off /id 2

BOOTCFG default

Specifies the operating system entry to designate as the default.

Syntax

BOOTCFG /default [/s Computer [/u DomainUser /p Password]] [/id OSEntryLineNum]

Examples

BOOTCFG /default /id 2
BOOTCFG /default /s srvmain /u maindomhiropln /p p@ssW23 /id 2

BOOTCFG delete

Deletes an operating system entry in the [operating systems] section of the Boot.ini file.

Syntax

BOOTCFG /delete [/s Computer [/u DomainUser /p Password]] [/id OSEntryLineNum]

Examples

BOOTCFG /delete /id 1
BOOTCFG /delete /s srvmain /u maindomhiropln /p p@ssW23 /id 3

BOOTCFG ems

Enables the user to add or change the settings for redirection of the EMS console to a remote computer. By enabling EMS, you add a "redirect=Port#" line to the [boot loader] section of the Boot.ini file and a /redirect switch to the specified operating system entry line. The EMS feature is enabled only on servers.

Syntax

BOOTCFG /ems {ON|OFF|EDIT} [/s Computer [/u DomainUser /p Password]] [/port {COM1|COM2|COM3|COM4|BIOSSET}] [/baud {9600|19200|38400|57600|115200}] [/id OSEntryLineNum]

Parameters

  1. ON|OFF|EDIT Specifies the value for EMS redirection. Value DescriptionON Enables remote output for the specified OSEntryLineNum. Adds a /redirect switch to the specified OSEntryLineNum and a redirect=comX setting to the [boot loader] section. The value of comX is set by the /port parameter.OFF Disables output to a remote computer. Removes the /redirect switch from the specified OSEntryLineNum and the redirect=comX setting from the [boot loader] section.EDIT Allows changes to port settings by changing the redirect=comX setting in the [boot loader] section. The value of comX is reset to the value specified by the /port parameter.
  2. /port {COM1|COM2|COM3|COM4|BIOSSET} Specifies the COM port to be used for redirection. BIOSSET directs EMS to get the BIOS settings to determine which port should be used for redirection. Do not use the /port parameter if remotely administered output is being disabled.
  3. /baud {9600|19200|38400|57600|115200} Specifies the baud rate to be used for redirection. Do not use the /baud parameter if remotely administered output is being disabled.

NOTE: For more information on the Emergency Management Services (EMS), see Help and Support Center.

Examples

BOOTCFG /ems on /port com1 /baud 19200 /id 2
BOOTCFG /ems on /port biosset /id 3
BOOTCFG /s srvmain /ems off /id 2
BOOTCFG /ems edit /port com2 /baud 115200
BOOTCFG /s srvmain /u maindomhiropln /p p@ssW23 /ems off /id 2

BOOTCFG query

Queries and displays the [boot loader] and [operating systems] section entries from Boot.ini.

Syntax

BOOTCFG /query [/s Computer [/u DomainUser /p Password]]

NOTE: The following is a sample of BOOTCFG /query output:

Boot Loader Settings
--------------------
timeout: 30
default: multi(0)disk(0)rdisk(0)partition(1)WINDOWS
 
Boot Entries
------------
Boot entry ID:   1
Friendly Name:   "Microsoft Windows XP Professional"
Path:            multi(0)disk(0)rdisk(0)partition(1)WINDOWS
OS Load Options: /fastdetect /debug /debugport=com1:

The Boot Loader Settings portion of the BOOTCFG query output displays each entry in the [boot loader] section of Boot.ini.The Boot Entries portion of the BOOTCFG query output displays the following detail for each operating system entry in the [operating systems] section of Boot.ini: Boot entry ID, Friendly Name, Path, and OS Load Options.

Examples

BOOTCFG /query
BOOTCFG /query /s srvmain /u maindomhiropln /p p@ssW23
BOOTCFG /query /u hiropln /p p@ssW23

BOOTCFG raw

Adds operating system load options specified as a string to an operating system entry in the [operating systems] section of the Boot.ini file.

Syntax

BOOTCFG [/s Computer [/u DomainUser /p Password]] /raw OSLoadOptionsString [/id OSEntryLineNum]

NOTE: Bootcfg raw is used to add text to the end of an operating system entry, overwriting any existing operating system entry options. This text should contain valid OS Load Options such as /debug, /fastdetect, /nodebug, /baudrate, /crashdebug, and /sos. For example, the following command adds "/debug /fastdetect" to the end of the first operating system entry, replacing any previous operating system entry options:BOOTCFG /raw "/debug /fastdetect" /id 1

Examples

BOOTCFG /raw "/debug /sos" /id 2
BOOTCFG /raw /s srvmain /u maindomhiropln /p p@ssW23 "/crashdebug " /id 2

BOOTCFG rmsw

Removes operating system load options for a specified operating system entry.

Syntax

BOOTCFG /rmsw [/s Computer [/u DomainUser /p Password]] [/mm] [/bv] [/so] [/ng] /id OSEntryLineNum

Parameters

  1. /mm Removes the /maxmem switch and its associated maximum memory value from the specified OSEntryLineNum. The /maxmem switch specifies the maximum amount of RAM that the operating system can use.
  2. /bv Removes the /basevideo switch from the specified OSEntryLineNum. The /basevideo switch directs the operating system to use standard VGA mode for the installed video driver.
  3. /so Removes the /sos switch from the specified OSEntryLineNum. The /sos switch directs the operating system to display device driver names while they are being loaded.
  4. /ng Removes the /noguiboot switch from the specified OSEntryLineNum. The /noguiboot switch disables the Windows XP Professional progress bar that appears before the CTRL+ALT+DEL logon prompt.

Examples

BOOTCFG /rmsw /mm 64 /id 2
BOOTCFG /rmsw /so /id 3
BOOTCFG /rmsw /so /ng /s srvmain /u hiropln /id 2
BOOTCFG /rmsw /ng /id 2
BOOTCFG /rmsw /mm 96 /ng /s srvmain /u maindomhiropln /p p@ssW23 /id 2

BOOTCFG timeout

Changes the operating system time-out value.

Syntax

BOOTCFG /timeout TimeOutValue [/s Computer [/u DomainUser /p Password]]

Parameters

  1. TimeOutValue Specifies the timeout value in the [boot loader] section. The value is the number of seconds the user has to select an operating system from the boot loader screen before NTLDR loads the default. If the value is 0, then NTLDR immediately starts the default operating system without displaying the boot loader screen.

Examples

BOOTCFG /timeout 30
BOOTCFG /s srvmain /u maindomhiropln /p p@ssW23 /timeout 50

Tags

January 10th, 2008

Comments Welcome

  • Frank

    This is the most idiotic 'tip' I've ever read on the web since 1990.

    Let me give you a clue: you can simply press F8 as soon as the windows boot process starts to access the boot menu, where you can boot in many more modes.

    I am curious as to how you manage to generate technological content, you must be copying and pasting from different sources.

  • Andrew

    Hi,

    is there a way I can create custom boot menu in WinXP Pro, which will allow me to choose, wheather some programs will be loaded on system startup or not ? If it is can I ask for a solution? I've got a single administrative user account. The reason is I want to choose between relly fast startup and a version with all programs running from the beggining.

  • Lester

    I second Frank, this is an idiotic Tip.
    Good luck with all your missing ntldr files...

  • thatguyjim

    Relax guys, it dosen't make much difference what you do to the computer, because it's the little people inside of them who decide whether or not it will run better, or at all, so chill out.

  • LeftyAce

    Well, the first guy is right. PLEASE don't shut the computer off cold while it's booting in order to get to the special boot menu!! The risk of the harddrive write head writing gibberish all over the boot area is too high. USE F8.

    And good for you, you know my IP.

  • Steve

    While I agree that you can use F8 I have to say after a customer got hit with a virus we found this topic a life saver. After the virus was cleaned and the OS Repaired, (did not do a full reinstall because the customer wished to keep some programs they did not have disks for anymore) there was one last problem. The boot.ini had links to 3 copies of XP that had been deleted and an entry titled "load previous operating system" which was on the recovery drive to restore XP. We were able to remove the entries and rename the misleading one. Thanks for the great article.

  • mjt

    as other's have said, "what's the point?" personally, i'm a Linux and OSx user and know enough, that with eXPensive, you do NOT turn the computer off while it's booting up! (shoudn't do that with any OS). secondly, i recommend to the author that you have someone else read your article BEFORE you post it - you have numerous grammatical, spelling, sentence structure errors, and erroneous instructions.

    for example, isntruction #4: Type attrib -S -H -R
    you forgot the filename argument ... "attrib" doesnt know you want to turn off the SHR bits for the file "boot.ini". another: "... turn off your computer by holding in the computer and then turn it back on again." "by holding in the commputer"??? what the heck does that mean?

    response to "Steve". have you heard of a "bootable CD" containing a core operating system, which also contains utility software such as anti-virus? in the Linux world, we use these all the time to repair mucked-up hard drive installs. check:
    http://www.ultimatebootcd.com/
    http://www.darknet.org.uk/2006/03/10-best-security-live-cd-distros-pen-test-forensics-recovery/

    if you prefer a bootable eXPensive, try Bart's.

    use this for other google results:
    regards, michael

  • zomg

    C'mon people, play nice!

    First of all, I DID find this article useful, not for the actual content but for the "way to do it" (for example the options like /noexecute:optin)

    @frank & leftAce: about holding down the powerbutton to get to the safe mode. The author clearly states that this method can be used if F8 is made unavailable! Please read before you flame.

    @mjt: You complain about typos. Like you never make em. For example; what the hell are 'isntructions'?

    @lester: Do you also have constructive comment WHY ntldr files go missing?

    The point of my post: This guy here tries to help other people by posting his insight. All you guys do is tell him how bad a job he did of it. Now who's doing the bad job here? Him, who wants to help people, or you for flaming him? Gee, what a difficult question -.-

    Apart from the typos, A+ article!

    Thanks!

  • Lucas

    I second zomg.
    I found this after my bios stopped allowing me to load off a CD. So I couldn't run the recovery console that was on my WinXP CD. I was wondering to if you could add a boot CD to this menu?

    Thank you and very informative especially the recovery console. You can't do that with F8

  • Dave

    Any thoughts how to do it with Windows Vista? :)

  • http://www.askapache.com/ AskApache

    @ Dave

    No clue buddy, sorry! I'm not going to run vista until I get a new work computer with at least 4GB RAM and 2 500GB HD. Vista looks really good but its soooo slow. I'll wait until I get my new computer, and a side-benefit is the longer I wait, the less bugs will be in vista, and more programs and drivers/hardware will be supported.

  • http://www.h4x3d.com jez

    good article, thanks for sharing!

  • Josh

    Good article, all the people with negative comments obviously are a$$holes. Well written article, I personally have had a custom boot menu for quite a while, allowing me to boot between Windows XP, Windows 98, and Ubuntu (yes you can in fact use the WINDOZE boot.ini to boot Ubuntu). Anyways I found this article helpful as it lists various attributes such as /sos which I found quite helpful. Thanks.

  • LKP

    Good article indeed.

    As said, "the way to do it" is something that is appreciated. And the most important thing is that is all in one page, I mean, all that content you can find on the net, but commonly is spreaded in a several pages, so, one access point to all that info isn't bad at all.

    As for the flammers, well, I guess that you never try to use the regedit to change a feature/option just because you can do it with a few clicks, so, you really doesn't care much about computing related topics or even learn something from then, c'mon, there are alot of places/forums/irc/chat where you can flame more properly :)

    Regards

  • http://www.webair.com Domain Registrar

    Thanks for this great information. I was needing some boot information to accompany my dual boot PC. I am dual booting Vista and XP because Vista is simply not "ready" enough for me yet.

    As a response to Frank, this is not bad information at all. Many times when people try to access their boot menu, they receive a keyboard failure popup or with many factory PCs they don't use F8 and you have to do a little research.

  • Jim Lindbloom

    After a custom build and XP install I added the Recovery Console. However .... NOW I see a 3rd line entry in the boot menu that says (default) and if you do not move it off that and up to XP Home or the Recovery Console it just crashes ... that is, it continues after the timeout and comes up with an error message and halts loading. How this 3rd line got there I have NO CLUE! When I edit the boot.ini there IS NO 3RD Line!! So I have NO idea how it gets there .. I'm clueless. So if you add to your great article please put in a fix for this ... hint hint!!

  • zach

    Hi. I have a simple question. IS there a way to get XP to boot to command line only without ANY of the GUI or higher functions going? I want to run programs that run from command line and that do not require any of the higher GUI and other things, just basic disk access and memory management type stuff. System utilities like disk optimizers and anti-virus scanners, malware scanners, etc. If so, how do you force this? Please help...

    Many thanks!

  • http://www.askapache.com/ AskApache

    @ zach

    No idea zach sorry. You can always do this in linux.. and on a dual-boot you could load linux and run anti-virus on a mounted NTFS partition.

  • Astutebilal

    Hi Friend, i got a Problem, i hope you could solve it out for me, since you appear to be very good with DOS and all that.

    I have a Windows XP Pro SP2 installed in Drive C:
    and i want to have an option to boot in "MS DOS Prompt" from Boot Menu (by editing Boot.INI)
    I have read that i have to install DOS first, then XP in order to do that.

    But i can't do that, i have XP already installed, with lots of Customizations, and it will take me months to regenerate those.

    So i was wondering, could you please tell me, how to add an entry to Boot.INI file and make settings, so that i can have an option of booting from MS DOS.

    And Please reply me as sooner as possible, before i become hopeless for that.

    Thanks

  • Askar Benedict

    HI...
    I have installed XP, Vista, Ubuntu.
    When I am switch on the system the first boot option is ubuntu and other os,
    When I select the Other os then only I can view the XP and Vista option...
    Now I need the option on boot up as
    -> Windows XP
    -> Windows Vista
    -> Ubuntu...

    So please tell me how to change the option and where I have to change

  • http://www.blackcomputers.f2s.com/ john holland

    can you add the ability to boot to the CD drive and/or to a USB drive ?

    Very good page btw

    Thanks

  • TAHA ALBA

    I have a Windows XP Pro SP2 installed in Drive C: and window 7 installed in Drive D:
    I deleted the O/S of window 7 but still showing in the window boot manager !!. How could you delete it from showing ?

    My window boot manager After playing off with some features related to startup options and restarted my PC " IBM laptop T41 " It shows ,after loading some related features, can't find and some numbers showing up , really I don't understand it, { It seems to me that something like an engine is searching for and can't find to load up.} and the PC restarted itself or doing back again to the window boot manager to choose between one of my O/S .

    before I was playing with some those related features, I turned off some windows Services that may be related to staring up with safe mode and etc...

    I don't want to lose all my programs installed in my C: drive and a lots of things of documents etc... I thank you for your help time for finding the best way of keeping my Windows XP Pro SP2 back to normal. and that without installing a new O/S.

  • Abhi

    Hi,

    I am doing a project in which unless and until you don't plug in a USB device(containing a verification code) or you can say a Dongle. The Windows doesn't boot. I have searched various ways in which to divert the booting process through the USB port but couldn't find any proper way to do it. I have read your above article of yours. It's really nice. Thank you for the information.

    I have read your options of editing the Boot.ini file but are there any more options in which i can customize the boot process through the USB device in which it checks the VERIFICATION CODE and only then after verifying the CODE boots the Windows OS.

    Thanks for your Information.

    Waiting for your valuable reply.

  • http://www.sgidepot.co.uk/sgi.html Ian Mapleson

    Thanks for the article! Alas it doesn't have the answer I'm looking for...

    I have a 1TB disk with a number of almost identical XP Pro SP3 installations (they vary only in that each one is setup for a different model of gfx card, ie. for benchmarking, etc.), the first on a 75GB primary partition, the rest on 40GB logical partitions.

    Adding new logical partitions, cloning with XXClone and growing boot.ini worked perfectly ok up until I added an 11th entry. After restarting, the original 10th entry in the Windows boot loader was gone, replaced by the new 11th entry, even though the boot.ini does contain both. Strangely, the new entry was inserted into boot.ini inbetween entries 9 and 10. It's as if the 11th entry is invisible.

    What is happening? Is 10 the max number of entries the Windows boot loader can handle or display?
    I've googled extensively but not found an answer so far.

    I did try using Easy BCD instead, but although it let me build the boot list ok, it seems unable to replace
    the Windows boot loader in the MBR, ie. writing the new MBR from within Easy BCD has no effect.

    Ian.

  • Dave

    hi,
    i've been modifying aspects of my computer to turn it into a sort of dj station and the build is almost complete, just a few things left to do on the case and audio outputs. i've thought that it would be cool to finish it off by altering certain parts of my windows xp startup, particularly the 'loader' image:
    any idea which file i need to work on?

    thanks in advance. i look forward to hearing from you

  • sadik

    "can't find file..."

    it can't find the file boot.ini why?

Popular Articles
My Online Tools

Related Articles
Newest Posts
Twitter


  •  t.co/ShKrGdqXuJ 
  • RUN GCC! This is a typical shirt I wear, from the  t.co/46LYbFr4k2  shop. A clerk at the LQ recognized it!  t.co/jjmT0dkCPu 
  • Merlin the Magician  t.co/iMmRbanUi4 
  • ROGUE CODE - Latest novel from @markrussinovich  t.co/apkn0LoPIt 
  • RTFM - surprisingly very helpful and way more comprehensive than it looks! @redteamfieldman #pwnAllTheThings  t.co/xiaJ5g0aC9 
  • Dear Hacker - Letters to the Editor of 2600, from Emmanuel Goldstein  t.co/JCfLab7FAJ 
  • The Mythical Man-Month - Essays on Software Engineering, by Frederick P. Brooks, Jr.  t.co/ilWN5GHElr 
  • "where wizards stay up late" - The Origins of the Internet. Favorite book detailing the birth of the net and IMPs  t.co/gY9VTGJgZz 
  • ZERO DAY - read before Trojan horse  t.co/pPMLGDJv8P 
  • Trojan Horse, a novel!  t.co/Hf8EtYaZVa 
  • The Hacker Playbook - very nice high level overview of attacks  t.co/lHwNVWi61u 
  • Clean Code - A Handbook of Agile Software Craftsmanship  t.co/hnJX0x1qIc 
  • Secrets of the JavaScript Ninja - By my absolute favorite JS hacker John Resig!  t.co/tZ42ljmcCl 
  • Hacking Exposed 7: Network Security Secrets & SolutionsMy all time favorite, basic but thorough and accurate.  t.co/jycW0RDVtZ 

Hacking and Hackers

The use of "hacker" to mean "security breaker" is a confusion on the part of the mass media. We hackers refuse to recognize that meaning, and continue using the word to mean someone who loves to program, someone who enjoys playful cleverness, or the combination of the two. See my article, On Hacking.
-- Richard M. Stallman






[hide]

It's very simple - you read the protocol and write the code. -Bill Joy

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 License, just credit with a link.
This site is not supported or endorsed by The Apache Software Foundation (ASF). All software and documentation produced by The ASF is licensed. "Apache" is a trademark of The ASF. NCSA HTTPd.
UNIX ® is a registered Trademark of The Open Group. POSIX ® is a registered Trademark of The IEEE.

| Google+ | askapache

Site Map | Contact Webmaster | License and Disclaimer | Terms of Service

↑ TOPMain