MikroTik RouterOS Download and Installation Guide: From CHR to Physical Routers
RouterOS runs on three completely different kinds of hardware, and the installation process is different for each one. A RouterBOARD device ships with RouterOS already installed and licensed. An x86 PC needs you to install it yourself and buy a license. A CHR instance needs neither a physical device nor a traditional license key, just a virtual machine and an account on mikrotik.com. This guide covers all three paths, plus Netinstall for recovery and reinstallation, and the licensing details that trip up engineers moving between them for the first time.
Table of Contents
- RouterOS: One OS, Three Deployment Paths
- Understanding RouterOS Version Numbers and Release Chains
- Physical MikroTik Hardware: What’s Already Done for You
- Installing RouterOS on Bare-Metal x86 Hardware
- Licensing x86 Installations: Software ID and License Keys
- CHR: Installing RouterOS as a Virtual Machine
- CHR Licensing: Free, P1, P10, and Perpetual-Unlimited
- Sizing a CHR Instance: RAM and vCPU
- Deploying CHR on Common Hypervisors and Cloud Platforms
- Netinstall: Reinstalling and Recovering Physical Devices
- Choosing the Right Release Chain
- Post-Install Checklist
- Troubleshooting Common Install Issues
- Quick-Reference Cheat Sheet
- Conclusion
RouterOS: One OS, Three Deployment Paths
| Path | Install Needed? | Licensing | Typical Use |
|---|---|---|---|
| RouterBOARD / physical MikroTik hardware | No — ships preinstalled | Preloaded, bound to the device’s storage | Production routers, switches, access points |
| x86 bare-metal PC | Yes — ISO boot or Netinstall | Purchased separately, bound to Software ID | Repurposed hardware, high-throughput custom builds |
| CHR (Cloud Hosted Router) | Yes — VM image import | Separate CHR license levels, tied to the instance | Cloud deployments, labs, virtual routing, route reflectors |
All three run the exact same RouterOS — the same features, the same CLI, the same WinBox interface. What differs is how RouterOS gets onto the hardware and how it proves it is licensed to run.
Understanding RouterOS Version Numbers and Release Chains
- Version numbers are not decimals. “2.5” does not mean “two and a half” — it means the fifth second-level revision of the second first-level revision. This is why version 5.18 is newer than version 5.2, even though 5.2 looks numerically larger read as a decimal.
- RouterOS ships across four release chains: Long-term, Stable, Testing, and Development. Each represents a different point on the stability-versus-newness tradeoff.
- You choose a release chain at install and upgrade time — this choice determines which packages you see when checking for updates, not just which version you install once.
Physical MikroTik Hardware: What’s Already Done for You
- RouterOS comes preinstalled and pre-licensed on every RouterBOARD device — nothing needs downloading or activating out of the box.
- The license is bound to the device’s onboard storage (NAND or the internal drive), not to you as a purchaser — this matters if you ever move that storage media into different hardware.
- Upgrading RouterOS on an already-running device is a package upgrade, not a reinstall — handled entirely through WinBox or the CLI, covered in the Post-Install Checklist below.
- You only need to reinstall a physical device when recovering from a failure, wiping it for resale, or deliberately starting from a clean state — that is what Netinstall is for, covered later in this guide.
Installing RouterOS on Bare-Metal x86 Hardware
Running RouterOS on a standard PC gives you access to x86 hardware — more RAM, more CPU cores, PCIe NICs — that no RouterBOARD product offers at the same price point. Two installation methods exist.
Method 1: Boot directly from the ISO
- Download the RouterOS ISO image from MikroTik’s official download page.
- Write it to a USB drive or burn it to a CD.
- Boot the target PC from that media and follow the on-screen installer.
- The freshly installed system runs for 24 hours in unlicensed trial mode, giving you a full feature test window before committing to a purchase. Powering the system off pauses this clock rather than resetting it.
Method 2: Netinstall to a secondary drive
- Attach the target drive to a separate, working Windows PC as a secondary disk.
- Run Netinstall from that PC and write RouterOS directly to the attached drive.
- Move the drive into the router PC and boot it.
- This method is useful when the target PC has no optical drive, no convenient USB boot support, or when you are preparing several drives in a batch before deploying them.
Licensing x86 Installations: Software ID and License Keys
- Every x86 install generates a unique Software ID — this identifier is what MikroTik’s licensing system binds a purchased key to, not the PC’s hardware serial number or MAC address.
- Buy the license against that Software ID through your mikrotik.com account, then paste the resulting key directly into the RouterOS terminal, or use the “Paste key” button in WinBox’s License menu.
- A reboot is required after applying the key before the new license level takes effect.
- The license is bound to that specific drive, not the PC itself — you can move the licensed drive into different hardware, but you cannot copy the license onto a different drive.
- Never reformat a licensed x86 install with generic disk tools like
ddorfdisk— this destroys the license permanently. If you need to wipe or reinstall a licensed system, use Netinstall or the official CD-install method only, and contact MikroTik support before attempting anything destructive if you are unsure.
CHR: Installing RouterOS as a Virtual Machine
- CHR is a purpose-built RouterOS image for virtual machines, supporting the x86 64-bit architecture across essentially every major hypervisor: VMware, Hyper-V, VirtualBox, KVM, and others.
- It ships with full RouterOS features enabled by default — CHR is not a stripped-down version, it is licensed differently, not functionally limited by default.
- Download the correct image format for your platform from MikroTik’s download page — raw disk image, VHDX, VMDK, or qcow2, depending on your hypervisor.
- Import the image like any other VM disk, boot it, and RouterOS starts immediately — there is no separate installer step the way there is with the x86 ISO method.
CHR Licensing: Free, P1, P10, and Perpetual-Unlimited
- CHR uses its own four-tier licensing model, entirely separate from the Level 1–6 system used on physical and x86 RouterOS installs. Each tier raises the throughput ceiling the instance is licensed to handle.
- The top tier, Perpetual-Unlimited, removes the throughput cap entirely and has no enforced limitations — check MikroTik’s current CHR licensing page for the exact throughput figures at each tier, since these are the kind of detail most likely to change between releases.
- Every paid tier includes a 60-day free trial, available once you create a mikrotik.com account, letting you test a specific license level’s throughput ceiling before buying.
- Perpetual means exactly that — buy once, run forever, and the license can be transferred to a different CHR instance if you need to redeploy.
- A running CHR instance periodically checks in with MikroTik’s account server to renew its license status. If it cannot reach that server for long enough, it starts behaving like an expired trial — RouterOS upgrades get blocked until the check-in succeeds again. Plan outbound connectivity to mikrotik.com accordingly for any CHR instance behind a restrictive firewall.
- Cloning a CHR instance does not reset its trial period. The clone remembers how much trial time the original already used. You can still license each clone independently, but you cannot use cloning to extend a trial — a fresh installation is required for that.
Sizing a CHR Instance: RAM and vCPU
CHR does not need much by default, but sizing it correctly avoids performance surprises under real load.
# RouterOS v7 recommended RAM formula
RAM (MB) = 256 + [8 × CPU_count × (interface_count - 1)]
- Allocate at least 1024 MiB of RAM as a practical baseline, even when the formula above suggests less — this gives headroom for logging, scripting, and normal operational overhead.
- Interface count matters more than most engineers expect in this formula — a CHR instance with many virtual NICs needs meaningfully more RAM than one with just a WAN and a LAN interface.
- Disk and RAM ceilings are set by the underlying Linux kernel RouterOS v7 runs on, not by RouterOS itself — oversized allocations do not hit a RouterOS-specific limit, but there is little benefit to allocating far beyond what the formula and your workload actually require.
Deploying CHR on Common Hypervisors and Cloud Platforms
KVM (Linux hosts)
virt-install \
--name chr-router \
--memory 1024 \
--vcpus 1 \
--disk path=/var/lib/libvirt/images/chr.qcow2,bus=virtio \
--import \
--os-variant linux2022 \
--network bridge=br0,model=virtio
Use the virtio disk bus and network model specifically. CHR includes optimized paravirtualized drivers for both. Using generic emulated devices instead measurably hurts throughput.
VMware, Hyper-V, VirtualBox
- Import the platform-matching CHR image (VMDK for VMware, VHDX for Hyper-V, or the raw/VDI-converted image for VirtualBox) as a new VM’s disk, rather than creating a blank disk and installing onto it.
- Attach at least one virtual network interface before first boot — CHR needs at least one interface present to bring up a working console session cleanly.
Cloud platforms (AWS, Azure, GCP)
- AWS offers CHR directly through the AWS Marketplace as a ready-to-launch AMI. This is simpler than importing a raw image manually.
- Azure and GCP typically require importing the appropriate CHR disk image format into the platform’s custom image workflow before you can launch an instance from it.
- Cloud security groups and firewall rules need to explicitly allow whatever management access you plan to use (WinBox, SSH, the API) – cloud platforms default to far more restrictive inbound rules than a typical LAN deployment.
Netinstall: Reinstalling and Recovering Physical Devices
Netinstall is the tool for reinstalling RouterOS on a physical device – recovering from a device that is not booting correctly, wiping a unit before resale, or forcing a clean install when something has gone wrong that a normal upgrade will not fix.
- Download the Netinstall utility (Windows GUI, or the
netinstall-cliLinux command-line tool) from MikroTik’s download page. - Download the matching RouterOS package for your device’s architecture — ARM, MIPSBE, SMIPS, TILE, and others — or the combined “all architectures” package if you are unsure, and let Netinstall detect the correct one.
- Connect the target device directly to the Netinstall host, ideally on a dedicated NIC and switch, to avoid IP or DHCP conflicts with other devices on a shared network.
- Disable every other network interface on the host PC — Netinstall only works correctly with a single active interface, and Wi-Fi or a second Ethernet adapter left enabled can cause it to select the wrong one.
# Linux netinstall-cli example: reinstall and keep existing configuration
sudo netinstall-cli -a 192.168.88.1 routeros-arm.npk
# Reinstall and wipe configuration entirely
sudo netinstall-cli -r -a 192.168.88.1 routeros-arm.npk
- Without a wipe flag, Netinstall keeps your existing configuration — it downloads the current configuration from the router, reformats and reinstalls, then uploads that configuration back automatically.
- Netinstall does not touch the RouterOS license key or RouterBOOT-level settings like CPU frequency — a full reinstall does not mean starting over on licensing.
- This is always the recommended first step when you suspect a device is misbehaving in a way normal troubleshooting has not resolved — reinstalling rules out a corrupted system disk as the cause.
Choosing the Right Release Chain
- Long-term: the most conservative option. It prioritizes stability over new features. A reasonable default for critical infrastructure that should change as little as possible.
- Stable: the standard recommendation for most production deployments, receiving both new features and fixes at a steadier pace than Long-term.
- Testing: newer features ahead of Stable. Appropriate for lab environments and engineers who want to evaluate upcoming changes before they reach production.
- Development: the newest, least-tested code — appropriate only for active testing and feedback, never for anything you depend on.
Post-Install Checklist
# Confirm the package and version actually installed
/system package print
# Confirm license status
/system license print
# Set a clear device identity before it gets lost in a list of default names
/system identity set name=core-router-01
# Set a strong password immediately — never leave a blank or default one
/user set admin password=YOUR-STRONG-PASSWORD
# Confirm system resources match what you expected to allocate
/system resource print
- Run these checks immediately after any install method before building out the rest of the configuration.
- Confirming the license status here catches a licensing problem immediately, rather than discovering it later when an upgrade unexpectedly fails.
Troubleshooting Common Install Issues
Netinstall does not detect the target device
- Cause: Multiple active network interfaces on the host PC, or the device and host are not on the same Layer 2 segment.
- Fix: Disable every interface except the one connected directly to the target device. Confirm no switch or router sits between them filtering the discovery traffic Netinstall depends on.
x86 install boots but shows no license
- Cause: This is expected immediately after a fresh ISO install — the 24-hour trial window runs unlicensed by design.
- Fix: Purchase a license against the system’s Software ID and paste the key in before the trial window closes. If you intend to keep the install running past that point.
CHR instance stops allowing RouterOS upgrades
- Cause: The instance has lost outbound connectivity to MikroTik’s account server for long enough that its license renewal is failing. It’s now behaving like an expired trial.
- Fix: Confirm outbound connectivity from the CHR instance to mikrotik.com. Check firewall or security group rules that may be blocking it.
License disappeared after reformatting an x86 drive
- Cause: The drive was reformatted with a generic disk tool instead of Netinstall or the official CD-install method. This destroys the license permanently.
- Fix: There is no recovery path for a license destroyed this way through self-service tools. Contact MikroTik support directly with details of what happened.
Quick-Reference Cheat Sheet
# RouterOS v7 CHR RAM sizing formula
RAM (MB) = 256 + [8 × CPU_count × (interface_count - 1)]
# KVM: import a CHR qcow2 image
virt-install --name chr-router --memory 1024 --vcpus 1 \
--disk path=/var/lib/libvirt/images/chr.qcow2,bus=virtio \
--import --os-variant linux2022 --network bridge=br0,model=virtio
# Netinstall (Linux CLI): keep existing config
sudo netinstall-cli -a 192.168.88.1 routeros-arm.npk
# Netinstall (Linux CLI): full wipe and reinstall
sudo netinstall-cli -r -a 192.168.88.1 routeros-arm.npk
# Post-install verification
/system package print
/system license print
/system resource print
# Set identity and password immediately after install
/system identity set name=core-router-01
/user set admin password=YOUR-STRONG-PASSWORD
Conclusion
The RouterOS you end up running is identical no matter which of these three paths gets you there. The differences live entirely in installation and licensing. Physical hardware needs nothing from you beyond first boot. The x86 needs a license bound to its Software ID. CHR needs no license key at all in the traditional sense, just a mikrotik.com account and outbound connectivity. Know which path you are on before you start, and the install itself takes minutes, not hours.
Check our list of MikroTik guides