Random stuff that interests, amuses, or vexes Will Murray.

Recovering from a Windows 8.1 System Refresh

Something happened to your Windows 8.1 computer, right? You saw the option to “Refresh your PC without affecting your files”. Your computer assured you that “[i]f your PC isn’t running well, you can refresh it without losing your photos, music, videos, and other personal files.” It says so right here:

Probably like you, I decided to believe Microsoft’s friendly description, and I clicked the “Get Started” button. In my defense, I didn’t see a lot of other options left, since my Windows Updates had stopped updating several months ago, and nothing I tried or found on the interwebs seemed able to get them to work again.

If you have not refreshed your PC yet, and are just thinking about doing so, let me say that it does what it does well. The words above are just somewhat deceptive (a refresh is a lot more destructive than it implies), but there are some things you can do to make recovering from the refresh much easier and less painful. I’ll explain that below…

If you have already pushed the button, and you are just logging in after the refresh, there are a few things you should do right away while you still can. I will explain that below, as well…

Finally, if you have completed a format and reinstall of Windows, or if you did a refresh but you did not find this article until a while after the refresh, there are still some things here that make your life easier now and in the future…

Recovering your AppData

First, and this is very time sensitive, if you just completed a refresh, you need to go to C:\Windows.old\users\YOURNAME\AppData\ (substituting the correct drive letter and YOURNAME as appropriate). If you have multiple users on the computer, go to C:\Windows.old\users instead, and then work through this process once for each user.

The folders inside of AppData include a lot of useful user-specific information tied to your user account. Some examples include Firefox and Thunderbird profiles, Google Chrome profiles, things like Minecraft’s other others’ saved games and saved worlds, Webmail settings and saved messages, your custom Word templates and dictionaries, and potentially much more. Some of these files are pointless and unnecessary to keep (like the browser caches of old Web pages you visited and other temporary files), but some would take hours, if not days, to recreate if you do not have them backed up elsewhere.

Fortunately, these were automatically backed up and saved into the Windows.old directory when you did the Windows refresh, but there is an automated process already in place that will begin deleting those files (and probably already has started doing so)! You need to copy them to another location as quickly as possible.

I have not tried this step myself (I found out about these files too late), but I presume that simply renaming “Windows.old” to “Windows.bak” might be enough to defeat the automatic deletion. However, just to be safe, you should recover what you need as quickly as possible.

So how do you recover it? Just copy it into your regular C:\Windows\users\YOURNAME\AppData\ directory (just leave off the “.old” to get to the correct directory). Obviously, the sooner you do this, the more likely you are to avoid conflicts with any newer settings that might get added to these directories down the road.

Note: If you are unable to see these directories, you might have Windows set to hide system files (it is the default, after all). To view hidden files, open the File Explorer (Windows Key and E will get you right there). Go to the View tab of the ribbon. At the end of the View ribbon, select Options, then select “Change folder and search options”. On the View pane under “Advanced settings”, select “Show hidden file, folder, and drives”; this allows you to see most things Windows normally hides from you. Uncheck “Hide protected operating system files (Recommended)”; this is the key to being able to see AppData and other hidden system folders. Finally, I recommend (but it’s not strictly necessary) that you also uncheck “Hide extensions for known file types”; it helps you to select the correct file when more than one files have the same filename, and only differ by extension (e.g., .doc, .docx, .txt, .ini, etc.).

Should you recover everything in AppData? Probably not. There is a lot of junk mixed in with the treasure. I can’t tell you what you should keep on your system, because everyone’s system is different. If it sounds like something you would rather not lose, then keep it. If not (especially anything named “temp”, “cache”, or “thumbnails”), then just leave it for a while in your backed up location (i.e., Windows.bak) for a few days. If you don’t find yourself needing it, then delete it.

Protecting Your AppData

The following tip was gleaned from combining hints from various sources around the Web. Will it work? I do not know. Short of doing another Refresh on my system (and I really do not want to go through that again right now), I do not think there is a simple way to test it. Please let me know in the comments if this works for you. If it doesn’t, please let me know that, too. If you have ideas to make this more reliable or perhaps have an alternate way to protect AppData strictly using Windows’ built-in capabilities (obviously, a third-party backup solution that does a file-level backup of the entire user directory probably would be a better solution).

In Windows 8.1, File History (what used to be known as Previous Versions, but with some noticeable improvements) automatically backs up your “Libraries, Desktop, Contacts, Favorites, and OneDrive (only files available offline)”. Included within “Libraries” are your “Documents”, “Music”, “Pictures”, and “Videos”. If you like, you can easily exclude directories from the automatic lists. However, there is no way to add directories to the list.

