Sei sulla pagina 1di 3

Cisco ROMmon recovery - come e cosa fare per ripristinare la

funzionalità del vostro router

L'avvio di un router Cisco avviene attraverso una serie di fasi dette "Sequenza di Boot", la cui conoscenza è
fondamentale per la corretta comprensione delle funzionalità dell'apparato, della sua gestione e del di lui
troubleshooting.

È possibile gestire la "Sequenza di Boot" tramite la personalizzazione del "Configuration Register" (registro di
configurazione) e alcune procedure di troubleshooting prevedono la modifica momentanea di questo registro.

Dopo una corretta procedura di avvio un router non ancora configurato presenta il seguente prompt:
Router>
ma potrebbe anche accadere che non completi la "Sequenza di Boot" e si presenti nella modalità ROM Monitor
(ROMmon), modalità che in taluni casi potrebbe anche essere desiderata per attività di troubleshooting:
rommon1>
Due sono le possibili cause che portano il router ad entrare in modalità ROMmon (detta anche modalità
bootstrap): se il registro di configurazione è settato su determinati valori oppure se durante la sequenza di boot
non viene trovata una valida immagine del sistema operativo IOS.

È anche possibile entrare nella modalità ROMmon inviando una "sequenza di break" al router durante la fase di
avvio. Può essere utile entrare in questa modalità, come sopra accennato, per effettuare alcuni tipi di operazioni
(come ad esempio Password Recovery) e per attività di troubleshooting.

Cosa fare?

Se il vostro router entra in modalità ROMmon, la prima cosa da fare è mantenere l'autocontrollo, non disperare
e finire di leggere il seguente articolo e quelli ad esso correlati adottando la seguente procedura:

1. controllare il valore del "Configuration Register"


2. controllare la mancanza di un valido sistema operativo IOS

Vi chiederete come è stato possibile che accadesse. Le risposte potrebbero essere molteplici: per errore avete
cancellato il sistema operativo (erase flash:) invece di cancellare il file di configurazione (erase startup-config),
oppure avete eseguito una procedura di troubleshooting che prevedeva la modifica del "Configuration Register"
e poi vi siete dimenticati di ripristinare il valore iniziale, oppure vi trovate in modalità ROMmon perchè avete
volutamente forzato tale procedura.

1) Il "Configuration Register" è un registro software di 16 bit espresso in valore esadecimale. Gli ultimi quattro
bit (boot field) indicano al router come effettuare la "Sequenza di Boot":

• con valore 00 l'avvio avverrà in modalità ROM monitor. Il valore del registro sarà 0x2100;

• con valore 01 l'avvio avverrà utilizzando l'immagine IOS residente nella ROM (the boot helper image).
Il valore del registro sarà 0x2101;

• con valori da 02 a F l'avvio avverrà secondo quanto specificato nella configurazione in NVRAM (boot
system). Il valore del registro potrà variare da 0x2102 a 0x210F.

Pertanto se il valore del boot field è 00, all'avvio il sistema entrerà in modalità ROM monitor (rommon>),
attendendo che qualcuno avvi il sistema manualmente.

Per verificare il valore del registro di configurazione in modalità ROMmon utilizziamo il comando confreg.
Otterremo un output simile a questo:
rommon 1 > confreg

Configuration Summary
(Virtual Configuration Register: 0x2100)
enabled are:
load rom after netboot fails
console baud: 9600
boot: the ROM Monitor

do you wish to change the configuration? y/n [n]:


Come si può vedere in questo caso il registro di configurazione è settato in maniera tale che ogni volta che il
router viene riavviato entrerà automaticamente in modalità ROMmon (boot: the ROM Monitor). Per far sì che il
router si avvi automaticamente da una valida copia del sistema operativo IOS la procedura più semplice da
seguire consiste nel rispondere no alla sopracitata domanda, modificare direttamente il valore del registro e
riavviare il sistema usando il comando reset:
do you wish to change the configuration? y/n [n]: n
rommon 2 > confreg 0x2102
You must reset or power cycle for new config to take effect
rommon 3 > reset
Oppure potete procedere passo passo nella modifica della configurazione ponendo molta attenzione ai
parametri che andrete a modificare (nel nostro caso sarà sufficiente modificare esclusivamente i parametri di
boot):
do you wish to change the configuration? y/n [n]: y
enable "diagnostic mode"? y/n [n]:
enable "use net in IP bcast address"? y/n [n]:
disable "load rom after netboot fails"? y/n [n]:
enable "use all zero broadcast"? y/n [n]:
enable "break/abort has effect"? y/n [n]:
enable "ignore system config info"? y/n [n]:
change console baud rate? y/n [n]:
change the boot characteristics? y/n [n]: y
enter to boot:
0 = ROM Monitor
1 = the boot helper image
2-15 = boot system
[0]: 2
Configuration Summary
(Virtual Configuration Register: 0x2102)
enabled are:
load rom after netboot fails
console baud: 9600
boot: image specified by the boot system commands
or default to: cisco2-C2600

do you wish to change the configuration? y/n [n]: n


You must reset or power cycle for new config to take effect
rommon 2 > reset
In entrambi i casi dopo aver dato il comando reset il router si avvierà caricando l'immagine del software IOS.

System Bootstrap, Version 12.2(8r) [cmong 8r], RELEASE SOFTWARE (fc1)


Copyright (c) 2003 by cisco Systems, Inc.
C2600 platform with 131072 Kbytes of main memory
program load complete, entry point: 0x80008000, size: 0x1be703c
Self decompressing the image : #######################################

2) Se il valore del registro di configurazione è settato in maniera tale da avviare il router automaticamente da
una valida immagine del sistema operativo IOS, nessuna sequenza di break è stata inviata al router durante la
fase di avvio, e tuttavia il router entra in modalità ROMmon, probabilmente ciò è dovuto al fatto che il router
stesso non è capace di trovare un valido sistema operativo IOS.

Per ovviare a questo problema, verifichiamo se è presente nel router un sistema operativo IOS valido
utilizzando il comando dir <device>, ponendo attenzione che se il router restituisce il messaggio "bad device
name" significa che il nome specificato per il device non esiste.

Ad esempio verificando il contenuto della Flash potremmo ottenere un risultato simile al seguente:

rommon 1 > dir flash:


File size Checksum File name
5358032 bytes (0x51c1d0) 0x7b16 c2600-i-mz.122-10b.bin
rommon 2 >
Il risultato sopra indicato conferma l'esistenza di una valida immagine del sistema operativo IOS presente nella
Flash. Provate in questo caso a riavviare il router da questa immagine con il comando boot.
rommon 2 > boot flash:c2600-i-mz.122-10b.bin
program load complete, entry point: 0x80008000, size: 0x51c0dc