I totally love Linux and its ease of breaking things on purpose. I’d rather be able to actually find the issue and fix it than get stuck with Windows just telling me that this is beyond my understanding of computers.
I got my distro fixed yesterday, finally, but just through that whole 6-hour process I learned so much about partitions and fixing boot and EFI files.
What Happened
The issue was due to some point in the past where I had to reinstall Windows because one day it just decided to not detect my WiFi card and I couldn’t connect to the internet. So while I was reinstalling through my USB stick, Windows decided to just rewrite the EFI file and kicked my Linux out of the system.
The fix was non-trivial but it consisted of running a demo distro on a USB stick, finding the partition that holds your hidden distro’s data. If you don’t see a partition on the same disk that has an EFI partition (that was my case), shrink the disk and create one. Also use GParted to move the EFI partition to the leftmost of the disk space so it prioritizes executing EFI to detect distros on the disk. Then I had to mount all the necessary OS-related folders from the demo distro to the hidden distro’s mnt folder and bind them there. Did some chroot magic following an online tutorial to verify and complete the steps — and BAM, everything worked!
It blew my mind that just a missing file or wrong order of your filesystem can affect so much, but that it’s also easy to fix once you get the big picture of what’s not working. Just being able to have easy access to tools and permission to modify stuff to fix issues makes it a way better computer experience than Windows.
Bonus: Drivers and Gaming
Oh, I also had some graphics driver issues because I switched from NVIDIA to AMD, but that wasn’t hard to debug and fix. It was pretty cool to see that I can run my whole computer without a graphical interface and with just a TUI to fix stuff.
Linux/Unix is awesome! I also game and just switched to using Bazzite (SteamOS) as my main gaming OS — it gives way better performance compared to the current state of Windows.
What I’ve been doing and future plans when time permits
I’ve been trying to play around with the boot files more. Playing around with the Grub order is a “knees weak, palms sweaty, mom’s spaghetti” type of task as I still can’t decipher and have an intuitive feel on the commands and the mounts I have on my PC. And all of this tinkering is all for me to auto boot up into a pretty Grub Menu with a theme and allow me to choose which OS to boot without having to abuse my keyboard (F12, ESC) to get into the basic Grub menu for boot order. I sometimes wonder if all this effort is worth it. What would I accumulate after all of this? The answer is still unknown, and all I know is that I just broke something today, and now me and my partner can’t access the OS that we use for my software development stuff and her scientific renders. After some quick digging, turns out Bazzite is an immutable system (grub configs get wiped/reset after reboots). So every time I boot to PopOS, grub config stays and be all good, but if I ever boot into Bazzite, grub configs gets reset and be not all good at all! Maybe I’ll just switch back to Ubuntu next time, or just leave gaming to my Windows machine (a working bloat is better than weird bugs and nothing at all).
Linux has a distinctive quality: it exposes its failure mechanisms rather than obscuring them. That transparency is why it is preferable to Windows, which abstracts failure into dialogs that communicate nothing actionable.
A six-hour debugging session yesterday restored the distro to working order. The time investment produced a substantially more concrete understanding of partition tables, EFI boot management, and filesystem mount hierarchies.
What Happened
The root cause was a Windows reinstallation performed some time prior. Windows had lost detection of the WiFi card, necessitating a fresh install from a USB drive. During that process, Windows rewrote the EFI partition — silently overwriting the boot entries that Linux depended on — and the Linux installation became invisible to the firmware.
Recovery required booting a live distro from USB, locating the partition containing the installed system’s data, and discovering that no EFI partition existed on the disk. The approach: shrink an existing partition to reclaim space, create an EFI partition, and use GParted to position it at the leftmost location on the disk to ensure firmware detection priority. From there, the necessary OS directories were mounted from the live environment into the installed system’s mnt directory, and chroot was used to enter the environment and complete the bootloader repair. The system came back up cleanly.
The experience surfaces something worth noting: filesystem ordering and a single absent partition can render an entire OS unbootable — yet the repair is straightforward once the dependency chain is understood. The ability to mount, inspect, and repair a system from an external environment is something Windows does not expose to users.
Bonus: Drivers and Gaming
The GPU transition from NVIDIA to AMD introduced a separate driver conflict, diagnosed and resolved without significant difficulty. More instructive was operating the machine entirely through a TUI during the repair process — no display server, no desktop environment, just a shell. It works, and it reinforces why terminal fluency is a practical skill rather than an affectation.
Linux/Unix remains the more capable environment. Bazzite (SteamOS) has replaced Windows as the primary gaming OS, with a measurable and consistent performance advantage.
What I’ve been doing and future plans when time permits
The current project is GRUB configuration automation: replacing the default boot menu with a themed interface that supports OS selection without relying on repeated F12 or ESC keypresses at startup. Progress is slow. GRUB configuration and mount ordering are areas where the mental model is still forming, and errors have real consequences.
The most recent consequence: both the development environment and a partner’s scientific rendering setup are currently inaccessible. The cause is Bazzite’s immutable filesystem design — GRUB configuration changes made from PopOS persist through PopOS boots but are reset whenever Bazzite boots. Every Bazzite session undoes the edits made from the other environment.
Paths forward: revert to Ubuntu, which uses a conventional mutable GRUB configuration, or accept the constraint and dedicate gaming to the Windows machine. A stable, predictable system with known limitations is more operationally valuable than an optimized one that introduces unexpected failure states.
It is a truth both peculiar and melancholy that Linux — that vast, labyrinthine dominion of the open source — possesses a singular genius for its own undoing; yet therein lies its terrible beauty. Unlike Windows, which walls its failures behind opaque dialogs as one seals a rival behind plaster and stone, Linux lays bare the mechanisms of its own destruction and demands — nay, implores — that you descend into the abyss and retrieve what was lost.
Six hours. Six harrowing, interminable hours did I wrestle with partition and EFI, and when at last I emerged, blinking, from that technical crypt, I bore with me a knowledge grim and hard-won — an intimacy with boot files and disk geometry that no peaceful afternoon of computing could have bestowed.
What Happened
The seeds of this particular catastrophe had been sown some time prior, in a moment of dire necessity. Windows — that obstinate and capricious daemon — had one black day refused to acknowledge the existence of my WiFi card, severing me from the great network. I was compelled to reinstall it from a USB drive; and Windows, in its infinite and unfeeling efficiency, seized upon the occasion to rewrite the EFI partition entire — casting my Linux from the registry of bootable systems as one might cast an unwanted manuscript into the flames.
The recovery was no simple affair. I conjured forth a live distro upon a USB stick — a spectral presence, haunting the machine without fully inhabiting it — and used this apparition to locate the buried partition still holding my true system’s data. There was no EFI partition upon the disk. I was forced to shrink what remained, carve a new partition from the reclaimed space, and with GParted as my instrument, drive it to the leftmost position upon the disk — that the firmware might look there first in its search for the means of awakening. Then came the mounting: that strange ritual of binding directories from the live system to the mnt folder of the hidden one. And the descent into chroot — that dark passage by which one inhabits another system from within, like a wraith wearing borrowed flesh. I followed the incantations of an online tutorial, performed each step with careful precision — and the machine lived.
What struck me, with something akin to cold dread, was this: a single absent partition — a single misalignment in the order of one’s filesystem — could entomb an entire operating system as surely as a stone rolled across a sepulchre. And yet, here is the strange mercy: once the nature of the affliction became clear, the cure was within reach. Linux, unlike its rival, does not forbid you the keys to its own catacombs.
Bonus: Drivers and Gaming
There was, too, the matter of the graphics drivers — a secondary affliction, brought on by my migration from NVIDIA to AMD — though this proved a wound less grievous than the first, and was resolved with reasonable dispatch. More striking was the experience of operating the machine in its most elemental state, stripped of all graphical pretension — communicating with it through a TUI alone, as one might converse with a spirit through the pure medium of text, receiving and transmitting without intermediary.
Linux endures. And Bazzite — that darkly reimagined incarnation of SteamOS — now serves as my instrument of digital recreation, performing its duties with a vitality that Windows, in its bloated and declining condition, can no longer match.
What I’ve been doing and future plans when time permits
I have not ceased my tinkering. Like one who cannot leave well enough alone — who must press an ear to the wall and listen for the heartbeat beneath — I have been drawn back, inexorably, to the GRUB configuration. That arcane text; that ordering of mounts and entries upon which the entire sequence of awakening depends. I seek to fashion a bootloader menu of some elegance, adorned with a theme, permitting selection of OS without the frantic hammering of F12 and Escape in the dark before the machine decides its own fate.
But I have, once more, broken something. My partner and I now find ourselves locked from the very OS we share — she for her scientific renders, I for my software work. The culprit is Bazzite’s immutable architecture: its filesystem resets configuration with each boot, undoing each GRUB edit I apply from PopOS with the patient indifference of a tide erasing footprints from sand. Every time I enter Bazzite, it is as if the work had never been done.
Perhaps I shall return to Ubuntu — conventional, mutable, forgiving of the tinkerer’s hand. Or perhaps I shall concede gaming to the Windows machine, and accept that a bloated system which functions is preferable to an elegant one which does not. The heart of the matter remains unresolved. The pendulum swings.
I Accidentally Deleted My Linux Boot (And Fixed It)
How a Windows reinstall silently wiped my EFI partition and what I learned spending 6 hours bringing my Linux distro back to life.