It took three days, but my main computer is up again. Though, to be fair, one of those days was spent determining the extent of the problem.
At this point, let me state for the record that backups were not the problem.
I don’t actually know what the root cause of the problem was. Over the course of a couple of months, I got occasional pop-ups from Windows telling me to restart so it could check the hard drive for errors. And before anyone asks, yes, as best I could tell, the warnings were legit. Each time, I did as requested, the pop-ups stopped, and Windows kept chugging along.
Until last week. I restarted, watched the error check fail, and then Windows crash on boot. Several attempts to repair the problem failed.
Conveniently, my automatic backup had run the night before. I figured I could just restore from the backup and be set.
Before I go any further, let me summarize my backup strategy:
- I keep Windows and my programs on a separate hard drive from my data. That makes it easy to do…
- A full backup of the Windows drive that runs once a week. This is stored on a separate computer.
- A backup of all of the important data from the data drive to the second computer. This runs daily.
- Critical file–mostly, my writing–are stored in Dropbox, meaning they’re typically backed up within a few minutes of my making changes.
- Unfortunately, there are a few things that don’t fit well in this scheme. My email archive, for example, is stored on the Windows drive and can’t easily be moved. So messages I thought were important enough to save only get backed up once a week. Not ideal. I’m looking at that and a few other similar cases.
So I had a full backup of the Windows drive that was less than twelve hours old. Since the backup runs during the night, I’d only lose emails that had come in before I got up—which, as it happened, were entirely spam. Seems like a no-brainer to restore, right?
It took less than fifteen minutes. Windows booted, and I was back in business. For about an hour. Then I got the dreaded pop-up.
Restarted. Windows crashed.
I’ll skip about six hours of experimenting. Long story short, the backups were faithfully backing up both the corrupted files on the drive and whatever rogue program was causing the corruption. Which meant that, even if I fixed the corruption before booting Windows, the damage would continue to accumulate. I also checked back several months and the corruption was in those backups as well. Obvious in retrospect, since I’d been getting the warnings for several months.
At that point, I had two choices: I could wipe the disk clean, reinstall Windows and my programs, and reconfigure everything. Or I could go back far enough to get clear of the corruption.
The second choice had a lot of appeal, but when I started looking at the amount of work involved, I realized it would have taken even longer, since I’d have to figure out which backup was safe, and then do all the same reinstallations and updates to get me back to current. And there are some advantages to starting fresh, most notably, all the programs I’d installed ages ago and hadn’t used since would be gone, freeing up disk space and clearing a bunch of useless junk out of the Windows configuration.
So I did the clean install. The good news: Most programs store their configuration information in a hidden folder called “AppData”. Since my AppData had been backed up and was, fortunately, free of corruption, I was able to skip a lot of setup work. Instead of installing the programs and then trying to remember how they had been set up originally, I could restore the AppData information for a program and then install it. Most of the programs recognized the AppData and treated their installation as an upgrade. Very handy.
Also very handy: Windows 11 has a new installer program called “winget”. Instead of going to the website, clicking through several links to find the installer, then running it and answering a bunch of questions about how to install it–questions that I, like everyone else, generally takes the defaults on–all I had to do was type “winget install” and the name of the program. The installer downloads automatically installs with all the default values*. No questions, no clicking. A shame Microsoft didn’t do that years ago.
* The Linux-savvy among you may be thinking “Hey, that sounds a lot like installing a program with apt-get or zipper.” You’re absolutely right: it does. Funny, that.”
Lessons learned:
First–and I knew this already, but it bears repeating–you can’t have too many backups. Not backups of backups, necessarily, but the more important something is, the more often you should back it up and the more places you should back it up to.
Second, since you’re doing multiple backups anyway, use different tools. This improves your chances of being able to recover your data from somewhere even if one or two copies isn’t available, due to a forgotten password or other lapse.
Third, automate your backups as much as possible. A backup that has to be done by hand is a backup that isn’t going to happen nearly often enough.
And fourth, don’t assume your backups are perfect. Have a backup backup plan.