Upgrading IOS on a Cisco Router in ROMMON Mode

How many times have I received a router that has no operating system on it?  Way to many!!  You turn on the router and it comes up in ROM Monitor mode (ROMMON).

There is a way to get the operating system on the router from ROMMON.  Below, I have documented the procedure.


Before starting the procedure of IOS upgrade or installation, you need to know the IP address of a TFTP server that has the IOS binary file.  Certainly this can be your PC or laptop.  If you chose your laptop, you will need to install TFTP server software on a PC connected to the router Ethernet interface. There are many free downloadable TFTP servers’ software on the Internet.

Afterwards, you make sure to direct the TFTP server to the folder containing the new IOS image that you have.

If you are using this procedure to upgrade the IOS file and your router works fine, it is preferred to backup the old IOS file before starting the upgrade procedure.


1. Create a console connection with the default settings (9600 baud, 8 databits, 0 parity bits, 1 stop bit, no flow control).

2. If your flash or IOS file are corrupted and your router goes directly to router boot mode (Router(boot)#), go to step 4. If your router has some problems and boots into the ROMmon mode directly(rommon 1> or >), go to step 3. If your router boots normally, interrupt the router boot sequence by pressing Ctrl-Break once the router is powered on. This will take you to ROMmon mode with the prompt:

rommon 1>



3. Change the value of the configuration register to 0x2101 to instruct the router to boot into router boot mode. Afterwards, reload the router.

If you have the ‘rommon 1>’ prompt use the commands:

rommon 1> confreg 0x2101

rommon 2> reset

While if you have the ‘>’ prompt, use:

> o/r 0x2101

> i

4. Now you are in the router boot mode with the prompt (Router(boot)#), you will need to give a valid IP address and default-gateway address to the router so it can communicate with the TFTP server.


Router(boot)#configure terminal

Router(boot)(config)#interface ethernet 0

Router(boot)(config-if)#ip address ZZZ.ZZZ.ZZZ.ZZZ

Router(boot)(config-if)#no shutdown

Router(boot) (config-if)#exit

Router(boot)(config)#ip default-gateway YYY.YYY.YYY.YYY

5. Check the connectivity between the router and the TFTP server with the ‘ping’ command.

6. Start the copying of the new IOS file from the TFTP server to the flash.

Router(boot)#copy tftp flash

Now you will be asked for the IP address of the TFTP server

Address or name of remote host []? XXX.XXX.XXX.XXX

Then, the source file name,

Source file name? cXXXX-X-X.XXX-XXX.bin

Please note that the file name is case sensitive and make sure that the TFTP server’s working directory is the one containing the new IOS file.

Afterwards, you will be asked for a destination file name,

Destination file name [cXXXX-X-X.XXX-XXX.bin]?

It is advised that you keep the file name unchanged for future reference.

Accessing file ‘cXXXX-X-X.XXX-XXX.bin’ on XXX.XXX.XXX.XXX…

Loading cXXXX-X-X.XXX-XXX.bin from XXX.XXX.XXX.XXX (via Ethernet0):

! [OK] Device needs erasure before copying new file

Erase flash device before writing? [confirm]y

Copy ‘cXXXX-X-X.XXX-XXX.bin’ from server as ‘cXXXX-X-X.XXX-XXX.bin’ into Flash

WITH erase? [yes/no]yes

Erasing device…



eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee …erased


Loading cXXXX-X-X.XXX-XXX.bin from XXX.XXX.XXX.XXX (via Ethernet0): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!











[OK – xxxxxx/yyyyyyy bytes]Verifying checksum… OK (0x6526)

Flash device copy took 00:yy:yy [hh:mm:ss]


7. Change back the configuration register value to 0x2102.

Router(boot)#configure terminal

Router(boot)(config)#config-register 0x2102



8. Reload the router


System configuration has been modified. Save? [yes/no]: no

Building configuration…


Proceed with reload? [confirm]

9. Everything should look fine now, and you should be getting the regular (Router>) prompt. To check the version and file name of the new IOS, use the ‘show version’ command.

We hope this helps you understand how to update Cisco IOS from an TFTP server.

Leave a Comment

Contact Us Here

Please verify.
Validation complete :)
Validation failed :(
Your contact request has been received. We usually respond within an hour, but please be patient. We will get back to you very soon.
Scroll to Top