Upgrading Cisco Catalyst 9300 switches running IOS XE is a routine task—but in production networks, it is also a high-risk change operation. A failed upgrade can trigger boot loops, stack desynchronization, or PoE outages that violate SLAs and impact business-critical services.
This guide is not just a list of commands. It is a production-ready upgrade framework that combines correct IOS XE procedures, clean install discipline, USB-based recovery, and real-world risk management used by experienced network engineers.
Table of Contents
- Part 1: Upgrade Modes Overview
- Part 2: Pre-Upgrade Checklist
- Part 3: Clean Install Discipline
- Part 4: USB Flash Drive Preparation
- Part 5: Install Mode Commands
- Part 6: Stack Upgrade Validation
- Part 7: Recovery Procedures
- Part 8: Engineering Risk Management
- Part 9: FAQ
- Part 10: Final Thoughts

Part 1: Upgrade Modes Overview
Before running any upgrade command on Cisco 9300, you must choose the correct upgrade mode. Many upgrade failures originate here.
Install Mode (Recommended for Production)
Introduced in IOS XE 16.6.2, Install Mode uses a modular architecture:
- The
.binfile is extracted into multiple.pkgfiles - The switch boots using
packages.conf
Why engineers prefer it:
- Faster and more predictable boot behavior
- Better memory utilization
- Stack-wide package consistency
- Supports rollback and ISSU-related workflows
Clean install note: A “clean install” is not a separate mode—it means removing inactive packages before installing a new image to eliminate legacy conflicts.
Bundle Mode (Legacy / Emergency Use)
Bundle mode boots directly from a single .bin file.
Drawbacks in production:
- Slower boot
- No package management
- Higher risk of long-term inconsistencies
Best practice: Use bundle mode only for temporary recovery or testing, not steady-state operation.
Part 2: Pre-Upgrade Checklist
Successful IOS XE upgrades are won before the reload.
Mandatory Pre-Checks
Example CLI command to verify software version and flash:
show version
show install summary
dir flash:
show switch
Verify:
- All stack members are in Ready state
- Sufficient free flash space (≥ 1 GB recommended)
- No failed or partially installed packages
Backup Configuration (Non-Negotiable)
Always back up:
- Running configuration
- VLAN / stack topology documentation
This is basic discipline—but still the most skipped step in failed upgrades.
Part 3: Clean Install Discipline
On long-lived Catalyst 9300s, leftover packages are one of the top causes of boot failures.
Why Clean Install Matters
- Prevents package version conflicts
- Frees flash space
- Reduces post-upgrade anomalies
Clean Up Old Files
Example CLI command to remove inactive packages:
install remove inactive
⚠️ Engineering note: If this command reports large inactive sets, do not proceed until cleanup completes successfully.
Part 4: USB Flash Drive Preparation
Using a USB flash drive is strongly recommended for:
- Remote sites
- Limited WAN bandwidth
- Emergency recovery scenarios
USB Requirements
- File system: FAT32
- No encryption
- Simple directory structure
Verify on the switch:
dir usbflash0:
If the USB is not recognized, reformat it on a PC and retry.
Why USB matters in production: If flash or network transfer fails, USB is often the fastest and safest recovery path.
Part 5: Install Mode Commands
Step 1: Copy Image to Flash
Example CLI command to copy IOS XE image:
copy usbflash0:cat9k_iosxe.17.x.x.SPA.bin flash:
Step 2: Verify Boot Variables
Ensure the switch boots from packages.conf:
conf t
no boot system
boot system flash:packages.conf
no boot manual
end
write memory
Step 3: Install, Activate, and Commit
Example CLI command to install and commit the image:
install add file flash:cat9k_iosxe.17.x.x.SPA.bin activate commit
The switch will reload automatically.
Part 6: Stack Upgrade Validation
After reload, confirm full stack consistency:
show version
show install summary
show switch
All members must:
- Run the same IOS XE version
- Show consistent package status
- Join the stack without manual intervention
Natural Brand Integration:
Large stacks across multiple sites demand consistent images and package status. Teams often rely on trusted suppliers like Router-switch for verified IOS XE images and hardware authenticity, ensuring stack validation processes don’t fail due to inconsistent or counterfeit components.
Any mismatch here is a stop signal, not a “fix later” issue.
Part 7: Recovery Procedures
Even with perfect preparation, hardware failures can surface during reboots. This is why recovery planning is part of a production upgrade, not an afterthought.
Option 1: Temporary Boot from USB
At the switch: prompt:
boot usbflash0:cat9k_iosxe.17.x.x.SPA.bin
This allows limited access to troubleshoot or reinstall.
Option 2: Emergency Install (Last Resort)
switch: emergency-install usbflash0:cat9k_iosxe.17.x.x.SPA.bin
⚠️ Warning: This erases flash storage and should only be used when standard recovery fails.
Part 8: Engineering Risk Management
In real production networks, software is not the only failure domain.
During upgrades, engineers most often encounter:
- Flash memory errors
- Power module failures
- Stack member hardware faults
That’s why experienced teams treat IOS XE upgrades as risk-managed change events, not just CLI tasks. A robust strategy always includes hardware contingency planning—such as sourcing from verified suppliers with extended warranty and secondary inspection—so that a single failed component does not turn a maintenance window into a business outage.
Part 9: FAQ
Q1.How to upgrade IOS XE on a Cisco 9300 switch?
Use Install Mode with install add file … activate commit after cleaning inactive packages and validating boot variables.
Q2.How to upgrade IOS in Cisco switch step by step?
1. Backup configuration
2. Remove inactive packages
3. Copy image (USB recommended)
4. Verify boot variables
5. Install, activate, and reload
6. Validate stack consistency
Q3.What is the latest Cisco IOS XE version?
As of recent releases, IOS XE 17.12.x (Dublin) is a major train for Catalyst 9300. Always verify Cisco’s recommended release for your hardware and feature set.
Part 10: Final Thoughts
A safe Cisco 9300 IOS XE upgrade is not about memorizing commands. It’s about combining:
- Correct upgrade mode selection
- Clean install discipline
- USB-based recovery readiness
- Hardware risk awareness
Teams that follow this approach don’t just upgrade faster—they recover faster when something goes wrong.
Before executing a production upgrade, many organizations source IOS XE images and switches from trusted providers like Router-switch, where authenticity, inspection, and warranty coverage reduce the risk of unexpected failures during critical maintenance windows.

Expertise Builds Trust
20+ Years • 200+ Countries • 21500+ Customers/Projects
CCIE · JNCIE · NSE7 · ACDX · HPE Master ASE · Dell Server/AI Expert






































































































































