Upgrading a WIMBoot Machine to Windows 10

Tags: ,

Needing to drive a few touchscreen kiosks, I found myself in possession of some compute stick type devices. These are tiny but full-fledged computers, with an Atom CPU, 2 GB of RAM, and a 32 GB SSD. They shipped with Windows 8.1 with Bing. Naturally, I wanted to upgrade to Windows 10. There were a couple wrinkles.


In poking around the existing Windows install, I found that some of the numbers didn’t add up. When I finally viewed the Properties of the C:\Windows directory, it started to make more sense — the total “Size on disk” was substantially smaller than the “Size”. Some kind of compression was at work.
I tried poking around the properties of various files and directories, and they all had a “Compress contents to save disk space” check box, but it was unchecked on all of them — even the ones reporting a smaller size on disk. Yet running compact at the command line also showed compression, even on the same files! The disk as a whole didn’t look like it was compressed with NTFS compression or anything else I could see… it was confusing.
Then I discovered WIMBoot. This is a special way a computer manufacturer can install Windows, leaving much of the Windows installation compressed in a separate “Images” partition (also used for recovery). Then many of the files in the C:\Windows directory simply point to compressed versions in that Images partition, instead of being actual files on disk. The Properties window and compact tool are aware of this, but it doesn’t show up through the usual compress to save space mechanism.
There are down sides — the machine has to decompress critical files on the fly, meaning you need adequate CPU to perform the decompression, and adequate RAM to keep the uncompressed files in memory to avoid decompressing the same files over and over again. Also, the original files are tucked away on a read-only partition. Any Windows updates that would provide a newer version must write a whole new uncompressed version of the same file to the normal Windows directory, leaving you with two copies — worse than having an uncompressed original. Therefore, machines like this only get the most critical security updates, and regular “recommended” updates are ignored.

Windows 8.1 with Bing

The next issue was that the machines came with the low-end Windows 8.1 with Bing. I wanted to do a clean install of Windows 10, so I tried to download the Windows 10 installer. When I ran it, it didn’t work — it couldn’t find the install key on disk, and typing in the one that Windows 8.1 reported didn’t work. I saw a suggestion to try “Windows 10 Single Language,” but that didn’t work for me either. Then I thought I might do a clean reinstall of Windows 8.1 with Bing and let it upgrade itself to Windows 10, but I had pretty much the same problem — no Windows 8.1 media I could download would recognize the license on the machine and let the install proceed.
The good news was that doing the self-upgrade to Windows 10 would produce a fully licensed copy of Windows 10 Home. I just couldn’t figure out how to do it in such a way that I could wipe out the disk partitions I didn’t want and get a totally clean install.

Windows 10 Choices

Ultimately, I was able to resolve these problems and install both ways — preserving WIMBoot compression, and doing a clean, uncompressed install.

Preserving Compression

This was the easy route. I let Windows 8.1 upgrade itself to Windows 10 using the Windows 10 icon on the system tray.
After the upgrade, the old WIMBoot images partition was still there, and I had both a C:\Windows and a C:\Windows.old directory, and both appeared to use compression.
Then I used Disk Cleanup. I selected pretty much everything, including Previous Windows installation and Temporary installation files.
After it finished, the WIMBoot images partition was gone, and my C:\ drive had expanded to include the space that used to be in that partition! Also, the Windows 10 installation was still compressed, saving about 3 GB on disk.

Clean Install

The trick of the clean install is to get a Windows 8.1 with Bing ISO image. That can be used with the usual USB installer creator to create a bootable USB stick to perform the clean install, and it should recognize the existing license on the device to let you reinstall. Hopefully you can get the correct ISO from your computer manufacturer. When booting to this installer, you will have the option to manipulate the disk partitions however you like (though I recommend keeping the first, very small, EFI partition).
When you do this reinstall, it will be without WIMBoot. Therefore, it will be without compression. You will also need to manually install all necessary drivers — in my case mainly the chipset and network drivers, at which point Windows Update found the last couple.
Then you can perform the usual Windows 10 upgrade, either by using the Windows 10 tool in the system tray or by downloading the Media Creation Tool and selecting “Upgrade this PC”.
Again, using the Disk Cleanup after the installation will remove all the guts of Windows 8.1 (any why not, since you probably still have the 8.1 installer there if you need to go back!) and leave you with a decent amount of free space — though I guess 3 GB more than if you had done the upgrade with compression in place.