Hacker News new | ask | show | jobs
by sfgweilr4f 1699 days ago
Sometimes I feel like Microsoft should just put Windows into an image all by itself. One big file (VHD or similar). Then each application gets its own separate image file. After all that, have some kind of funky image mounting thing that merges them together in some filesystem view. Returning us to the good old C drive we know. User data lives separately and politely away from the OS and applications. There might even be a RW image for the OS so thats not even in the OS image itself.

Advantages? Just download the image. Could even delta from old to new in multiple ways. Easy revert as well. Security would then come from the usual deal around privileges but there's the possibility of exotic new approaches. Automatic revert could be a thing as well. OS images could actually have a version. Kind of like a ROM.

Disadvantages? Disk space. Filesystems have come a long way though. Plenty of tricks around that. But I'm sure there are plenty of other downsides I'm sure. Don't corrupt that file.

You can already boot VHD(x?) files stored on, eg C, drive so this isn't actually impossible.

EDIT: These images wouldn't be unpacked on each boot. There would be files inside the image and the image is mounted as a filesystem. This is old tech now in the 2020s and its definitely not exotic. If images really are too much overhead then change the word "image" to "partition". Or some combination thereof (eg image for each app). But in reality, I'm not really convinced the overhead is really that great. Disk encryption uses significant processing power already so accessing a filesystem from an image isn't that great a leap.

7 comments

One problem I see with this is, even though the iso's we download are about 5Gb, they get unpacked into 15Gb+ worth of files. Thus we are either going to have 15Gb+ images floating around to avoid unpacking them on each boot, or each boot becomes 2 to 5 minutes to unpack and all those writes will make ssd sad.

I wish Microsoft just go make a new OS from scratch, that behaves more like other OS's (file/directory slashes, rgb formatting, fonts etc) and that have the core of the system immutable while it is running. Get all user data onto a separate partition. Have a root user + password by default. Have a fancy package manager like apt/dnf (where ALL software can be updated through), have a fancy bootloader menu where you can install system updates from, strip out all language packs, drivers and other useless features (xbox, weather app, phone app), have a new terminal (get rid of cmd + powershell and start from scratch), rebuild diskpart...... the list goes on. Make it lean, fast and make the choice to ignore backwards compatibility with windows. Don't even call it windows for that matter.

Having all that, you can have an isolated, immutable windows in less than 2Gb. All of the extra partitions can exist as VHD's that gets mounted at startup, that way you can copy an entire environment by copying 1 file.

>drivers

Network drivers are always useful.

Yeah, there is an irony that in attempting an efficient model of updates, they have something that is often dog slow and not even that small to download. If you separate things like librariy content, you could easily package most things as single archives like MacOS does and you know that you have something that works. You could probably also split c:\windows into, say, 10 different things so you wouldn't necessarily need to replace all of them at the same time.

Alas, the tech debt for MS is enormous so unless they had the ability to create a new OS with no backwards compatability (except most of the WinAPI if possible) then we have to live with the pain.

There's wimboot mode [1], but it's only for the initial install, updates are still file based.

[1] https://www.howtogeek.com/196416/wimboot-explained-how-windo...

This is kinda what you get from Windows on Qubes OS.
vhd is too expensive for something like this and you dont need to virtualize the whole disk, file system is enough.

They could achieve something like this but on boot level:

https://sandboxie-plus.com/

That’s pretty much how MacOS used to work until MacOS X.