My Windows 11 Journey

Barry Briggs

Now, before I begin, let me say that first, this is not a rant about Microsoft, Windows, or anything. I’ve used Microsoft operating systems since DOS 1.0 and worked for the Redmond company for nearly 14 years. I like Windows and love Office and Visual Studio.

I work at home these days. As such I possess a variety of devices including my primary workstation, an Alienware i9 beast. I purchased this “Area51” model as they call it a few years back not so much because it targets gamers – I’m not a gamer –  but because I’ve learned the hard way that the high end machine of today is just average tomorrow. (I had an i5-based Mac which became obsolete so fast it made my head spin.)

Anyway.

To Upgrade or Not to Upgrade

In October 2021, Microsoft released Windows 11 to largely tepid reviews. Few people cared, partly because it included very few, if any, compelling new features and – for some, worse – had strict hardware requirements that many machines could not satisfy.

My beast did, in fact, meet the requirements. But it being my production machine, that I paid for, that I support, that I need every single day, well, let’s say even though I’m a pretty high-tech guy I’m pretty conservative about “upgrades.”

Time went on and I was happy with Windows 10.

But over time the Redmond folks began to rumble about dropping support for Windows 10 and while that’s probably a long way away, I began to consider upgrading.

Yeah, well…

My Rig

Before I go on, it’s worth just mentioning my machine’s (the cool kids call it a “rig”) setup. As I mentioned, it’s an i9 with 12 cores. It also sports some 64GB of RAM. For storage – and this is crucial – it’s got a 256GB SSD for the C: drive, and well over 16TB on internal and external hard drives.

Why such a “small” C: drive? (I put it in quotes because I’m an old guy and I remember when having a loud, power-hungry, full-high 100 megabyte drive in your PC exemplified the state of the art. I still have that drive in my garage.)

Anyway, here’s why:

  • Users – especially gamers, whom these sorts of high-end machines target – want really fast boot, which SSDs give you.
  • But byte for byte SSDs are super-expensive compared to hard disk drives.
  • So they tend to be smallish, capacity-wise.

In principle it wasn’t that horrible an idea. Put all the system stuff on SSD-drive C: and your “data” on another, slower drive (usually D:).

But Windows never understood how to take advantage of such a (very common) configuration. Instead by default it puts everything – applications, data, Word files, Excel spreadsheets – in various locations on the C: drive. More on that later.

Early on I recognized my skinny C:’s limits and cleverly moved my /Documents folder to a larger hard-disk drive. I figured – rightly – that I would never notice if my Word documents or Excel spreadsheets took 600 instead of 300 milliseconds to load. And that would make usage of my C: drive much more economical and I’d always have room for whatever.

Wrong. As we’ll see.

First Attempts

It had been a year since Windows 11’s release and all my friends and all the cool kids were using it. Maybe, I thought, it’s time.

And Microsoft wanted me to. Really wanted me to. Every now and then when I turned on my computer in the morning it would display an incredibly annoying, full screen nag urging me to upgrade, with “Keep Windows 10” in very small print at the bottom.

Which I always did.

Until…

One day I succumbed.

Not Enough Room

Over time my poor beast has accumulated many, many apps. I’m a developer, so I have Visual Studio with all the fixings. Office, of course. Python. Visual Studio Code. Windows Subsystem for Linux, for a time; Docker and containers.  I’m a writer too, so Grammarly, Final Draft, Kindle tools.

So on my first attempt – around about nine months ago – the upgrade process ran for thirty minutes or then told me I didn’t have enough room on my C: drive. It offered a bunch of pretty useless suggestions about cleaning the drive – yes, empty the recycle bin, clear all temp files, blah, blah. (I could of course compress the C: drive but the compression/decompression overhead would negate the whole point of an SSD.)

Having work to do, I gave up for a while.

Eventually I tried again. Realizing I was nowhere close, I took some radical steps. I uninstalled Visual Studio, a big disk hog, and reinstalled it on my F: drive…good idea, but you can’t install all of VS to another drive, just the IDE. All the libraries, assemblies, and a lot of other stuff still winds up on C:.

Only 4GB available.

Not enough.

WTF Is Taking Up All the Space?

Around about now I began to wonder what the heck was actually using 252GB? It couldn’t just be Visual Studio.

Using Windows Explorer, sorting by size, turned up nothing. I’d long ago moved or deleted those big home movie MP4s and such. No – I learned it wasn’t about a few big files, but rather about the vast quantities of files. Zillions of them, a few megs here, a few there.

But where exactly? Somewhere, there must be folders with huge numbers of files occupying huge amounts of space.

Now, anybody who’s done a dir/s of the C: drive knows that even on a brand-new machine there are thousands and thousands of folders. Figuring out what’s where is not something you can just eyeball.

And to my shock, Windows does not have a utility that shows folder sizes – i.e., one that sorts folders – not files — by size. It doesn’t even have an API (in .NET or Win32) to return folder size!

