Quitting Windows 7 Necromancy

My OS install for my main Desktop is going on 6 years now. Since it's advent, it has undergone a slew of changes. Off the top of my head, I know it started on an HDD, moved to an SSD with the system reserved partition on an HDD beside it, then both partitions moved to another SSD. Tangentially, it started on a Phenom, moved to a Bulldozer, then a Vishera, and now a Ryzen. Along the way, it has flirted with at least 4 different motherboards, courted half a dozen GPUs, and snorted a metric shitload of drivers and applications, leading to countless near-death experiences.

The Last Ressurection

I spent some time this week refreshing the build. I moved to a Ryzen 7 1800x Processor, an MSI x370 Platinum Motherboard, 32GB of Corsair Dominator Platinum DDR4 RAM, mucho RGB, and a new hard-line liquid-cooling loop to boot.

Coming from an old Vishera chip, an even older motherboard, and DDR3 memory, this gave the OS what can only be described as anaphylactic shock of the brain.

XHCI pls

The first hurdle was that Windows 7 has no native support for XHCI and, since my previous motherboard didn't have XHCI, I'd never installed the drivers. Foresight would have led to me doing this preemptively, but I'm an idiot. Not having these drivers meant that USB was broken and, you guessed it, so were my peripherals.

I walked around the corner, picked up an old PS/2 keyboard. With this, I managed to pull old chipset drivers, install the XHCI drivers, and throw on some other drivers which were provided with the hardware.

Startup Repair

While installing drivers, I ran into install issues. Those lead me to realize that the boot loader had been put into Selective Startup mode, which allows the OS to boot without many critical services. Naturally, I flipped this off, rebooted, and quickly realized my mistake.

Something was out of whack between the chipset and the OS, and that somehow caused the BCD to get corrupted. I still don't know what corrupted it! This conjured the selective startup issue. Fixing it conjured a new issue, where Windows was complaining about not being able to find required devices for boot.

Naturally, I continued to startup repair. Except, as it turns out, my Windows 7 USB didn't have a repair option (more on that later), so I had to make a new one. That ended up bricking my Windows 10 machine due to a bad disk mounting driver, but that's off-topic.

After fixing my Windows 10 machine and getting a new USB made, I booted into startup repair, applied fixes and... got an error. Now, when trying to boot the OS, I got a blue screen. Not a Blue Screen of Death. A blank, light-colored, empty blue screen. What in the world?

Turns out, my Windows 7 Repair USB, from a completely legitimate ISO, could have been more aplty named Windows 7 Destroy.

I decided to go the manual route, and when I got to running bootrec /RebuildBcd, I had another error, once again related to not finding a required device.

It's at this point I had a realization: Windows 7 Repair suffered from the same XHCI USB issue. When trying to repair either the MBR, BCD, or both, the repair application attempted to access a template on the USB, failed, and errored out (this is possible because USB worked in the BIOS, but broke upon loading of CLASSPNP.SYS).

Okay, so I've figured it out! All I need to do is load the USB drivers in the repair environment, run the repair again, and I'll be done. Except it's not that simple, because the repair environment doesn't have pnputil, drvload, or any other sensible command to install the drivers.

I managed to recall that the Windows 7 Install process allows you to load a driver for your disk drive before installing, though, so I used that. Except, once I did, the repair option had vanished! After some debugging, I realized that having a disk in the drive but booting from a USB really confused the installer, which for some reason lead to it nuking away the repair option. I found out that I could go into repair, insert disk, go back to the main screen, go to the installer, load up the USB drivers, then finally go back to repair and have the environment with the drivers loaded. Cool.

Sidebar: Turns out, my original install USB did have the repair option, but there was a disk in the drive then, too, which lead to it not being visible. So I bricked this laptop, fixed it, and created a new install USB for nothing.

So, I ran the repair, hoping it would suffice this time, and it did.

It Lives

And, just like that, the Windows 7 install was alive again. Sort of. Now it's complaining that it's not genuine (it's not, but how did it figure that out?) and letting me know that Microsoft was brilliant enough to disable Windows Update for Windows 7 on machines running Ryzen processors. Holy. Shit. Microsoft.

Ex-Necromancer

I think that's my final dive into this particular branch of the dark-arts. I've done this too many times, and the left-over scars are building up beyond a reasonable level. I installed this OS as a crack, when I was still a kid, before I could even afford a legit install. I've kept it afloat for so long, revived it at least half a dozen times, and beat the hell out of it. I'm really going to hate re-installing all of my compilers, IDEs, toolchains, SDKs, and debuggers. I'm going to hate sorting through old pictures, moving my music, bundling up all my random .txt files, and aggregating all of the hacked-together programming projects I've accumulated over the years. But it's time to get a legit copy of Windows 10, do a fresh install, and let the computer live a new life rather than limp along in the corpse of a former box.

Pics or GTFO

I'm still waiting on a few more parts for aesthetics and cabling, but I have some pics of the build from when I was filling the loop last night.

Doing a Distilled Water Flush
flush

Filling With White Coolant
fill

Sadly, none of these show off the RGB goodness, but you probably didn't care anyways ;).