Nowadays, systemd will halt your boot and dump you in emergency mode if any designated device mounts fail. While incredibly annoying, this is a safety feature. I encountered this whilst trying to boot my Raspberry Pi headlessly and wondering why I couldn’t ssh!

To solve this, ensure you specify the nofail option for your in /etc/fstab for each of your mounts which shouldn’t interrupt the boot process. This is useful for external hard drives, NAS devices, and other headless systems.

If you’re on a Raspberry Pi, you’ll need to do the [following]():

  1. mount your SD card boot partition (on your comp)
  2. edit cmdline.txt with init=/bin/sh
  3. Insert it back in and boot your Pi
  4. remount / in rw
  5. edit fstab with some nofail
  6. exit, unplug, mount boot and remove the init=/bin/sh you added earlier from cmdline.txt
  7. exit, boot, and wala! Your boot won’t get hung from drives systemd doesn’t find.
Mario Loria is a builder of diverse infrastructure with modern workloads on both bare-metal and cloud platforms. He's traversed roles in system administration, network engineering, and DevOps. You can learn more about him here.