Cisco switches and routers follow a structured boot sequence that moves from hardware testing through IOS loading to configuration file processing. Understanding each stage — POST, bootstrap, IOS location, and startup config — is essential for managing and troubleshooting network devices.
Cisco Device Boot Process
As we mentioned, there is software on these switches and devices, and because of that — similar to a computer, well, it is a computer — it's got to load that software up.
When you turn on the device, the steps it takes to get everything up and running are that first of all it goes through a POST, or a power on self test. This is similar to a computer, where it starts testing its equipment to make sure everything is functioning as it should during this process.
Then next, what it'll do is it will load the bootstrap program, or the bootloader program, in order to take its next steps. Then it goes into locating the IOS and loading the IOS, and then finally we get into the configuration of the device and loading the configuration up.
Once it's done the power on self test, now it goes to the bootstrap program, or the bootloader program. The bootstrap program is a program that loads and starts executing to get all the gears in motion. So it's a real basic set of instructions on just getting things up and going: doing a few more basic tests, initializing memory, finding and locating the IOS, and then starting to load the IOS up in the system and executing the IOS. So the bootstrap program is the thing that kind of kicks things off and gets the motion going with all the software that needs to be set up on this device to make sure it's running and functioning correctly.
During this bootstrap process, it's going to take a look at the configuration register value. The configuration register value is just a simple little hexadecimal number that's in there that's going to represent what this device is supposed to do during startup.
What I mean by that is, let me just give you an example. When we take a look at it, you'll see it starts with a 0x and then it'll be a 21, and let's say it says zero zero — that's a flag that says you need to go into ROMmon mode, and we'll talk about ROMmon more in here in a bit. If it says 0x 101, it's going to go into rxboot. If it sees 0x 2, then it's going to load the IOS. In fact, we can specify which IOS it loads, by anything up to F, so up to 210F is going to specify certain IOSes to load.
And then another one that I'll mention here is 2142. 2142 loads the IOS, but it does not load the configuration file. The advantage of that is that, since the password's in the configuration file, it's a way to bypass — if you've got access to the equipment, it would be a way to bypass the password and get into your device. So that way, if you lost your password for some reason, you can still get into the device and fix it. But we'll talk more about that later.
Just know that this bootstrap program looks for the configuration register value to find out what it should be doing to get this device up and running.
So during that bootstrap program, what it's going to do is locate that IOS, and then in this stage it actually loads that IOS and gets that device up and running on that IOS, whatever IOS it finds. If none is specified — there are times when you don't specify an IOS — then what it's just going to do is look up into its file system and find the first available, and it's alphabetical, and it'll find the first available IOS to load.
I briefly mentioned ROMmon mode. There are ways to get into ROMmon mode by changing the configuration value, and there are also certain things that you can do during the startup process of this device to get into ROMmon mode.
So what is ROMmon mode? ROMmon mode is a really basic set. You can think of it maybe a little like BIOS, where you get into BIOS and there's some diagnostics that you can run, or if you need to get in there to change the configuration value, then that way you can boot up without it loading the configs. So there are some certain basic commands and certain things you can do.
I've even seen where a student will wipe the IOS off of a device, and now it can't even start up into the IOS, and then it will go into ROMmon mode, and you have to use the commands within ROMmon mode to get a new IOS on that device, so you can at least get it started and get it functioning again.
The ROMmon that it gets into is a basic command set to do some basic troubleshooting and some basic commands on that switch, in case something happens and you need to be able to really get to the core of it and make some alterations to it.
Then we have the config. As soon as we've got this IOS loaded up in the machine, as long as we've said not to bypass this config, it will look for that config and load that config. So it's looking for this startup-config, and once it gets that, then it's going to load it up into the RAM. It becomes the startup-config, and then it will use that for all of its functionality. If it doesn't, then it goes into a setup mode.
The IOS could be on flash, it could be on — you know, it could exist on multiple locations, and so it has to locate that IOS.
TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.
Explore free tools and programs →