Trying stuff so you don't have to.

Exploring BootOS: the smallest official Windows image

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.

One of the great perks of having a community is that you’re always learning new things.

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.

If you find what you need at page 6 of Google, you know you’re in for some good stuff 🙂

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

In theory, you could fit this WIM in about 13 floppy disks. Impressive.

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.

Pretty tiny, right? Also, it looks like it’s compressed by default.

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.

Progress!

Now, let’s also bring in this file and see what happens.

Close, but no cigar.

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.

Wow, this is liliputan.

Yet again, I have to bring out my own toys. Let’s see if after copying the template it works.

Finally!

Yay! Now, the moment of truth. Will it boot? Do we officially have a new contender for the smallest usable NT image?

Oof.

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).

Why oh why?

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.

One response to “Exploring BootOS: the smallest official Windows image”

  1. I love your article, you remind me of myself and my friends. You went all the way down the rabbit hole. Bravo 🙂 🙂 You also remind me of my family of engineers that worked in the space program and other national laboratories, etc. They actually were required to do what you have been musing on, due to the smaller amounts of computer memory available in those times. Efficiency is cool. 🙂

    Like

Leave a comment

Blog at WordPress.com.