How To
Summary
ROM Monitor (ROMMON) is a low-level bootstrap on Cisco 1100 routers that initializes hardware and loads IOS XE. It is used for recovery, manual booting, and troubleshooting. You can enter ROMMON by interrupting boot or if the router fails to load IOS. Key commands include boot, confreg, dir, set, and upgrade rom-monitor. To upgrade ROMMON, copy the .pkg file to bootflash:, run upgrade rom-monitor filename <path> all, then reload the router. Always verify the ROMMON version after upgrade.
Objective
Usage / Why ROMMON Matters in Upgrades
Many new IOS XE versions require a minimum ROMMON version to be installed; if your router has an older ROMMON, the IOS XE image might not load or may behave incorrectly.
The ROM Monitor guide is essential if your router fails to boot or needs a forced boot into a specific image.
In scenarios such as initial hardware bringup, recovery, or image upgrade, understanding ROMMON commands and environment helps troubleshoot issues like “no image to boot” or corrupt IOS.
Environment
What is ROMMON?
ROM Monitor (also called ROMMON, boot helper, bootstrap) is a low-level bootstrap program that runs before IOS XE. It initializes hardware, then loads the Cisco IOS XE image.
If the router cannot find a valid IOS image during boot, it may enter ROMMON mode automatically.
ROMMON is separate from IOS XE; the router never runs both simultaneously.
ROMMON handles tasks like:
Booting a chosen IOS image,
Bypassing NVRAM / config register settings (useful for password recovery),
Letting you modify boot parameters.
Steps
Entering & Exiting ROMMON Mode
Entering ROMMON
You can get into ROMMON mode via:
Interrupt during the router boot sequence (e.g. pressing the break key)
If the router fails to find a bootable IOS image
Direct console connection when the router is already in ROMMON mode
Once in ROMMON, you’ll see a prompt like:
rommon 1 >While in ROMMON:
All IOS XE features (interfaces, routing, etc.) are unavailable—the router is in a minimal state.
Only the console port is usable.
Exiting ROMMON
To leave ROMMON and boot into IOS:
Run the
confregcommand at the ROMMON prompt, and respond to prompts to set the config register (usually to enable booting into IOS).Use the
resetcommand to reboot the router.
After reboot, the router should load the IOS image per the new config register / boot settings.
Viewing / Using ROMMON Commands & Environment
Checking ROMMON Version
From IOS (when running):
Router# show rom-monitor r0Or:
Router# show platform These commands display the current ROMMON version and hardware details.
ROMMON Commands (Common)
In ROMMON mode, useful commands include:
| Command | Purpose |
|---|---|
boot <image> | Manually boot a specified IOS image file |
confreg | Change or view configuration register settings |
dev | List available local storage devices |
dir | List files on a storage device |
reset | Reboot / reset the system |
set | Show current environment variable settings |
sync | Save the environment variables (persist to NVRAM) |
unset | Remove / clear an environment variable |
help or ? | Show available commands or syntax help |
Note that ROMMON commands are case-sensitive. Pressing Ctrl-C can abort some commands.
You can also change the ROMMON prompt (with PS1=) if managing multiple routers in ROMMON.
Environment Variables & Configuration Register
ROMMON maintains environment variables that define how the router boots (e.g. which image to use, TFTP server, IP settings).
Common variables include:
IP_ADDRESS,IP_SUBNET_MASKDEFAULT_GATEWAYTFTP_SERVER,TFTP_FILEBOOT(which image file to load)
Use
setin ROMMON to display current variables.After setting new variables, use
syncto save them so they persist after reset.The configuration register setting controls boot behavior (whether to boot to IOS, ignore config, etc.).
confregshows or changes it.
How to Upgrade / Update ROMMON
When you upgrade your router’s ROMMON (for example enough for newer IOS compatibility), follow these steps:
Summary Steps
Check current ROMMON version (e.g. via
show platformorshow rom-monitor slot)Copy the ROMMON
.pkgfile tobootflash:or a USB (e.g.usb0:)Verify the file was copied (e.g.
dir bootflash:)Use the
upgrade rom-monitor filename <location> allcommand to start the upgradeAfter the process completes, reload the router
If autoboot is disabled (i.e. config register isn’t 0x2102), manually
bootthe IOS image from ROMMONOnce booted, run
show platformorshow rom-monitor slotto confirm the ROMMON upgrade succeeded
Detailed Steps w/ Notes & Warnings
Be careful not to interrupt power or hardware during the ROMMON upgrade. While recovery is possible in many cases, interruptions may cause unpredictable issues.
The ROMMON upgrade isn’t considered permanent until the router boots successfully into IOS XE after the upgrade.
If autoboot (via config register) isn’t enabled, you'll need to manually
boot filesystem:/<image>in ROMMON after reload.
A sample sequence:
Router# show platformRouter# copy usb0:C1100-rommon-168-1r.pkg bootflash:Router# dir bootflash:Router# upgrade rom-monitor filename bootflash:C1100-rommon-168-1r.pkg all [ wait for output … ]Router# reloadIf required:
rommon> boot bootflash:c1100-universalk9.<version>.binThen:
Router# show platform Router# show rom-monitor r0 Check that the ROMMON version matches the newly installed one.
Document Location
Worldwide
Product Synonym
c1100
Was this topic helpful?
Document Information
Modified date:
24 October 2025
UID
ibm17248738