You are not logged in.

#1 2016-09-26 19:02:11

qptro
Member
Registered: 2014-12-24
Posts: 5

Arch won't boot due to incorrect /etc/fstab even after fixing [solved]

Two-odd years using Arch and I'm still posting in the Newbie Corner. For shame.

Anyway, I dual-boot Windows 10 and Arch, with the Windows partitions at the start of the partition table. I tried to install the big new Windows 10 update, which fried the Windows install and had to be rolled back.

However, the update also created a new Windows system partition at the start of the partition table, which means the contents of my fstab has been "offset by one". My swap was /dev/sda5 and is now /dev/sda6; my Arch root partition was /dev/sda6 and is now /dev/sda7 etc.

Because of this, Arch refuses to boot, and dumps me in an emergency shell. The boot messages in their entirety, transcribed from a picture I took on my phone:

:: running early hook [udev]
starting version 231
:: running hook [udev]
:: Triggering uevents...
:: performing fsck on '/dev/sda6'
:: mounting '/dev/sda6' on real root
mount: unknown filesystem type 'swap'
You are now being dropped into an emergency shell.

From the emergency shell, I've mounted the root partition and corrected the fstab, but the system still refuses to boot. I've also chrooted from a live CD and tried `mount -a` and `bootctl update`, if those mean anything, but the problem persists.

Any suggestions?

Last edited by qptro (2016-09-26 20:22:15)

Offline

#2 2016-09-26 19:05:03

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,680
Website

Re: Arch won't boot due to incorrect /etc/fstab even after fixing [solved]

qptro wrote:

I've mounted the root partition and corrected the fstab, but the system still refuses to boot.

You should post your fstab in full.

Also, simply (re)moving /etc/fstab should work on your system.

Offline

#3 2016-09-26 19:22:09

qptro
Member
Registered: 2014-12-24
Posts: 5

Re: Arch won't boot due to incorrect /etc/fstab even after fixing [solved]

Sorry. The original fstab:

# /dev/sda6
UUID=a97b8c98-7a42-4f13-8785-d8e09e918d9b	/         	ext4      	rw,relatime,data=ordered	0 1

# /dev/sda2
UUID=D494-CC98					/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro	0 2

# /dev/sda7
UUID=a8db72d6-6ace-4d29-be14-826b9521a396	/home     	ext4      	rw,relatime,data=ordered	0 2

# /dev/sda5
UUID=e68c3d48-612c-45d5-8600-38993194c1fe	none      	swap      	defaults  	0 0

And the new one:

# /dev/sda6
/dev/sda7	/         	ext4      	rw,relatime,data=ordered	0 1

# /dev/sda2
/dev/sda2					/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro	0 2

# /dev/sda7
/dev/sda8	/home     	ext4      	rw,relatime,data=ordered	0 2

# /dev/sda5
/dev/sda6	none      	swap      	defaults  	0 0

Unfortunately, changing the new fstab's path just gives the same error. I'd guess it can't mount the root partition to read the new fstab at all, but I also know nothing.

Offline

#4 2016-09-26 19:52:04

promarbler14
Member
From: MD, U.S.
Registered: 2016-03-28
Posts: 40

Re: Arch won't boot due to incorrect /etc/fstab even after fixing [solved]

Use lsblk -f or sudo blkid to printout your partitions, and use the UUIDs in the filesystem specifier column (the first one).

This is the preferred method, for precisely this reason. Device partition specifications may change whenever one modifies the partitions or disks used.

The root partition is mounted by your initramfs, which is generated on kernel updates or whenever you run the command mkinitcpio -p <linux>. It mounts the root filesystem specified by the UUID given on the kernel command line (which you can see with 'cat /proc/cmdline').

You should also probably reboot after making changes, if you haven't...

Offline

#5 2016-09-26 20:20:54

qptro
Member
Registered: 2014-12-24
Posts: 5

Re: Arch won't boot due to incorrect /etc/fstab even after fixing [solved]

Boy. It turns out that the bootctl config file for Arch was pointing to the wrong partition for the root directory (root=/dev/sda6 rather than /dev/sda7). Changing that finally fixed the problem. Thanks for all the help!

Offline

#6 2016-09-26 20:21:45

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,424
Website

Re: Arch won't boot due to incorrect /etc/fstab even after fixing [solved]

Please remember to mark your thread as [Solved] by editing your first post and prepending it to the title.


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

#7 2016-09-26 20:25:06

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,680
Website

Re: Arch won't boot due to incorrect /etc/fstab even after fixing [solved]

For GPT disks, you can drop /etc/fstab completely and use the Discoverable Partitions Specification to let systemd mount them automatically instead.

See https://www.freedesktop.org/wiki/Specif … tionsSpec/

To summarise, in gdisk the codes would be 8304 for Linux x86_64 root ("/"), 8200 for swap and 8302 for /home

EDIT: Sorry, cross-posted with your solution...

Last edited by Head_on_a_Stick (2016-09-26 20:25:41)

Offline

Board footer

Powered by FluxBB