Skip to content

RouterOS Upgrade Procedures

Upgrading RouterOS is a routine maintenance task, but it requires a methodical approach to avoid service disruption. This guide covers the complete upgrade workflow: pre-upgrade backups, checking for updates, applying packages, upgrading RouterBOARD firmware, and recovering from failed upgrades.

RouterOS upgrades involve two distinct components:

  • RouterOS packages — the operating system and feature packages installed on the router
  • RouterBOARD firmware — the bootloader stored in hardware flash (upgraded separately)

Both may need updating after a RouterOS release, but they are applied independently and in a specific order.

Always back up before any upgrade. Use both methods for maximum flexibility:

# Binary backup (for same-version restore)
/system backup save name=pre_upgrade
# Text export (portable, version-independent)
/export file=pre_upgrade_export

The binary backup restores the complete configuration but is version-sensitive. The text export is a script that can be manually reviewed and applied across versions.

Verify sufficient free space before downloading packages:

/system resource print

Look at the free-hdd-space field. RouterOS v7 packages require approximately 20% more space than equivalent v6 packages. Remove unused packages or temporary files if storage is tight:

/file print
/file remove [find name~"tmp"]

For major version upgrades (e.g., v6 to v7), ensure your hardware and current RouterOS version support the target. Devices running RouterOS v6.x below v6.47 must first upgrade to v6.47+ before migrating to v7. See RouterOS v6 to v7 Migration for migration-specific guidance.

/system package update check-for-updates

After the check completes, view the result:

/system package update print

Key fields in the output:

FieldDescription
channelUpdate channel (stable, long-term, testing, development)
installed-versionCurrently running RouterOS version
latest-versionNewest available version on the selected channel
statusWhether a new version is available

Navigate to System → Packages → Check For Updates. Select the desired Channel from the dropdown, then click Check For Updates.

ChannelDescription
stableRecommended for production; thoroughly tested releases
long-termExtended support release; fewer updates, maximum stability
testingRelease candidates; not recommended for production
developmentNightly builds; for development and testing only

Set the channel before checking:

/system package update set channel=stable

This is the standard upgrade method. It downloads the new packages and reboots to apply them:

/system package update install

The router reboots automatically after the download completes. This is equivalent to clicking Download&Install in Winbox.

Download packages without immediately rebooting, then reboot during a maintenance window:

/system package update download

After downloading, the router installs the new version on the next reboot:

/system reboot

Confirm the installed packages and their versions:

/system package print
  1. Go to System → Packages → Check For Updates
  2. Select the Channel
  3. Click Download&Install for immediate upgrade, or Download to install on next reboot

RouterBOARD firmware is the bootloader stored in device hardware — separate from RouterOS packages. After upgrading RouterOS, check whether a matching firmware update is available.

/system routerboard print

Compare current-firmware and upgrade-firmware. If they differ, a firmware upgrade is available.

Always upgrade RouterOS first, reboot, then upgrade firmware. This order ensures the new bootloader is compatible with the new RouterOS version:

# Step 1: Upgrade RouterOS packages and reboot (as above)
/system package update install
# router reboots automatically
# Step 2: After RouterOS reboot, upgrade RouterBOARD firmware
/system routerboard print
/system routerboard upgrade
# Step 3: Reboot to activate new firmware
/system reboot
# Step 4: Confirm firmware is current
/system routerboard print
# current-firmware should now match upgrade-firmware

RouterBOARD firmware writes directly to hardware flash. Power failure during a firmware write can leave the device unbootable. Before upgrading firmware:

  • Use a UPS or ensure stable power
  • Prefer local (console) access over remote-only sessions
  • Schedule during a maintenance window
  • Have Netinstall available as a recovery option

If the router still boots after an upgrade but you need to revert, RouterOS supports downgrading by uploading older package files:

  1. Download the target .npk package files for your device architecture from mikrotik.com/download
  2. Upload them to the router (via Winbox Files or /tool fetch)
  3. Initiate the downgrade:
/system package print
/system package downgrade
/system reboot

RouterOS selects the older installed package set on reboot.

To restore configuration after a failed upgrade (if the router is accessible):

# Restore binary backup (same version required)
/system backup load name=pre_upgrade password=""
# Or import text export (works across versions)
/import file=pre_upgrade_export.rsc

Binary backups are version-sensitive — restore them on the same RouterOS version. Text exports are more portable and can be imported after reinstall or version change.

When a router fails to boot after upgrade, use Netinstall to reinstall RouterOS:

  1. Download Netinstall and the RouterOS .npk package for your device from mikrotik.com/download

  2. If the router is still partially accessible, prepare it for Etherboot:

    /system routerboard settings set boot-device=try-ethernet-once-then-nand
    /system reboot
  3. Connect the router directly to your computer with an Ethernet cable

  4. Run Netinstall, select the device when it appears, select the .npk package, and click Install

See Netinstall for the complete recovery procedure including network setup, LED behavior, and troubleshooting.

RouterBOARD devices have main and backup booters. If the main booter is damaged, the backup booter may allow the device to boot into a recovery state. Consult mikrotik.com/download for device-specific RouterBOOT documentation.

CausePrevention
Wrong package architectureVerify device architecture with /system resource print before downloading
Insufficient storageCheck free-hdd-space before downloading; remove unneeded files
Power interruption during firmware flashUse UPS; schedule during stable maintenance window
Incomplete package setDownload the full package set for your feature requirements

For managing upgrades across multiple routers, RouterOS supports fetching updates from a central router acting as a local package mirror:

# On each router, configure the local package server
/system package local-update update-package-source set address=10.0.0.1 user=admin password=secret
# Install from the local server
/system package local-update install

This reduces internet bandwidth consumption for large deployments and allows controlled rollout of updates across the fleet.

Before upgrading:

  • Back up configuration (binary + text export)
  • Verify available storage
  • Confirm upgrade path is supported
  • Set update channel to stable (or your policy channel)

Apply the upgrade:

  • Run check-for-updates and review versions
  • Run install (or download + manual reboot)

After RouterOS reboot:

  • Verify installed-version with /system package print
  • Run /system routerboard print to check firmware
  • Run /system routerboard upgrade if current-firmwareupgrade-firmware
  • Reboot to activate new firmware
  • Confirm firmware with /system routerboard print