Configuration Register

Routers use a 16-bit software configuration register, with which you can set specific system parameters. Settings for the software configuration register are written into nonvolatile random access memory (NVRAM).

Some reasons for changing the software configuration register settings are as follows:
  • To set and display the configuration register value
  • To force the system into the ROM monitor or boot ROM
  • To select a boot source and default boot filename
  • To enable or disable the Break function
  • To control broadcast addresses
  • To set the console terminal baud rate
  • To load operating software from Flash memory
  • To enable booting from a Trivial File Transfer Protocol (TFTP) server
  • To recover a lost password
  • To manually boot the system using the boot command at the bootstrap program prompt.
  • To force the switch router to boot automatically from the system bootstrap software (boot image) or from its default system image in onboard Flash memory, and read any boot system commands that are stored in the configuration file in NVRAM

Boot Field

Config Register # 2 1 0 2
Bit Number 15 14 13 12    11 10 9 8    7 6 5 4    3 2 1 0   
Binary 0    0    1    0    0    0   0 1    0 0 0 0    0 0 1 0   

The lowest four bits of the configuration register (bits 3, 2, 1, and 0) form the boot field. The order in which the switch/router looks for system bootstrap information depends on the boot field setting in the configuration register.

When the boot field is set to either 0 or 1 (0-0-0-0 or 0-0-0-1), the system ignores any boot instructions in the system configuration file and the following occurs:

  • When the boot field is set to 1 (the factory default), you will boot from an IOS image stored in ROM.
  • When the boot field is set to 0, you must boot the operating system manually by giving a boot command to the system bootstrap program, or ROM monitor.

Boot Command

You can enter the boot command only, or include additional boot instructions with the command, such as the name of a file stored in Flash memory or a file that you specify for booting from a network tftp server.

If you use the boot command without specifying a file or any other boot instructions, the system boots from the default Flash image (the first image in onboard Flash memory).  Otherwise, you can instruct the system to boot from a specific Flash image (using the boot system flash filename command), or boot from a network server by sending broadcast TFTP requests (using the boot system filename command), or by sending a direct TFTP request to a specific server (using the boot system filename ip address command).

You can also use the boot command to boot images stored in the Personal Computer Memory Card International Association (PCMCIA) Flash memory cards in the route processor.  If you set the boot field to any bit pattern other than 0 or 1, the system uses the resulting number to form a filename for booting over the network.  The system uses the filename to invoke the system image by booting over the net.  However, if the configuration file contains any boot instructions, the system uses those boot instructions instead of the filename it computed from the configuration register settings.

You must set the boot field for the boot functions you require.  For more detailed information on the software configuration register features, refer to the following sections.

Changing the Software Configuration Register

Settings for the software configuration register are written into NVRAM.  The factory default value for Cisco router is 0x2102.

You can change the default configuration register setting with the enabled config-mode command config-register.  Use a hexadecimal number as the argument to this command.  For example, the command

   Router(config)# config-register 0x2100

configures the router to boot to ROM monitor mode.

A Summary of Boot Tasks and Their Register Values

To change the boot field and leave all the other bits set to their default values, follow these guidelines:

  • To enter the ROM monitor (primarily a programmer's environment), set the configuration register value to 0x2100.  This value sets the boot field bits to 0-0-0-0.
From the ROM monitor, boot the operating system manually by issuing the boot command at the ROM monitor prompt.
  • To boot the system automatically from ROM, set the configuration register to 0x2101. This value sets the boot field bits to 0-0-0-1.
  • To configure the system to use the boot system commands in NVRAM, set the configuration register to any value from 0x2102 to 0x210F.  These values set the boot field bits to 0-0-1-0 through 1-1-1-1.
Software Configuration Register
Bit Number Hexadecimal Meaning

00 to 03

0x0000 to 0x000F

Boot field



Causes system software to ignore NVRAM contents



OEM bit enabled



Break disabled



Use secondary bootstrap



IP broadcast with all zeros

11 to 12

0x0800 to 0x1000

Console line speed (default is 9600 baud)



Boot default Flash software if network boot fails



IP broadcasts do not have network numbers



Enable diagnostic messages and ignore NVRAM contents

Configuration Register Boot Field
Boot Field Meaning Used For:
00 ROM monitor mode To boot to ROM monitor mode, set the configuration register to 2100. You must then manually boot the router with the b command. The router will show a rommon> prompt.
01 Boot image from ROM To boot an IOS image stored in ROM, set the configuration register to 2101. The router will show the router(boot)> prompt.
02 to 0F Specifies a default boot filename Any value from 2102 to 210F tells the router to use the boot commands specified in NVRAM.

Understanding the Boot Field Commands

The lowest four bits of the software configuration register (bits 3, 2, 1, and 0) form the boot field.  The boot field specifies a number in binary form which you have to convert to Hexadecimal to use in the configuration register.  If you set the boot field value to 0, you must boot the operating system manually by entering the boot command at the bootstrap prompt ( either > or for newer platforms rommon> ).

Definitions of the Boot Command Options
Command Function
boot Boots the default system software from Flash memory.
boot flash [filename] Boots the first file in onboard Flash memory. The optional filename argument is the name of the system image file to boot from onboard Flash memory.
boot filename [ip address] Boots from server host using TFTP. IP address of the TFTP server on which the system image resides. If omitted, this value defaults to the IP broadcast address of

Changing Register Settings While Running System Software

To change the configuration register while running the system software, follow these steps:

Step 1 At the privileged EXEC prompt (Router#), enter the configure terminal command to enter global configuration mode.

   Router#configure terminal

Step 2 Set the contents of the configuration register by entering the config-register value configuration command, where value is a hexadecimal number preceded by 0x as in the following example:

   Router(config)# config-register 0x2142

Step 3 Press Ctrl-Z to exit Global Configuration mode.

Step 4 Display the current configuration register value, which will be used at the next system reload, by entering the show version command.

The value is displayed on the last line of the screen display, as in the following example:

   Configuration register is 0x2102 (will be 0x2142 at next reload)

Step 5 Restart the router.

Changes to the configuration register take effect only when the system reloads.

   Router# reload
   Proceed with reload? [confirm]
   %SYS-5-RELOAD: Reload Requested