Cisco IOS Configuration Register

The configuration register is a 16 bit (2 byte) value that’s encoded within the NVRAM of all Cisco devices, and is used to provide access to specific system boot options.

The configuration register is interpreted in the IOS as a hexidecimal value, and thus it’s important to understand the different options and values within the register, and how they’re used to set different boot options.

The diagram below shows the 16 bits, and associated decimal values that make up the register.

Capture

Each of the 16 bit values represents a certain aciton that a router will take when that particular bit is set. The diagram below summarises each action.

Capture

The most common bits that are used to set an action are the first four bits (0-3). As the diagram above describes, these bits are used to define a boot action. The default hex value within the config register is always 0x2102, which is intepreted in hex as the last value – the number 2. This default configuration is interpreted in the IOS as a boot from NVRAM, which essentially boots the IOS image.

This last hex value can also be used to set the router to boot into ROM monitor mode, which is intepreted as 0x2100. A mini-IOS image can also be accessed by setting the hex to 0x2101.

There are some other common uses in terms of booting. The table above states that bit six instructions the router to ignore the NVRAM, which would ignore any existing configuration file, and boot the router into a default configuration – this is useful for password recovery.