You are not logged in.
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
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
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
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
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
Please remember to mark your thread as [Solved] by editing your first post and prepending it to the title.
Offline
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