Cisco Device Boot Process and the Role of NVRAM

When a Cisco router or switch is powered on, it follows a specific sequence of steps to become operational. This article provides a complete overview of the Cisco boot process, the role of different memory types (especially NVRAM), startup-config and running-config files, ROMMON mode, and all related commands with practical examples.

CiscoBoot ProcessNVRAM Startup Config

~3 min read · Updated Apr 8, 2026

Introduction

When you power on a Cisco device (router or switch), the boot process starts automatically. This process consists of several stages that ultimately prepare the device to run its configuration and provide network services. Understanding these stages is essential for troubleshooting boot problems, password recovery, and proper configuration management.

Cisco Boot Sequence

The boot process occurs in four main stages:

1. Power-On Self-Test (POST)

After the device is turned on, the hardware performs a self-test. This includes checking RAM, CPU, interfaces, and other components. If a problem is detected, the device may fail to boot or display an error.

2. Loading Bootstrap from ROM

The Bootstrap program (a small startup code) is loaded from ROM. Its job is to locate and load the Cisco IOS image.

3. Loading Cisco IOS

The Bootstrap searches for the IOS image in Flash memory and loads it into RAM. Usually, the highest version file in Flash is selected.

4. Loading the Configuration

After the IOS is loaded, the device reads the startup-config file from NVRAM and loads it into RAM as the running-config.

Important Memory Types in the Boot Process

ROM (Read-Only Memory)

Contains the Bootstrap and POST routines and cannot be modified.

Flash Memory

Non-volatile memory used to store IOS image files. It functions like a hard disk.

RAM (Random Access Memory)

Temporary memory where the IOS and running-config reside. It is cleared when the device is powered off.

NVRAM (Non-Volatile RAM)

Non-volatile memory that stores the startup-config file. Its content is preserved even after the device is powered off.

Configuration Files

  • startup-config: The saved configuration stored in NVRAM that is loaded during boot.
  • running-config: The active configuration in RAM where changes are made in real time.

Key Configuration Management Commands

show running-config
show startup-config
copy running-config startup-config     (or write memory)
copy startup-config running-config
erase startup-config

ROMMON Mode and Its Uses

If the device cannot find the IOS image or for password recovery, it enters ROMMON mode.

To enter ROMMON, press Ctrl + Break during the boot process.

Important ROMMON Commands

rommon 1 > confreg 0x2142     (ignore startup-config on next boot)
rommon 1 > reset
rommon 1 > confreg 0x2102     (return to normal boot)

Practical Example: Password Recovery Using NVRAM Settings

Steps to recover a forgotten enable password:

1. Enter ROMMON mode (Ctrl+Break during boot)
2. confreg 0x2142
3. reset
4. After boot: enable (no password required)
5. copy startup-config running-config
6. Change the password:
   enable secret NewPassword
7. config-register 0x2102
8. copy running-config startup-config

Key Commands Related to Boot and NVRAM

show version                  (shows configuration register)
show flash
boot system flash:ios-file.bin
config-register 0x2102
show boot

Important Notes

  • If the startup-config is erased, the device boots into Setup Mode.
  • Changing the configuration register controls boot behavior (e.g., ignoring NVRAM).
  • Always use copy running-config startup-config before powering off the device.

Conclusion

Understanding the Cisco boot process and the critical role of NVRAM helps you quickly diagnose boot issues, recover passwords, and properly manage device configurations. Mastery of boot-related commands and memory types is one of the fundamental skills every Cisco network engineer must have.

Written & researched by Dr. Shahin Siami

Related Articles

Systematic Network Troubleshooting: A Methodology Tying Everything Together

Every protocol and technology covered throughout this series is only useful if a problem involving it can actually be diagnosed and fixed efficiently under real-world pressure. This article presents a systematic troubleshooting methodology built around the OSI layers, walks through applying it to a realistic connectivity problem, and shows how the specific verification commands covered throughout this entire series fit into a structured diagnostic process.

Continue

NETCONF, YANG, and Python: Programmatic Network Configuration at Scale

The REST APIs and JSON/YAML formats covered earlier in this series represent one approach to network automation, but NETCONF and YANG provide a more structured, standards-based alternative purpose-built for network device configuration. This article explains what distinguishes NETCONF from a simple REST API, covers how YANG models define exactly what configuration data looks like, and walks through using Python to programmatically interact with network devices.

Continue

IPsec VPN Fundamentals: Securing Traffic Across Untrusted Networks

Connecting two sites across the public internet exposes traffic to interception unless it is properly encrypted, and IPsec provides the standard framework for building secure, authenticated tunnels between sites. This article explains the two-phase IKE negotiation process, covers the distinction between AH and ESP protocols, walks through configuring a basic site-to-site IPsec VPN, and covers essential verification commands.

Continue

MPLS Fundamentals: Label Switching Explained

Traditional IP routing requires every router along a path to perform a full routing table lookup on every packet, but MPLS takes a fundamentally different approach by making that forwarding decision once and attaching a simple label that every subsequent router can use instead. This article explains the core label-switching concept, walks through how the Label Distribution Protocol builds the label forwarding tables that make this possible, and covers the practical benefits MPLS provides in real provider networks.

Continue

BGP Route Reflectors and Confederations: Scaling iBGP Beyond Full Mesh

The iBGP full-mesh requirement, briefly mentioned earlier in this series, becomes a serious scaling problem as an autonomous system grows, requiring a number of sessions that increases quadratically with router count. This article explains exactly why full mesh does not scale, walks through how route reflectors solve this by relaxing BGP's normal route-propagation rules, and covers confederations as an alternative approach that divides a single AS into smaller sub-autonomous systems.

Continue

OSPF Area Types Deep Dive: Stub, Totally Stubby, and NSSA

Multi-area OSPF, covered earlier in this series, already reduces database size by separating a network into areas, but OSPF offers further specialized area types that reduce routing table size even more aggressively by filtering out unnecessary external routes entirely. This article explains the LSA types that must be suppressed to create each specialized area type, walks through configuring stub, totally stubby, and not-so-stubby areas, and covers the specific trade-offs each design choice involves.

Continue