This morning I woke up, rebooted a living room pc and got thrown into a 2-hour session of troubleshooting for a problem I do not understand why it exists. I’m writing this in hopes of understanding the whys, and how to avoid similar pitfalls.
I just recently installed a living room pc running Fedora 44, it’s running Plasma Big Screen, and it’s purpose is to be a steam link machine, jellyfin server and maybe a game server down the line for some coop games (zomboid, valheim…). For about a week, everything was perfect.
Until this morning.
After turning on my tv, my system was showing some errors on qbittorrent, and I decided to reboot just in case. And that was when my system just completely locked me out, it threw me into emergency mode and I had no access to root, so nothing could be done, just watch an endless loop of my system trying to do something that was impossible and occasionally pressing enter to restart the loop. That is my first gripe: why throw someone into emergency mode if it’s just going to lock them out?
I tried restarting a few times, unplugging things, reseating ram and the likes just in case. When nothing worked, it seemed I’d have to do research, in the hopes of not having to wipe it clean and start anew.
So, here I went, searching the web with my problem and trying to find a solution. After reading some very long forum posts, I apparently needed more information about what had actually caused this, but it was likely something about fstab. And here is my second gripe: why did the system not immediately inform me of the error first before starting emergency mode? I got 0 error messages because the default setting is Rghb quiet… Is this a thing about just fedora or is every linux distro the same?
(I’m going to add in here that I’m in the process of switching all my pcs to Linux, and this was a first test. But I also am going to switch my family’s pcs, and I need to shine my Linux shoes and put some big boy IT pants for the future, so that’s why I’m writing a post: to learn from your experiences)
So here I go, to do some stuff with GRUB to find the error. I decided to test chatgpt and see if it could guide me (I’m a noob if it wasn’t obvious yet), and took more than an hour of troubleshooting with grub and bash to finally see that the problem was about a drive with an UUID that did not match my system drive (a silver lining I guess). But, here’s the thing, as soon as the reboot loop started, I had an inkling of a suspicion that it might have been one of the old spinning hdds causing it (I need to replace those, but they’re fine and working for now, and in this economy…). So I had unplugged all of them when I did my hardware troubleshooting step, and kept only my nvme disk (which is brand new) on the system up to here. So I had been completely blindsided that even if the drives are disconnected, my system still won’t boot, because it expects the drives to be there, and if they aren’t, even though everything else is working fine, it won’t boot! This is my third gripe. Is this a default setting? Something about Fedora? Why is this the way it is done? It just doesn’t seem logical to me to lock me out of the whole system because a non-essential part is not working/present.
Anyways, after unplugging and re-plugging the drives, I finally discovered it was not my drive, but a pcie sata expansion card that had timed out, and it was this one smaller drive I had been using with the card that was the problem, but after plugging it straight to the mb (the slots are precious, okay? I was saving them for bigger drives in the future), it worked just fine. My system booted normally.
That was 2 hours-ish that could have been just 5 minutes if the system had actually told me it was having problems with connecting to a drive. Also, chatgpt did help, but boy, it didn’t have a good troubleshooting order at all. It was just shooting in every direction and hoping something would stick. But I don’t think trying to find my fix in forum posts would have been any better.


This is very frustrating, and I’ve been there myself by accident but the system does this for good reason. When you have a drive listed to automount in fstab without the “nofail” flag set, if the drive is unavailable the system will boot into emergency mode. This is because without “nofail” it is deemed the drive is an essential part of the system, and Linux won’t boot to prevent unintended damage. A drive might be unplugged or it might be failing and corrupted; but the OS has no way of knowing why the drive isn’t there; it juts knows it’s essential and locks itself down to allow you to fix the problem and prevent damage.
Emergency mode is a bit daunting, but booting into it when a essential drive is missing is actually a safety feature to prevent you experiencing data loss or unintended consequences.
The real issue here is not how fstab works, but rather wherever you got guidance on auto-mounting a drive in Linux. You have to actively set up a drive to automount (linux by default only automounts the root system) - so either you yourself edited the fstab or you used a GUI tool to do it. Fedora does not do this automatically. Whatever guide you followed is the problem here: A good guide should have explained how fstab works, and particularly what “nofail” is and how important it is. If it was a GUI method (like Gpart of KDE Partition Manager), then they also include methods to mark a drive as non-essential (in KDE Partition Manager for example, when setting up a mount point you’d need to ensure “Don’t prevent the system from booting if not mountable”). The guide you followed should have flagged this things up. I know it seems harsh but brutally, you did this. It can be a tough pill to take with linux but the more you tinker, the more you are responsible for when things go wrong; so it’s honestly really useful to actually learn how the things you’re changing work.
If you’d like to understand fstab, the Arch linux wiki has a decent overview: https://wiki.archlinux.org/title/Fstab
It links through to a page on mount options in fstab for ext4 file system, which includes nofail and many other options: https://man.archlinux.org/man/ext4.5#Mount_options_for_ext4
I would go through your fstab and ensure that any other auto-mounted drives not essential for boot (e.g. media drives or external drives or USB drives) are marked as nofail. Last thing you want is being locked out of yourself if an unessential drive does fail, as emergency mode can be tedious way to problem solve that issue. But before you make any changes, back up your fstab file, and also briefly learn how to use emergency mode (you probably already have learnt how to manually mount the root file system in emergency mode from Chatgpt, but this is an essential first step to fix most problems in emergency mode)