How to Change Configuration Register Settings on Cisco Router

The configuration register can be used to change Cisco Router behavior in different ways like How Router boots ?, Router booting process and Console speed etc. Find some examples below to change the configuration register settings on Cisco Router.

Find Cisco Router Default Configuration Register value 

The factory-default setting for the configuration register is 0×2102. This indicates that the router should attempt to load a Cisco IOS® software image from Flash memory and load the startup configuration with a console speed of 9600 baud. With show version command you can view the current setting of the configuration register:

Cisco-Router#sh version
Cisco IOS Software, 1841 Software (C1841-IPBASE-M), Version 12.4(3i),
RELEASE  SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Wed 28-Nov-07 18:17 by stshen

ROM: System Bootstrap, Version 12.4(13r)T, RELEASE SOFTWARE (fc1)

Router uptime is 2 days, 3 hours, 18 minutes
System returned to ROM by power-on
System image file is “flash:c1841-ipbase-mz.124-3i.bin”

Cisco 1841 (revision 7.0) with 114688K/16384K bytes of memory
Processor board ID FHK12462CJ2
2 FastEthernet interfaces
1 Serial(sync/async) interface
DRAM configuration is 64 bits wide with parity disabled.
191K bytes of NVRAM.
31488K bytes of ATA CompactFlash (Read/Write)

Configuration register is 0x2102

Steps to Change the Configuration Register Settings

You can set or change the the configuration register value from Global configuration mode using the config-register command. From ROMmon, use the confreg command. For example, you can set the configuration register value to 0×2002, changing the value of bit 8 from a 1 to a 0 from Global configuration mode.

Cisco-Router#config t
Enter configuration commands, one per line. End with CNTL/Z.
Cisco-Router(config)#config-register ?
<0x0-0xFFFFFFFF> Config register number
Cisco-Router(config)#config-register 0×2002
Cisco-Cisco-Router(config)#^Z
Router#show version
Cisco IOS Software, 1841 Software (C1841-IPBASE-M), Version 12.4(3i), RELEASE SO
FTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Wed 28-Nov-07 18:17 by stshen
…………………………………………………………….
……………………………………………………………
Configuration register is 0×2102 (will be 0×2002 at next reload)

In above show version command output, Notice that the configuration register value is still 0×2102, but will be 0×2002 at the next reload. It is not necessary to issue the copy run star command in order to save changes to the configuration register value.

Change the Configuration Register Value from ROMmon Mode

If you issue the break sequence on a Cisco Router, you will enter into the rommon> prompt. Although the commands from this prompt are a little different, they achieve the same result. In the below example, we are setting the configuration register to 0×2142, which tells the router to ignore the contents of the startup configuration file and for recover Cisco Router or Switch password, since bit 6 has been set. The command to change the configuration register from the rommon> prompt is confreg, followed by the new Configuration register value. To reload the router, issue the reset command.

rommon 1>confreg 0x2142
rommon 2>reset

After issuing the reset command, the Router will reboot using the new configuration register value of 0×2142.

 

Configuration Register Values and Meaning:

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

1. 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.

2. 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.

3. 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
06 0x0040 Causes system software to ignore NVRAM contents
07 0x0080 OEM bit enabled
08 0x0100 Break disabled
09 0x0200 Use secondary bootstrap
10 0x0400 IP broadcast with all zeros
11 to 12 0x0800 to 0x1000 Console line speed (default is 9600 baud)
13 0x2000 Boot default Flash software if network boot fails
14 0x4000 IP broadcasts do not have network numbers
15 0x8000 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.

 

Configuration Register Settings and Router Behavior

Examples: Find some configuration Register value settings and Router behavior

Configuration Register Settings and Router Behavior
Configuration Register Settings Router Behavior
0×102
  • Ignores break
  • 9600 console baud
0×1202
  • 1200 baud rate
0×2101
  • Boots into bootstrap
  • Ignores break
  • Boots into ROM if initial boot fails
  • 9600 console baud rate
0×2102
  • Ignores break
  • Boots into ROM if initial boot fails
  • 9600 console baud rate default value for most platforms
0×2120
  • Boots into ROMmon
  • 19200 console speed
0×2122
  • Ignores break
  • Boots into ROM if initial boot fails
  • 19200 console baud rate
0×2124
  • NetBoot
  • Ignores break
  • Boots into ROM if initial boot fails
  • 19200 console speed
0×2142
  • Ignores break
  • Boots into ROM if initial boot fails
  • 9600 console baud rate
  • Ignores the contents of Non-Volatile RAM (NVRAM) (ignores configuration)
0×2902
  • Ignores break
  • Boots into ROM if initial boot fails
  • 4800 console baud rate
0×2922
  • Ignores break
  • Boots into ROM if initial boot fails
  • 38400 console baud rate
0×3122
  • Ignores break
  • Boots into ROM if initial boot fails
  • 57600 console baud rate
0×3902
  • Ignores break
  • Boots into ROM if initial boot fails
  • 2400 console baud rate
0×3922
  • Ignores break
  • Boots into ROM if initial boot fails
  • 115200 console baud rate
Share/Bookmark

Filed Under: Cisco General

Tags:

About the Author:

RSSComments (9)