Time to get serious.

Time to write an app.

So, dirsort is a highly inefficient, slow, but functional C# application that recursively goes through folders, adds up file sizes, and places the summed sizes in a sorted list. [Edit: my friend Miha tells me there’s an open-source app called Windirstat that does this. Who knew?] [Edit to the edit: And Wiztree…]

I ran it on my C: drive.

Good lord.

What a Freaking Mess!

What I found on my C: drive absolutely astounded me. I mean, speechless.

Here are just some of the things I discovered.

AppData

There’s a folder called C:\Users\[YourNameHere]\AppData. It’s hidden, by the way. That’s right, hidden. All told it contained about 80GB of files.

Theory has it that \AppData is just for temporary application data, as the name suggests. It’s got three subfolders: \Local, \LocalLow, and \Roaming. Local is data just for your PC, Roaming is data (like bookmarks) that can travel to any PC you log on too.

Yeah, all that’s pretty much BS in practice.

Applications install themselves to AppData. Applications like Visual Studio Code – from Microsoft!

There is an \AppData\Local\Temp which they say you can safely clear. For me it held about 8GB, all of which I did delete. These were temporary files that in some cases dated from the late Jurassic. Not temporary.

There’s all kinds of other crap in \AppData – who knows what it’s all for. And it occupies nearly a third of my C: drive.

Did I mention it’s hidden?

Bad, Bad Developers

Look, developers. When you’re done with a temporary file, delete it, goddammit. When you’re done with your installer, delete it, goddammit. Delete your year-old app crash dumps, goddammit.

All over the C: drive I found clutter. INI files, DMP files, files that are named with a GUID (fer cryin’ out loud you idiots!).

Clean up your messes!

A Light at the End of the Tunnel

And then I found these two files at the root of the C: drive: swapfile.sys and hiberfil.sys. The swap file – ok, we all know what that is. Don’t touch it.

Now, my app found these but I couldn’t see them in File Explorer or cmd. It turns out they are system files (not hidden files which are of course different).

But what is hiberfil.sys? More searching…and…

It’s the file where Windows saves the contents of memory when it hibernates.  (“Hibernation” is different from “sleep” and don’t ask me what the difference is.) On my system the file occupied 26GB of disk – awesome, if I can get rid of it I can finally upgrade! Woo-hoo!

So: can I relocate it to another drive? Again – if it takes three seconds to un-hibernate rather than one I really don’t care.

No. For some very strange reason you can move the swapfile to another drive – don’t even think about it! – but not the hibernation file.

Why? Who knows?

However, you can safely delete hiberfil.sys! Yes! Go into the cmd prompt in administrator mode and type powercfg -h off which turns off all the hibernation machinery. Then reboot.

Wow!

Almost 30GB back!

And…I could install Windows 11!

Dear Microsoft

Yes, it’s all about cloud and AI these days, I get it. Dear Microsoft, please don’t forget about Windows.

I have so many recommendations. Here they are in no particular order:

  • Please rationalize where you put apps. There’s \Program Files, \Program Files (x86), three folders in \AppData, \WindowsApps, God knows where else. It’s ridiculous.
  • While you’re at it, Get Rid of \AppData. It’s a mess. A huge one.
  • Every few months start a background, low-priority job to clear out .tmp, .dmp, and other such crap files that are over a year old.
  • When imaging a new system, if it has a small-ish C: drive and big D: drive, put non-performance-sensitive stuff on the D: drive by default.
  • Please build a utility that displays a sorted list of folder sizes we know where all this crap is.
  • Enable hiberfil.sys to be placed on an alternate drive.
  • Talk to your developers, ISVs, MVPs, etc., and build a “well-behaved application” checklist that includes best practices, like not using \AppData. Enforce it.
  • It should be possible to install any application in its entirety (looking at you, Visual Studio) on any drive.
  • How about some better tools to deep-clean a C: drive instead of just suggesting emptying the recycle bin?  

Lastly, dear Microsoft, I remind you I had to write an app in order to get Windows 11 to install. An app. I had to write one. To get Windows 11 to install.

Were I not a coder, the only way I could get Windows 11 would be…to buy a new machine!

Was It Worth It?

I’m only a couple of hours into Windows 11. I managed to successfully move the task bar back to the left so it’s back to looking like Windows 10. I suspect everybody does this. [Update after a day: I like the tabbed cmd.exe interface. I don’t like that Windows 11 lost my desktop images. And — worst of all but probably not surprising — I wanted to turn hibernation back on and — you guessed it — “There is not enough space on the disk.” Aaaargghhh!]

Otherwise I really haven’t noticed any difference. (I sure would like a Time Machine-like backup app, though, instead of backing up to OneDrive. But that’s a story for another day.)

I’m one of the cool kids now, I guess.

Comments are closed.