Egy Cisco kapcsoló elindulásakor a következő rendszerindítási lépéseken megy keresztül:
1. A kapcsoló először betölti a ROM-ból a bekapcsolási öntesztelő programot (Power-On Self Test, POST). A POST ellenőrzi a CPU alrendszert, azaz megvizsgálja a CPU-t, a DRAM-ot, és a flash memóriában található fájlrendszert.
2. Ezután a kapcsoló betölti a rendszerindító szoftvert (boot loader, "csizmahúzó"), mely a ROM-ban tárolt kis program, és a POST sikeres befejeződése után fut le.
3. A boot loader elvégzi a CPU alapszintű inicializálását. Beállítja a CPU-regisztereket, amelyek a fizikai memória használatát, a memória mennyiségét és annak sebességét vezérlik.
4. A boot loader működésre előkészíti az alaplapi flash memória fájlrendszerét.
5. Végül, a boot loader megkeresi és betölti a memóriába az alapértelmezett IOS operációs rendszert, és átadja a kapcsoló vezérlését az IOS-nek.
A boot loader a Cisco IOS-képfájlt a következő sorrendben keresi: a kapcsoló megpróbálja a BOOT környezeti változó szerinti módon végrehajtani a rendszerindítást. Ha ez a változó nincs beállítva, a kapcsoló megkísérli betölteni az első futtatható fájlt, amit a flash memória fájlrendszerében talál a rekurzív mélységi keresés által (recursive Depth-First Search, recursive DFS). Egy könyvtár mélységi keresésében először a könyvtár összes létező alkönyvtára kerül ellenőrzésre, majd a keresés az eredeti könyvtárban folytatódik. A Catalyst 2960 sorozatú kapcsolóknál a képfájl általában a vele megegyező nevű könyvtárban található (kivéve ha .bin a fájl kiterjesztése).
Az IOS operációs rendszer ezután az NVRAM-ban tárolt indító konfigurációs fájl, és az abban található utasítások alapján inicializálja az interfészeket.
Az ábrán a BOOT környezeti változó beállítását látjuk a boot system globális konfigurációs paranccsal. A show bootvar utasítással (show boot régebbi IOS-ek esetén) megnézhetjük az aktuális IOS rendszerindítási beállításait.