Leave a Reply | Trackback URL

  1. Karan says:

    I have cisco 2916m-XL series switch and I want to change the configuration register. I’m trying following command in global configuration mode

    config-register 0x2102

    but it is not accepting the command. it is showing ‘Invalid input detected’

    how can i change the configuration register setting.
    plz let me know

    • admin says:

      Hello,

      Here is in detail described procedure of IOS management on 2900 series…

      http://www.cisco.com/en/US/docs/switches/lan/catalyst2960/software/release/12.2_55_se/configuration/guide/scg_2960.html

      Find the password recovery steps for Cisco 2900 series Catalyst Switches….

      Step 1 Connect a terminal or PC with terminal emulation software to the console port on the back of the switch. See the “Connecting to the 100BaseFX Ports” section in the “Installation” chapter for more information.

      Step 2 Set the line speed on the emulation software to 9600 baud.

      Step 3 Unplug the power cord from the back of the switch.

      Step 4 Hold down the Mode button, and at the same time reconnect the power cord to the switch. You can release the Mode button a second or two after the LED above port 1x goes off. Several lines of information about the software appear, as do instructions:

      The system has been interrupted prior to initializing the flash file system. The following commands will initialize the flash file system, and finish loading the operating system software:

      flash_init
      load_helper
      boot

      Step 5 Enter the flash_init command to initialize the Flash file system:

      switch: flash_init

      Step 6 If you had set the line speed for the console port to anything other than 9600, it has been reset to that speed. Change the line speed on your emulation software to match that of the switch.

      Step 7 Enter the load_helper command to load any helper files:

      switch: load_helper

      Step 8 Display the contents of Flash by entering the dir command:

      switch: dir flash:

      The switch file system is displayed:

      Directory of flash:

      2 -rwx 843947 Mar 01 1993 00:02:18 C2900XL-h-mz-112.8-SA
      4 drwx 3776 Mar 01 1993 01:23:24 html
      66 -rwx 130 Jan 01 1970 00:01:19 env_vars
      68 -rwx 1296 Mar 01 1993 06:55:51 config.text

      1728000 bytes total (456704 bytes free)

      Step 9 Rename the configuration file to config.text.old. This file contains the password definition.

      switch: flash:config.text flash:config.text.old

      Step 10 Boot the system with the boot command:

      switch: boot

      You are prompted to start the setup program. Enter N at the prompt:

      Continue with the configuration dialog? [yes/no]: N

      Step 11 At the switch prompt, change to privileged EXEC mode by entering the enable command:

      switch> enable

      Step 12 Rename the configuration file to its original name with the rename command:

      switch# rename flash:config.old flash:config.text

      Step 13 Copy the configuration file into memory with the copy command:

      switch# copy flash:config.text system:running-config
      Source filename [config.text]?
      Destination filename [running-config]?

      Press Return in response to the confirmation prompts.

      Step 14 The configuration file is now reloaded, and you can use the normal commands to change the password. Enter the configuration terminal command to change to configuration mode:

      switch# configuration terminal

      Step 15 Enter the enable password command to change the password:

      switch(config)# enable password string

      where string is the password.

      Step 16 Write the running configuration to the startup configuration file by using the copy command:

      switch(config)# copy running-config startup-config

      The new password is now included in the startup configuration.

      Thanks

  2. Abhi says:

    My config register is 0x3922 and I cannot change it, and I cannot find
    what this configuration reigster setting indicates? Please Help

    • admin says:

      Configuration register value 0x3922 is translated as follows:

      3 = boot default ROM if net boot fails

      9 = console speed @2400 & Break disabled

      2 = nothing

      2 = default net boot filename

  3. Petrucciowns says:

    Hi I have a 2950. Show Version shows the conf-reg as 0xF which I guess is the default for this model. The thing is I can’t change that value. I am trying to copy my IOS to my pc via the console cable. I’m guessing to do this you have to be in ROMMON mode. If I go into global mode and use the command: config-register 0x2100 it says invalid input detected! It doesn’t accept any changes to the config-register. How can I change, and secondly how can I copy the IOS from flash to my pc via console? Thanks.

    Here is my show version output:

    Cisco Internetwork Operating System Software
    IOS ™ C2950 Software (C2950-I6Q4L2-M), Version 12.1(14)EA1a, RELEASE SOFTWARE (fc1)
    Copyright (c) 1986-2003 by cisco Systems, Inc.
    Compiled Tue 02-Sep-03 03:33 by antonino
    Image text-base: 0x80010000, data-base: 0x805C0000

    ROM: Bootstrap program is CALHOUN boot loader

    SW1 uptime is 20 minutes
    System returned to ROM by power-on
    System image file is “flash:/c2950-i6q4l2-mz.121-14.EA1a.bin”

    cisco WS-C2950G-12-EI (RC32300) processor (revision H0) with 20710K bytes of memory.
    Processor board ID FHK0802Z131
    Last reset from system-reset
    Running Enhanced Image
    12 FastEthernet/IEEE 802.3 interface(s)
    2 Gigabit Ethernet/IEEE 802.3 interface(s)

    32K bytes of flash-simulated non-volatile configuration memory.
    Base ethernet MAC Address: 00:0E7:EE:7B:80
    –More–
    Motherboard assembly number: 73-7410-05
    Power supply part number: 34-0965-01
    Motherboard serial number: FOC08020TAM
    Power supply serial number: DAB0752J8GK
    Model revision number: H0
    Motherboard revision number: A0
    Model number: WS-C2950G-12-EI
    System serial number: FHK0802Z131
    Configuration register is 0xF

    • admin says:

      config register comand is supported only in routers not in switches. For Cisco Switches, you can recover the password by renaming the config.txt.

  4. Ferieinsose says:

    Hi,very nice information covered to change configuration register settings on Cisco Routers and Switches. :)

  5. Kale says:

    You’ve made various nice points there. Thanks

  6. Hari says:

    very useful post on changing Cisco configuration register settings.

Leave a Reply




If you want a picture to show with your comment, go get a Gravatar.