Wednesday January 09, 2019

Future Windows 10 Builds Will Reserve Storage and Tabulate It

According to a recent Microsoft TechNet blog post, future versions of Windows 10 will automatically set aside several gigabytes of storage for updates and other Windows-related features. The post says that the reserved space will shrink the apparent size of regular, user accessible disk space, so don't be surprised if your SSD seems to shrink when you install a new Windows Insider build. While it's easy to point fingers at Microsoft and claim that Windows is unnecessarily eating up drive space, full system drives often create headaches for Windows Update, and this "reserved" space could finally alleviate that longstanding issue. In addition, the new build of Windows seems to have a "System & Reserved" settings menu that nicely tabulates just how much space Windows 10 is eating up, and the hibernation file is significantly smaller than the multi-gigabyte files on 2 desktops I just installed fresh copies of Windows 10 on. Thanks to Monkey34 for the tip.

News Image

Instead we designed an elegant solution that would require new support being added to NTFS. The idea is NTFS provides a mechanism for the servicing stack to specify how much space it needs reserved, say 7GB. Then NTFS reserves that 7GB for servicing usage only. What is the effect of that? Well the visible free space on C: drops by 7GB, which reduces how much space normal applications can use. Servicing can use those 7GB however. And as servicing eats into those 7GB, the visible free space on C: is not affected (unless servicing uses beyond the 7GB that was reserved). The way NTFS knows to use the reserved space as opposed to the general user space is that servicing marks its own files and directories in a special way. You can see that this mechanism has similar free space characteristics as using a separate partition or a VHDX, yet the files seamlessly live in the same namespace which is a huge benefit. It’s not quotas. Whereas quotas define the maximum amount of space a user can use, this mechanism is guaranteeing a minimum amount of space. It’s sort of the opposite of quotas.

Discussion