本記事について
本記事では Cisco Catalyst 9000 シリーズスイッチ (C9200/C9300/C9400/C9500) の OS バージョンアップ方法について説明します。
動作確認環境
- C9200L-24T-4G
- IOS-XE 17.12.04
前提知識
インストールモードとバンドルモード
Catalyst 9000 シリーズスイッチの OS のモードとしては「インストールモード」と「バンドルモード」が存在します。
- インストールモード
- OS ファイルを複数のパッケージファイル(.pkg)に分割してフラッシュ内にインストールし、機器起動時にはインストールされたパッケージファイルをメモリ上に読み込んで動作するモード
- バンドルモード
- 従来の IOS ルータのように、フラッシュ内に格納された OS ファイル (.bin ファイル) を起動時にメモリ上に展開して動作するモード
Catalyst 9000 シリーズスイッチの工場出荷時のデフォルト状態ではインストールモードになっています。バンドルモードに変更することも可能ですが、あえてバンドルモードに変更するメリットも無いため一般的なネットワーク設計・構築案件ではデフォルトのインストールモードのままで構築を行います。バンドルモードに変更した案件は見たことがありません。このため、インストールモード前提で考えて問題ありません。
本記事ではインストールモードにおけるバージョンアップ方法を説明します。
バージョンアップ先バージョンの選定
ネットワーク設計・構築案件では、バージョンアップを行う前にどのバージョンで構築するかを検討します。バージョン選定方法としては主に以下のような方法があります。
- Cisco 推奨のバージョンを採用する
- 最新のバージョンを採用する
- 別案件や別ロケーションで導入実績のあるバージョンを採用する
- Cisco 推奨バージョンをベースにバグ調査を行い、必要に応じてバグ改修済みバージョンを採用する
Catalyst 9000 シリーズスイッチの Cisco 推奨バージョンをまとめた Cisco ドキュメントとして「Catalyst 9200/9300/9400/9500/9600 プラットフォームの推奨リリース」がありますが、このドキュメントの情報はタイミングによっては最新でない場合があるため参考にしないことをお勧めします。
ブートローダ (ROMMON) のバージョンについて
ブートローダのバージョンは OS のバージョンアップ時に必要な場合は自動でバージョンアップされます。OS のバージョンを元に戻してもブートローダのバージョンが元に戻ることは無く元に戻す方法もありませんが、ブートローダは過去の OS バージョン全てをサポートするため、ブートローダがバージョンアップされることにより問題が起こることは通常ありません。
バージョンアップ先の OS ファイルの入手
バージョンアップを行う際はバージョンアップ先の OS のファイルが必要です。OS ファイルのダウンロードは Cisco の Software Download サイトから行います。一般的に OS ファイルをダウンロードするためには権限のある Cisco アカウントでログインする必要がありますが、Catalyst 9200/9300 の OS ファイルについては権限が必要ないため任意の Cisco アカウントでログインさえしていれば OS ファイルをダウンロードすることができます。権限のある Cisco アカウントを自身で所有していない場合は権限のある関係者 (上司や上位会社) にダウンロードを依頼してください。
詳細なダウンロード手順は以下の記事を参照してください。

