Arch Linux - Booted into EMode when connected other drives after install

Hey all,

I've started a small project of my own to see what the fuss was about with Arch and boy was I surprised! I've run into a few hurdles here and there to get it running, but now I'm at the stage of getting the graphics driver up and running and setting a desktop environment. However when I plug my 3 other drives back in it boots into Emergency mode, it works when I plug them back out so it's definitely some setting or parameter that I need to make bootctl or fstab to pass them and go it's merry way from /boot.

I have windows 10 installed on a ssd (yes, I exterminated the spyware) with a HDD and an ssd for Arch with a HDD (yet to mount it, first get the system up and running first). The reason I plug other drives out when installing an operating system removes the drag for the bootloaders, that's why if I want to boot into an operating system, I just select the drive it's installed on, no hassles and figgities needed.

Google was of no help, apparently no one had this issue or I'm missing the obvious, either way I've tried and failed to remedy the issue to no avail.

Arch is the only drive that uses UEFI, the other 3 are in MBR.

Thank you all in advance for your time!

Here's a picture of the issue:

My guess is that if you switch the SATA cables of one of the windows drives to one of the arch drives you'll have no problems at all. Why? Because in your fstab (I'm guessing) you're using kernel names to identify the drives (ie '/dev/sda3'). This is a bad idea, because the kernel names are kind of dynamic (first drive to get recognise gets sda, second sdb, etc), and it's slower than using UUID (Unique Universal ID, or something like that). So, boot into Linux, with arch ssd and hdd and fix it.

First get the UUID of the drives by executing lsblk -o NAME,UUID, and take note of the UUID's you want (I'm guessing /dev/sda3, and whatever your HDD is). Then edit /etc/fstab as root, and replace the line that has says something like /dev/sda3 / blablabla with UUID=theuuidgoeshere / blablabla. Then below that just add your HDD (UUID=uuid /whereveryouwantitmoutned thefilesystem switches).

2 Likes

Make sure you follow the wiki guide here:

https://wiki.archlinux.org/index.php/NTFS-3G

If you are mounting NTFS, you should have ntfs-3g installed and your fstab file should use the type ntfs-3g.

Hope this helps!

1 Like

@kiipa
Good idea!

I was just following a series of guides really and they all use the /dev/sdXY method, I will switch it to the UUID now.

@Timoral
I've tried that and it still failed to boot normally. Perhaps this is the 2nd step of klipa's comment, will see the results soon!

If you want to mount a partition with a NTFS filesystem you're going to need that flag. But it doesn't seem to be what you want, unless the HDD for Linux is formatted to NTFS.

@kiipa

I will only use the HDD in EXT4 so it's pretty much a dedicated storage for linux. Also the UUID worked but not in fstab as it was already in there:

Instead I checked the bootloader where it reported the error and I found this:

Here it was originally options root=/dev/sda3 rw, now as you see in the picture I edited it to the UUID.

Thanks for the hint kiipa!

NOTE: The bootloader image was as test to see if it worked, I edited it further afterwards.

This is good to close now.