If you’ve been following me for a while, you might have noticed that I have an obsession with making small Windows images. I think it’s fun and it goes to show how modular Windows truly is. As of recently, I thought that the smallest Windows image one could make is based off of OneCoreUpdateOS, which is a 64MB WIM file that is only used for, you guessed it, updating. However, it looks like there is another image, even smaller, so small that it’s not really fair to call it Windows, as it doesn’t even contain Win32k.
So, I decided to dig deeper. At first, I thought I had hit a dead end, as I wasn’t able to find anything closely resembling what they described.
But then, I started to gain some more info.
One of the things that Gustave didn’t mention, however, is where the files are located. At first, I tried searching them on my own PC, to see if my image contains them, but to no avail. So, I downloaded all the UUP packages of the latest Windows 10 build, which as of now is 21322.
And, lo and behold, it’s there! The complete path of the file is:
Microsoft-Windows-Shielded-VM-Tools-FoD-Package~31bf3856ad364e35~amd64~~.cab\amd64_microsoft-windows-ptp-bootos_31bf3856ad364e35_10.0.21322.1000_none_e8c04c18969158e9
So, now that we have found the golden goose, what can we do with it?
Well, let’s deploy it, of course! Just like with UpdateOS, I made two partitions, one for EFI and one for the OS. The deployment, as you might have expected, was done in an instant.
But then, just as I wanted to make the image bootable, an oopsie happened.
It looks like the image is so small that the Windows folder doesn’t contain the Boot folder, required to create a bootable image.
So, with that being said, I took the Boot folder from my own Windows image and thought to give it a try.
Now, let’s also bring in this file and see what happens.
So, it looks like the config folder doesn’t contain the BCD-Templates file. Let’s see what is actually in the config the folder.
Yet again, I have to bring out my own toys. Let’s see if after copying the template it works.
Yay! Now, the moment of truth. Will it boot? Do we officially have a new contender for the smallest usable NT image?
Not yet. At this point, if we bring in a few more files it will become bigger than UpdateOS 🙂
But finally, after I inserted the winload.efi file, it boots. And… that’s about it. As soon as it finishes booting it shuts down. I tried loading a native NT application, but it simply ignores everything I throw at it.
Now, you might say: Debug it, dummy! And that’s what I did (after bringing in some more files, as it didn’t have some KD* DLLs)
Unfortunately, debugging doesn’t go to further, as it just seems like it’s shutting down in an orderly manner (it’s not triggered by any error, or so it seems).
Well, unfortunately it looks like we reached a dead end. For now, at least. I will keep trying to make BootOS do more stuff than just, well… booting, but for it seems like this Windows image is truly worth of its name.
Thank you for your attention.
Leave a comment