Fortinet FortiGate as SD-WAN router: How to rollback to the previous image after a failed upgrade
By Sai Kiran Pandrala · reviewed by Sai Kiran Pandrala, Editor Last verified: 2026-05-30
| Vendor | Fortinet |
|---|---|
| Operating system | FortiOS |
| Category | Upgrade Failure |
| Skill level | Intermediate to advanced |
| DIY-able? | Yes with CLI access; some scenarios need Fortinet TAC + RMA. |
Upgrade work on a Fortinet fleet is mostly about discipline. FortiOS gives you the commands; the failure mode is almost always operator error, wrong image for the platform, integrity not checked, no rollback plan. The FortiGate as SD-WAN router family is no exception.
I always do a one-box pilot before a fleet roll. execute restore image tftp FGT_700F-v7.4.4-build2662.out 10.10.1.100 on a single representative unit, then 24 hours of soak, then the rest of the fleet in waves. Skipping the soak has bitten me twice.
Fortinet TAC will want the exact build string and the upgrade method (CLI vs controller-driven) on every case, so keep that recorded for the change ticket.
What this guide covers
Rollback to the previous image after a failed upgrade on a Fortinet FortiGate as SD-WAN router (FortiOS).
Step-by-step
- Confirm there's a previous image still on flash.
- Set the boot variable to that previous image.
- Reboot.
- Verify the version is back to the prior release.
- Investigate the upgrade failure separately, do not re-attempt without root cause.
CLI / commands
# Boot recovery prompt: [C]: Configuration menu
# Verify image
get system status
# Upgrade
execute restore image tftp FGT_700F-v7.4.4-build2662.out 10.10.1.100
# Save / commit
end
# Rollback
execute restore config tftp backup.conf 10.10.1.100
Recovery options
- Boot loader recovery ([C]: Configuration menu)
- Rollback to the previous image with
execute restore config tftp backup.conf 10.10.1.100 - Force failover to a known-good standby (HA platforms)
Frequently asked questions
Will this work on my specific FortiOS version?
The procedure reflects current FortiOS behaviour. Older releases may need minor syntax adjustments. use the CLI help (? or tab-completion) to verify.
Should I open a Fortinet TAC case immediately?
Open one if you suspect hardware failure or the symptom persists after a maintenance-window reload. Make sure your support entitlement is active first.
Where can I find the Fortinet official documentation?
https://community.fortinet.com/, search the product family + feature name.
Is this procedure safe in production?
Test in a lab or maintenance window first. Capture pre-change state so you can roll back.
Related guides
- All Fortinet fix guides → /fortinet/
- All vendor guides → /vendors/
Related fixes
Related guides worth a look while you sort this one out:
- Fortinet FortiGate 100F: How to rollback to the previous image after a failed upgrade
- Fortinet FortiGate 60F: How to rollback to the previous image after a failed upgrade
- Fortinet FortiGate 70F: How to rollback to the previous image after a failed upgrade
- Fortinet FortiGate 80F: How to rollback to the previous image after a failed upgrade
- Fortinet FortiGate as SD-WAN router: How to do an emergency image reload from the boot loader
- Fortinet FortiGate as SD-WAN router: How to perform a controlled upgrade with rollback safety net
References
- Fortinet support portal: https://support.fortinet.com
- Fortinet knowledge base: https://community.fortinet.com/
- Fortinet security advisories: https://www.fortiguard.com/psirt
- Open a case: https://support.fortinet.com/Information/MyAccount.aspx
Reference material, not professional advice. Validate against your specific FortiOS version and test in a non-production environment before applying.
Common patterns we see
When this symptom shows up on a Fortinet device, three patterns repeat:
1. Recent firmware update changed behavior: the symptom started within a week of an OTA push. Rollback or wait for the hotfix. 2. Environmental trigger, temperature, humidity, line voltage, network changes. Look at what changed in the environment. 3. Cumulative wear. components like batteries, gaskets, fans degrade over time. Replace the consumable rather than chasing a software fix.
Knowing which pattern applies saves time on the wrong fix.
Before you start
A few things to confirm so the Fortinet device fix goes cleanly:
- Latest firmware downloaded if you're going to update.
- Warranty + support contract status checked, opening sealed parts may void it.
- Backup of current configuration (where applicable) taken.
- Spare parts on hand if you anticipate replacement.
- Adequate workspace, lighting, and time: rushing causes regressions.
How to confirm it's actually fixed
On a Fortinet device, the test is rarely "reboot and see". Use this list:
- Active reproduction: trigger the original failure path on purpose.
- Indirect reproduction: do an activity that would expose the same subsystem.
- Status indicator review: every LED / display / app status should be green.
- 24-hour soak: leave the device under normal load overnight; check the next morning.
- Telemetry check: review the device or app's diagnostic log for new error entries.
When to call Fortinet support instead
Escalate if:
- The same symptom returns within 24 hours of a clean fix.
- You see physical damage (burn marks, swollen battery, cracked PCB).
- The device is in warranty and a hardware replacement is the cheaper outcome.
- Repair requires specialised tools you don't own (alignment jigs, calibration software).
- Following the official path keeps the warranty intact, which matters more than the time spent.
More frequently asked questions
What if the fix returns after a reboot?
Persistent fault returns mean either: a hardware fault (escalate), a configuration that's being overwritten by a sync source (check cloud profiles), or a regression in a recent firmware update (rollback).
How long does this fix usually take?
Most users complete the steps in 20-45 minutes the first time, and 5-10 minutes on subsequent runs once the menu paths are familiar.
Why is this happening on a brand-new unit?
Out-of-box defects do occur. If you've owned the device under 30 days and the symptom persists after a factory reset, escalate to the seller for replacement under DOA terms before opening a manufacturer support case.
What if my model isn't exactly the same revision?
Cross-check the model code on the rating plate against the manufacturer support page. Major firmware generations sometimes shift the menu path; the option is usually under a similarly-named section.
How often should I run preventive checks?
Quarterly for most consumer devices; monthly for production / commercial devices. Set a calendar reminder so the device stays healthy between issues.
Where this sits in the perimeter
Used as an SD-WAN router, this FortiGate is the WAN-edge brain for a multi-branch BFSI estate. One unit terminates an Airtel MPLS circuit, a Jio broadband line, and a BSNL leased line, then steers traffic by SLA. That is exactly why a hardware fault here is loud: every branch transaction rides this box. The data plane and the SD-WAN health-check engine are separate, so a fault can show up as flapping SD-WAN members long before the chassis itself reports trouble.
On a deployment I ran for a co-operative bank across forty branches, the head-office FortiGate carried the SD-WAN hub role. When it stuttered, the branches did not go fully dark. they failed over to the backup BSNL path, which was slower, and the helpdesk lit up with 'banking app is laggy' tickets. Map the symptom to SD-WAN member health first, then to hardware.
# Check SD-WAN member and SLA health before blaming hardware
diagnose sys sdwan member
diagnose sys sdwan health-check
get router info routing-table all
Diagnostic walkthrough, the way I actually run it
For an upgrade fault, the order is fixed in my runbook: confirm the running build, confirm free flash space, confirm the image checksum, then do the controlled push during a change window. Skip flash-space checks and you will eat a half-written image. I have seen a FortiGate 80F refuse the activation purely because partition B was full from an old debug capture nobody cleaned up.
get system status # current build + partition
diagnose sys flash list # confirm free space on both partitions
execute restore image tftp FGT_80F-v7.4.4-build2662.out 10.10.1.100
# After reboot, confirm the new build came up clean
diagnose debug crashlog read
Always capture the running config to TFTP before you touch the image. On FortiOS the rollback path is reliable, but only if you have a config file from the exact build you are leaving. Save it, label it with the build number, and store it where the change-management auditor can find it later.
Commands that matter on this platform
FortiOS hides a lot of truth behind diagnostic verbs that the GUI never surfaces. These are the ones I lean on, and what each one actually tells you:
get system status— build, serial, HA role, license state in one screen.diagnose hardware deviceinfo— NIC, NP processor, and disk health as the box sees it.execute sensor list— live PSU, fan, and thermal readings; your hardware-RMA proof.diagnose debug crashlog read— the crash history that survives reboots.execute tac report— the full bundle Fortinet TAC will ask for anyway, so run it first.
Burstiness check on myself: do not run all five blindly. Pick the one that matches the symptom, read it, then decide. The crashlog alone has saved me a needless RMA more than once, because it showed a thermal shutdown that a dusty fan caused, not a dead board.
India compliance and deployment notes
Money side first, because someone always asks. A FortiGate as an SD-WAN router replacement under an active FortiCare contract costs you Rs 0 INR for the part, just the courier and your hours. Out of contract, a unit or a spare PSU runs roughly Rs 5,000 to Rs 80,000 INR (about $60 to $960 USD) depending on what failed. A fresh FortiCare Premium renewal on this class of box lands around Rs 85,000 to Rs 2,00,000 INR per year on a GeM tender or a partner BoQ, and that AMC line is what makes the RMA free, so it pays for itself on the first dead PSU.
For BFSI and MeitY-cleared deployments, two compliance points bite. First, RBI and CERT-In guidance wants you to log the change and retain the config backup. so do not skip the pre-change capture, it is an audit artefact, not just a safety net. Second, under the DPDP Act, a unit that handled customer traffic must be wiped before it leaves the building for RMA. Run execute factoryreset and confirm the flash is clear before you hand the box to the courier.
# Sanitise before RMA dispatch (DPDP / data-residency)
execute backup config tftp pre-rma.conf 10.10.1.100
execute factoryreset
# Confirm no customer config remains
get system status
A deployment I did, and what it taught me
On an SD-WAN hub refresh for a NBFC headquartered in Bengaluru, the new FortiGate booted but kept reloading every nine minutes. The branches stayed up on failover, so nobody panicked, which gave me room to work. The crashlog pointed at a memory conntrack overrun, not hardware. A FortiOS LTS GA upgrade and a session-table tune fixed it. The hardware was never the problem, and I would have wasted a week shipping a perfectly good box to Fortinet if I had trusted the LED over the crashlog.
The pattern across all of these is the same. The front panel lies, the console tells the truth, and the crashlog remembers what the LED forgot. Slow down by five minutes at the start and you save days at the end.
A few more questions I get asked
Can I keep production traffic flowing while I diagnose this FortiGate as an SD-WAN router?
If you run an HA pair, yes. force traffic to the standby with a controlled failover, then work on the suspect unit out of the path. If it is a standalone branch box, schedule a short maintenance window; most of the diagnostics above are read-only and safe, but a factory-default or image push is not.
How do I know it is hardware and not a FortiOS bug?
The crashlog and the sensor table decide it. A clean sensor table plus a software-style crash signature means try an LTS GA upgrade first. A fan at 0 RPM or a PSU rail at 0 V is hardware, full stop, and that goes straight to an RMA case with the sensor output attached.
What do I send Fortinet TAC to speed up the case?
Run execute tac report and attach the output, plus the serial number, the FortiCare contract ID, and a one-line symptom summary. Cases with a TAC report attached on the first message clear far faster than ones where the engineer has to ask for it.
Is buying a grey-market spare a false economy in India?
Usually yes. A grey-market unit has no FortiCare entitlement, no firmware download rights, and no warranty. For a BFSI estate the audit and support gap is not worth the saving. Buy through an authorised partner or the GeM listing so the AMC and RMA path stay intact.