The past week has been a whirlwind for my laptop. What started out as me trying to try Steam gaming on Linux led to several days’ worth of an emotional roller coaster.
Let me explain.
Last Wednesday or Thursday (I honestly don’t remember, it’s been a long week), my friend Colson messaged me about Proton, a software package from Valve that, thanks to underlying Windows emulators, vastly improves Steam game compatibility on Linux systems. With it, several (though not all) games that were previously only playable on Windows are now functional on Linux; because the system uses Windows emulators like WINE, there’s the potential that Proton could be used to run almost any Windows .exe file, not just games. This truly changes the game (no pun intended) for consumer-level Linux use.
But I’m not here to rave about Proton (I’ve gotten to try it a couple times, and I’ll discuss my results in a later post). I’m here to talk about how that decision began a seven day stretch of what I can only describe as “Recovery Hell.”
Wanting to test out Proton, I decided to dual-boot my laptop and install Linux alongside Windows 10. I had previously done this on an old laptop successfully, so I figured I could do it correctly again.
And I did. I’ll be honest, I don’t quite remember how all the events played out. At some point I decided not to pursue Manjaro, a user-friendly Arch Linux-based distro that came with the necessary tools pre-installed for Steam support, on my laptop, and decided to go with Ubuntu. (I later took an old 2 TB drive in my desktop PC, split it into two 1 TB partitions and installed Manjaro and Debian on them).
After several hours of messing around with the partitions on my laptop (Windows for some reason had made five partitions, scattered across my solid state drive, so I had to shrink the main partition and wedge two blank ones for Linux in there), I had Ubuntu installed, only to realize that I wanted Kubuntu (Ubuntu with the KDE desktop preinstalled instead of the default GNOME desktop). I changed it the old fashioned way, by manually installing KDE and making it my default desktop, but after I tried clearing up space by deleting GNOME, my computer wouldn’t get past the lock screen.
At this point, I figured I would just reinstall Kubuntu on top of Ubuntu. I booted back into Windows, and glanced at my partitions. Remember, they are all diced up, but I noticed a few megabytes of unused space between the main Windows partition and the Linux partition. I wanted to reclaim that, so I started up Partition Manager, a third-party partition software that includes support for non-NTFS and non-FAT partitions, and tried to modify the partition size. Partition Manager had done this before when I first shrunk the Windows partition, which required a reboot as the software took over.
At this point, I can only guess what happened. The system rebooted and Partition Manager started up and worked at resizing the partition. It would take a while, so I walked away. What I suspect happened was, when the computer rebooted to complete the process, grub got in the way. Grub is a Linux boot manager that allows the user to choose which installed operating system to boot into when the computer is first turned on. Because I had installed Linux and uninstalled Linux probably a half-dozen times by this point, Grub had become the default and probably attempted to boot into Linux (unsuccessfully, I might add), effectively canceling Partition Manager’s operation.
When the dust settled and I returned to my computer, my ~350 GB Windows partition, containing not just the operating system files but all of my personal files, was left as a RAW partition. Attempting to boot into Windows was impossible because the computer could not read the operating system files because the partition was not in a readable format.
I spent the next couple hours searching for and attempting ways to use a Windows 10 boot drive on a USB (really, an SD card in a SD-to-USB adapter) to recover the partition and fix the partition table (even though I really didn’t fully understand what had happened). Nothing was working, and I feared my files were lost forever.
(A bit of a disclaimer: Before I attempted dual-booting my computer, I spent several hours backing up a majority of what I considered important personal files to my home server, but I was getting antsy by the end and had decided to skip some video files that I figured I could really go without if needed. Of course, I didn’t expect to lose any files, assuming everything would go smoothly.)
I remembered how I had lost all my files twice before in my life through various computer mishaps, and how it really wasn’t the end of the world (in fact, it often felt like a new beginning). But unlike those other instances were the files were completely gone, I knew the files, or at least the 1s and 0s that make them, were still there on the SSD, just couldn’t be interpreted. Both Linux and Windows (off of my boot key) were suggesting that I format the drive to a readable format, but that would erase the data forever. I got close to calling it quits, but I just couldn’t do it knowing there was a chance I could get everything back.
A few failed or fruitless attempts to recover the data on Linux (my Ubuntu boot at this point was still working, so my laptop wasn’t completely dead), and I eventually hatched a plan. I discovered “dd,” a Linux command used to copy, write, and delete drives and partitions of drives. I could use it to make a system image of my RAW partition, /dev/sda3, to have forever. That way, I could at least reinstall Windows, but have a backup of my file data for a later time when I figure out how to recover them. I didn’t have enough space on my Linux partition (I had only given myself about 100 GB of storage space for Linux) to store a 350 GB system image, so I plugged in a 4 TB external hard drive with nearly 2 TB free and fired up the command. Five hours later, I had one big 350 GB copy of my RAW partition on my external hard drive.
I had found a software online called EaseUS, which could supposedly read RAW partitions and extract readable files. Unfortunately, the software is only for Windows and Mac, meaning I would have to have a working Windows install to have it read the RAW partition. Thankfully, my desktop PC runs Windows 7 just fine, and installing Manjaro and Debian hadn’t messed that up. In fact, having installed Manjaro was actually a blessing.
I booted into Manjaro, and I was able to delete the Debian install; I had wanted Debian for a number of reasons, which I won’t get into, but ultimately decided this was more important. I then used that free 1 TB partition to write my 350 GB system image back into a partition, using “dd” but in reverse. A few hours later, and I had replicated the RAW partition onto the drive.
I turned the computer off and booted up into Windows, and sure enough, Windows recognized the RAW partition, but because it wasn’t booting from it, it didn’t have any issues operating. I was then able to install EaseUS, point it to the RAW partition and had it try to find my files.
Honestly, I had very low expectations. Third-party software like this is often hit-or-miss in my experience, and the website I found it on, though the first result in a Google search for “recover RAW partition,” seemed suspect. But I ran it anyway and OH MY GOD IT’S FINDING THINGS.
Right off the bat, I figured it might just be making up some statistics about what type of files it was finding, but sure enough, it detected Word documents, Excel spreadsheets, pictures, videos, music, PDFs and a whole bunch of other files that had only been stored on my laptop.
So I let it run for a few hours as it parsed everything, and in the end found over 250 GB of files, everything from large documents and audio files to tiny Google Chrome and Amazon Kindle cache files.
At this point, I figured it was too good to be true. Having noticed the “Activate” button in the top right of the application, I thought ‘Surely they won’t make me pay to actually copy my recovered files.’ Of course they did. $70 for a one time license — or free if, like me, you find some random blog with a dozen or so activation keys posted on it.
With that out of the way, I began the long, overnight process of copying all my files over to my external hard drive. The next day, for safety’s sake, I copied the entire recovery folder over to my home server, and currently am in the process of copying it onto my new Linux laptop.
(NOTE: Thanks to that screenshot, I noticed I never recovered the “Extra Files,” which seems to be another 250,000 files. In the process of re-recovering them now. Good thing I didn’t delete that RAW partition from my desktop yet.)
Oh yeah, while the whole recovery was going on, I was faced with a dilemma of what to do with my laptop. Knowing all my files were going to be recovered, it was a matter of what operating system I wanted to run. After deleting all the partitions on my drive and starting from scratch, I flopped back and forth between Kubuntu and Windows (remembering how bloated and terrible Windows 10 is out of the box), and eventually decided, partially out of functionality (I have been using the Windows Subsystem for Linux a lot lately to develop Python scripts), partially out of wanting to be different (all the cool kids in college computer science classes run Linux) and partially out of not wanting to have to disable all those damn Windows ads and uninstall all that bloatware, that I would go with Kubuntu.
(Disclaimer: While writing this, I realized that, since I have a system image of my old Windows 10 install, I could potentially recover my old system as it was. The jury is still out: Online searches don’t give a conclusive answer, and with my customized Kubuntu already installed on the entire SSD, booting up Windows and recovering it may not only fail, but may leave me having to reinstall Kubuntu all over again.
UPDATE: I just tested this, and remembered I’ve tried it before. Get this: Booting off a USB drive, I can get to the “System Image Restore” point. The system image on my external hard drive, plugged into the computer, doesn’t show up on the list. Advanced options are to add a network location (adding my server doesn’t work for some reason), or install a driver for a device. Opening the driver install, I can see that Windows detects my external hard drive and all its files, including the system image. Clicking the system image doesn’t work. Ultimately, Windows seems to have made it impossible to recover a system image not made by Windows itself. Oh well, Linux it is then.)
So that’s where I stand. Messing around with Kubuntu, as well as Manjaro on my desktop (really, exploring the KDE desktop on both more than anything), I’ve already come to discover some rather interesting features, and customize my setup a bit. Ranting to myself in the mirror at 3 a.m. a couple nights ago while debating whether I needed to try to rescue my files or not, I realized that most of what I do on a computer nowadays is in-browser, so as long as Chrome works, the underlying operating system doesn’t matter all that much. But more on that whole debacle later.
All in all, I’m surprised that the recovery process worked as flawlessly as it did. Obviously, it took a long time, I managed to circumvent some costs, I just happened to have the right PC hardware for it and I ultimately wished it hadn’t happened in the first place, but I’m glad that it all worked out, and I learned a lot along the way.
So my laptop will be entirely Linux now (until it can prove itself with gaming, my desktop rig will remain Windows). I’m excited for the learning opportunity, and to explore full-time the operating system that, between the WSL, my unRAID server and Raspberry Pis, I’ve been quasi-using for years now.
So long Windows. I think it’s only fitting that I leave you on a low note.