Huh? Why on earth would Microsoft not allow us to add additional directories to the list of files to backup? My guess is that they did not want to (or were ordered not to) step on the toes of third-party backup software and give us a full-featured backup tool. Whatever the reason, File History will not protect your files that are not included in those built-in locations.

Did you know that you can create your own Libraries? Yep, you can. And did you realize that File History backs up all your libraries, even ones that you create? Yep, it does. I’ve tested that much at least.

So, doesn’t it make sense that if you create a new library (I called mine “Settings”), then select Properties on the new library (i.e., right-click on Settings), and add the AppData directory (and any other similar directories you might have) to the library, that all your settings will be safe and sound following a Windows Refresh? I sure hope so.

At the very least, this provides us a way to give File History protection to a variety of directories and their associated files. If you are a developer and you keep your source code outside of My Documents, just create a library called “Source Code” (or whatever) and point it to your actual source code directory; it gains File History protection automatically.

Are there any drawbacks? Well, this is all supposition since I just started doing this myself, so there may be some surprises awaiting me.

First, obviously the more things you add to File History, the more space it is going to take up on the disk. The history (by default) is unlimited in time, but limited by disk space. If you only have 5 MB of files being monitored, you might be able to store a year’s worth of more of files. If you have 500 GB of data being monitored, you may not even get a full backup of your files unless your hard drive is in the TB or EB range and you increased the default settings to grant enough space. AppData directories can get rather large due to them basically being “temp” directories for applications. Make sure to have your applications keep their caches down to a reasonable size.

Second, it may not work. As I mentioned above, this is just something I am trying out. It may work great. It may fail spectacularly. It’s unproven. If you know of any documentation supporting this (or warning against it), please let me know in the comments with links to the articles.

Third, this may impact other backup practices running on your system. For example, you will basically be making backups of a lot of files that probably are already being backed up. This probably wastes space on your backup media (hopefully your backup software does not backup duplicate files, and hopefully these are identified as duplicates so that the space is not wasted).

Automating Reinstallation

One of the biggest time-wasters following a refresh is reinstalling everything.

Since my system was originally a Windows 8 (not 8.1) machine, the Refresh wiped me all the way back to Windows 8 (oh joy). I had over 200 Windows Updates that needed to be installed before I could safely upgrade to Windows 8.1 again (in case you forgot, you go to the Windows Store to re-download and install it). After the Windows 8.1 upgrade finished, I had around 100 more Windows Updates to install. And now, I have a bunch of programs to reinstall.

First, if probably would be a great idea to backup your system at each major milestone along the way. That way, if something goes wrong, you can just restore back to that point and troubleshoot from there.

Obviously, once I get the system all reinstalled and reconfigured and before I do much else with it, I am going to make a full backup of the entire system and store it one permanent media (permanent so to speak since even optical media can eventually wear out).

There are a few problems though. First, it will capture a moment in time. If programs have serious bugs that got fixed by later releases, I will have to manually update the software to fix it. At least by doing the refresh and manually reinstalling all my applications, I get the latest and greatest versions of the software. Yay! A few years from now (heck, in a few months), it will all be outdated, and it will be nearly as hard, if not harder, to be sure that I have all updated software on my system.

In the Linux world, there are wonderful tools called “package managers”. The two that I am most familiar with are “apt” (used in Ubuntu and related releases) and “yum” (used in Red Hat and related releases). If you want to install Firefox in Red Hat, you basically just type “yum install firefox”, and after a few screens full of largely incomprehensible (unless you are a guru) gibberish, Firefox is now on your system. Need an update? Try “yum update firefox”, and it should get the latest version. Neat, huh?

Apparently in the Windows world, we now have a couple of tools that do something like that, too. You combine Boxstarter with Chocolately packages, and you basically get the same sort of experience. If you create a list of all the packages you install, you can later feed that list into Boxstarter to automate your reinstallations. Obviously, you would need to download and install Boxstarter and keep the list somewhere accessible (probably both would fit on a thumb drive).

Not only does this solve the problem of out-of-date applications, but it also makes the process portable to any other computer that is roughly the same class (32-bit or 64-bit processors and Windows versions probably being the most important distinctions).

This is something I plan to look into going forward. I will post my results and any tips here. In the meantime, Scott Hanselman has an article that describes this too: “Is the Windows user ready for apt-get?”