If you update iOS on your iPhone using iTunes, you'll find it insists on updating your iTunes backup before it does so. In doing this, it'll overwrite your latest unarchived iOS backup unless you can cancel it rapidly enough. Whilst we regularly stress the importance of updating your backup, in some cases this isn't helpful: particularly if you're running this process because your phone is in a partially broken state.
Apple's over-the-air ("OTA") update mechanism avoids the need to update your backup when installing. If you're reinstalling a particular version of iOS or restoring your phone, that might not be helpful to you.
There's a simple approach to avoid being forced to backup when updating your iPhone.
Updating iOS without an iTunes backup on Windows
Ensure that iTunes is completely closed.
Open a Command window. Press
Rand the Run window should appear. Enter
Type the following command into the black Command window that will have opened:
"%CommonProgramFiles%\Apple\Apple Application Support\defaults.exe" write com.apple.iTunes AutomaticDeviceBackupsDisabled -bool true
"%CommonProgramFiles%\Apple\Apple Application Support\defaults.exe" write com.apple.iTunes AutomaticDeviceBackupsDisabled -bool false
Updating iOS without triggering an iTunes backup on macOS
Ensure iTunes is completely closed. (Use "Quit" in your dock.)
Launch the macOS Terminal application. This can be found using Finder, under
Applications / Utilities / Terminal. Alternatively, it can be launched using Spotlight by pressing
and typing Terminal before pressing
Instruct the Terminal to change disable automatic iTunes backups, by entering the following command before pressing
defaults write com.apple.iTunes AutomaticDeviceBackupsDisabled -bool true
From this point on, if you open iTunes it will allow you to update your iPhone's version of iOS without automatically starting the backup process. If you'd like to undo this, follow the same steps 1 - 3, but run this command, instead:
defaults write com.apple.iTunes AutomaticDeviceBackupsDisabled -bool false