バージョンアップ用の環境準備
OS ファイルを格納した FTP/TFTP サーバを用意
バージョンアップをするために対象機器のフラッシュ内に OS ファイルを FTP または TFTP でコピーする必要があります。このため OS ファイルを格納した FTP/TFTP サーバが必要になります。通常は作業で使用する Windows 端末に FTP/TFTP サーバソフトを導入することで作業端末兼 FTP/TFTP サーバとします。FTP/TFTP サーバソフトとしては 3CDaemon または Serve を使用することが最も手軽です。
バージョンアップ用ネットワーク環境の準備
FTP または TFTP で OS ファイルを対象機器のフラッシュにコピーするためには、対象機器と FTP/TFTP サーバがネットワーク経由で接続できる必要があります。そのため、機器の初期設定時の場合は最低限の IP アドレス設定と物理的なネットワーク接続が必要です。Catalyst 9000 スイッチのデフォルト設定ではすべてのダウンリンクポートが Vlan1 のアクセスポートとして動作するため、interface Vlan1 に対して IP アドレスを設定します。
以下は Vlan1 に IP アドレスとして 192.168.1.254/24 を設定する場合の設定例です。
Switch#conf t
Switch(config)#int vlan1
Switch(config-if)#ip address 192.168.1.254 255.255.255.0
Switch(config-if)#end
Switch#
Vlan1 のアドレスを 192.168.1.254/24 に設定した場合、作業端末兼 FTP/TFTP サーバのアドレスは 192.168.1.1-253/24 の何れかのアドレスに設定し、作業端末を LAN ケーブルを使用して対象機器の任意のダウンリンクポートに接続します。これで対象機器と作業端末とがネットワーク接続できるようになります。

