By default, a Cisco router uses a configuration register setting that tells it to boot using the first IOS image stored in Flash memory. If a valid IOS image isn’t found in Flash, it will then attempt to “netboot” using an IOS image stored on a TFTP server. If even this fails, the default configuration register tells the router to boot using the image stored in ROM. This default behavior of the router can also be changed by specifying boot system commands in a router’s startup configuration file.
For example, it’s quite possible that your system has enough Flash memory to store multiple IOS images. If this is the case, you can specify the image that should be loaded when the router boots by using the boot system command, followed by the IOS filename of the image you wish the router to load. The boot system commands also allow you to configure your router for fault-tolerant booting. For example, you can specify multiple boot system commands that will form the order in which your router will attempt to load an IOS image.
The following example shows a router configured to boot from an image in Flash, followed by an image stored on a TFTP server, and if neither is available, into the boot image stored in ROM.
Router(config)#boot system flash c2500-js-l.120-7.T
Router(config)#boot system tftp c2500-js-l.120-7.T 192.168.1.100
Router(config)#boot system rom
After issuing the boot system commands, they can be viewed using show run. Don’t forget that changes need to be saved using copy run star.
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
boot system flash d2500.bin
boot system tftp d2500.bin 192.168.1.100
boot system rom
enable secret 5 $1$.vqP$WjeX3EZhdUnY80YHXbeNh0