作業端末では FTP/TFTP 通信を許可するようファイアウォールを設定するか、ファイアウォール自体を無効化してください。
ダウンリンクポートの代わりに管理ポートを使用することもできます。その場合 IP アドレスの設定は管理ポートに対して行います。また FTP/TFTP から OS ファイルをコピーする際のコマンドで管理ポート用の VRF の指定をする必要があります。
バージョンアップ手順
バージョンアップ用の環境準備ができたら以下の手順でバージョンアップを行います。
#dir コマンドを実行し、現状フラッシュメモリに十分な空き容量 (転送する OS ファイルより大きいこと) があることを確認します。出力の一番最後に空き容量が表示されます。
Switch#dir
Directory of flash:/
40489 drwx 4096 Jun 29 2025 12:25:50 +00:00 pnp-tech
8113 -rw- 2097152 Jun 29 2025 12:20:42 +00:00 nvram_config_bkup
8112 -rw- 2097152 Jun 29 2025 12:20:42 +00:00 nvram_config
--- 中略 ---
97153 drwx 4096 Dec 7 2024 20:30:34 +00:00 tech_support
56673 drwx 4096 Dec 16 2020 17:25:24 +00:00 pcap
8099 -rwx 0 Dec 16 2020 17:25:24 +00:00 mode_event_log
40481 drwx 4096 Dec 16 2020 17:25:24 +00:00 SHARED-IOX
1956839424 bytes total (1310597120 bytes free)
上の出力例の場合、「(1310597120 bytes free)」より約1.3GBの空きがあることが分かります。新 OS ファイルのサイズは約460MBのため、空き容量は十分にあります。
バージョンアップで使用する OS ファイルを対象スイッチのフラッシュメモリにコピーします。
コピーは特権EXECモードにて以下コマンドで実行します。
- #copy ftp://<ftpユーザ名>:<ftpパスワード>@<サーバアドレス>/<OSファイルパス> flash:
- #copy tftp://<サーバアドレス>/<OSファイルパス> flash:
以下は FTP 利用時のコマンド実行例です。
Switch#copy ftp://user01:user01@192.168.45.11/cat9k_lite_iosxe.17.12.05.SPA.bin flash:
Destination filename [cat9k_lite_iosxe.17.12.05.SPA.bin]?
Accessing ftp://*:*@192.168.45.11/cat9k_lite_iosxe.17.12.05.SPA.bin...!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 470819491/4096 bytes]
470819491 bytes copied in 191.420 secs (2459615 bytes/sec)
コピー後 #dir flash:*.bin コマンドでフラッシュ内にOSファイルがコピーされたことを確認します。
Switch#dir flash:*.bin
Directory of flash:/*.bin
Directory of flash:/
8116 -rw- 470819491 Jun 29 2025 13:37:31 +00:00 cat9k_lite_iosxe.17.12.05.SPA.bin
1956839424 bytes total (839307264 bytes free)
#show boot コマンドを実行し、「BOOT variable = flash:packages.conf;」「Manual Boot = no」となっていることを確認します。
Switch#show boot
---------------------------
Switch 1
---------------------------
Current Boot Variables:
BOOT variable does not exist
Boot Variables on next reload:
BOOT variable = flash:packages.conf;
Manual Boot = no
Enable Break = no
Boot Mode = DEVICE
iPXE Timeout = 0
異なる場合、以下コマンドで設定変更します。
- (config)#boot system flash:packages.conf
- (config)#no boot manual
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#boot system flash:packages.conf
Switch(config)#no boot manual
Switch(config)#end
Switch#
設定変更後は #write memory を実行し設定を保存します。その後 #show boot コマンドを実行し、「BOOT variable = flash:packages.conf;」「Manual Boot = no」となっていることを確認します。
特権EXECモードにて以下コマンドを実行して新 OS をインストールします。
- #install add file flash:<OSファイル名> activate commit
Switch#install add file flash:cat9k_lite_iosxe.17.12.05.SPA.bin activate commit
*Jun 29 13:52:21.337: %INSTALL-5-INSTALL_START_INFO: Switch 1 R0/0: install_mgr: Started install add_activate_commit flash:cat9k_lite_iosxe.17.12.05.SPA.bininstall_add_activate_commit: START Sun Jun 29 13:52:21 UTC 2025
install_add: START Sun Jun 29 13:52:21 UTC 2025
install_add: Adding IMG
古い OS バージョンの場合、未保存のコンフィグがあると設定を保存するかどうかを聞かれるため y/n/q の何れかを押下して応答します。
- Press Quit(q) to exit, you may save configuration and re-enter the command. [y/n/q]
- y → 保存する
- n → 保存しない
- q → 処理を中止する
新しい OS バージョンの場合、未保存のコンフィグがあると以下のようなエラーになり処理が中止されます。この場合はコンフィグを保存してから再度インストールコマンドを実行してください。
- [1] Switch 1 FAILED: System configuration has been modified. Please save configuration and resubmit command
その後しばらく待つと、以下のメッセージ (「再起動が必要となるが続行するか?」) が表示されるため「y」を押下して続行します。
This operation may require a reload of the system. Do you want to proceed? [y/n]
バージョンアップ処理中は機器の再起動が発生します。再起動が完了し CLI 操作が可能になればバージョンアップは完了です。
#show version コマンドを実行し、新バージョンで起動していることを確認します。
Switch#show version
Cisco IOS XE Software, Version 17.12.05
Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_LITE_IOSXE), Version 17.12.5, RELEASE SOFTWARE (fc5)
--- 中略 ---
Switch Ports Model SW Version SW Image Mode
------ ----- ----- ---------- ---------- ----
* 1 28 C9200L-24T-4G 17.12.05 CAT9K_LITE_IOSXE INSTALL
Configuration register is 0x102
#show install summary コマンドを実行し、State (St) が C であることを確認します。
Switch#show install summary
[ Switch 1 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type St Filename/Version
--------------------------------------------------------------------------------
IMG C 17.12.05.0.6246
--------------------------------------------------------------------------------
Auto abort timer: inactive
--------------------------------------------------------------------------------
また #dir コマンドを実行し、新バージョンのファイルがインストールされていることを確認します。
Switch#dir
Directory of flash:/
--- 中略 ---
8120 -rw- 4905 Jun 29 2025 13:57:51 +00:00 cat9k_lite_iosxe.17.12.05.SPA.conf
8126 -rw- 44408459 Jun 29 2025 13:57:47 +00:00 cat9k_lite-rpboot.17.12.05.SPA.pkg
8125 -rw- 11780096 Jun 29 2025 13:56:12 +00:00 cat9k_lite-webui.17.12.05.SPA.pkg
8124 -rw- 6463488 Jun 29 2025 13:56:12 +00:00 cat9k_lite-srdriver.17.12.05.SPA.pkg
8123 -rw- 408608768 Jun 29 2025 13:56:12 +00:00 cat9k_lite-rpbase.17.12.05.SPA.pkg
8117 drwx 4096 Jun 29 2025 13:54:00 +00:00 .images
8116 -rw- 470819491 Jun 29 2025 13:37:31 +00:00 cat9k_lite_iosxe.17.12.05.SPA.bin
--- 中略 ---
1956839424 bytes total (433037312 bytes free)
#install remove inactive コマンドを実行し、古い OS のファイルを削除します。
Switch#install remove inactive
*Jun 29 14:10:42.988: %INSTALL-5-INSTALL_START_INFO: Switch 1 R0/0: install_mgr: Started install removeinstall_remove: START Sun Jun 29 14:10:42 UTC 2025
install_remove: Removing IMG
Cleaning up unnecessary package files
No path specified, will use booted path /flash/packages.conf
Cleaning /flash
Scanning boot directory for packages ... done.
Preparing packages list to delete ...
[R0]: /flash/packages.conf File is in use, will not delete.
[R0]: /flash/cat9k_lite_iosxe.17.12.05.SPA.conf File is in use, will not delete.
[R0]: /flash/cat9k_lite-rpbase.17.12.05.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k_lite-rpboot.17.12.05.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k_lite-srdriver.17.12.05.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k_lite-webui.17.12.05.SPA.pkg File is in use, will not delete.
The following files will be deleted:
[R0]: /flash/cat9k_lite-rpbase.17.12.04.SPA.pkg
[R0]: /flash/cat9k_lite-rpboot.17.12.04.SPA.pkg
[R0]: /flash/cat9k_lite-srdriver.17.12.04.SPA.pkg
[R0]: /flash/cat9k_lite-webui.17.12.04.SPA.pkg
[R0]: /flash/cat9k_lite_iosxe.17.12.05.SPA.bin
Do you want to remove the above files? [y/n]
上のように削除対象ファイルリストが表示されます。FTP/TFTP でコピーした新 OS の「.bin」ファイルも削除対象になります。以下の確認メッセージが表示されるため、「y」を押下して続行します。
- Do you want to remove the above files? [y/n]
Do you want to remove the above files? [y/n]y
Deleting file /flash/cat9k_lite-rpbase.17.12.04.SPA.pkg ... done.
Deleting file /flash/cat9k_lite-rpboot.17.12.04.SPA.pkg ... done.
Deleting file /flash/cat9k_lite-srdriver.17.12.04.SPA.pkg ... done.
Deleting file /flash/cat9k_lite-webui.17.12.04.SPA.pkg ... done.
Deleting file /flash/cat9k_lite_iosxe.17.12.05.SPA.bin ... done.
SUCCESS: Files deleted.
--- Starting Post_Remove_Cleanup ---
Performing REMOVE_POSTCHECK on all members
Finished Post_Remove_Cleanup
SUCCESS: install_remove Sun Jun 29 14:11:38 UTC 2025
以上で古い OS ファイルの削除は完了です。
削除後に #dir コマンドを実行して旧 OS ファイルが削除されていることを確認します。
以上でバージョンアップ手順は完了です。
バージョンダウン手順
バージョンダウンの手順は上に記載しているバージョンアップの手順と同様です。より古いバージョンの OS ファイルを使用して同じ手順を実施することになります。
スタック構成でのバージョンアップ方法
スタック構成時にバージョンアップを行う場合、アクティブ機のみで上に記載しているバージョンアップ手順を実施します。これによりすべてのメンバースイッチも含めてバージョンアップされます。
参考資料
- Catalyst 9000 スイッチのアップグレードガイド
- Cisco IOS XE Dublin 17.12.x(Cisco Catalyst 9200 シリーズ スイッチ)リリースノート
- Catalyst 9200スイッチのアップグレード
Cisco Catalyst 9000 シリーズスイッチ (C9200/C9300/C9400/C9500) 関連記事一覧
Amazon で買えるおすすめアイテム
以下は Amazon アフィリエイトリンクです。ネットワーク作業向けにそこそこおすすめなアイテムです。
コメント