1

When creating a new swap partition in Fedora 29 to enlarge it I removed the old one using GParted and removed their respective entries in /etc/fstab. I created new entries for the new swap partitions which work as intended.

However, the system still tries to mount the old partition at startup even though it is not in /etc/fstab - until it times out eventually.

The service also doesn't exist for any entry of systemctl status . I also have tried to run

systemctl reset-failed
systemctl daemon-reload

But to no avail. The following is the content of my fstab file:

# /etc/fstab
# Created by anaconda on Wed Nov 28 22:29:31 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=8efbb12d-bd38-420c-a33e-f02205e1a6e9 /                       ext4    defaults        1 1
UUID=ded23a91-0e22-48f4-b1ec-169f255961b6 /boot                   ext4    defaults        1 2
UUID=AEA0-2099          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
UUID=3e9f87b8-0b25-4a2f-aa21-51ea8fc58020 swap                    swap    defaults        0 0
UUID=8743c19d-5d86-4651-a8b6-cf3477da8b13 swap                    swap    defaults        0 0

The following is from /var/log/boot.log

[*** ] A start job is running for dev-disk-by\x2duuid-5121042f\x2de8a6\x2d41ed\x2d981e[ TIME ] Timed out waiting for device dev-disk-by\x2duuid-5121042f\x2de8a6\x2d41ed\x2d981e\x2de9d224055ea2.device.

EDIT: As per Nasir Riley and sourcejedi's comments I checked my grub file where there was no mention of the partition and i ran grub2-mkconfig -o /boot/grub2/grub.cfg It might also be relevant that i run a dual boot windows on this system.

EDIT 2 It seems that the partition was mentioned in /proc but nowhere else. I have since reinstalled my system to fix this issue.

3
  • 2
    Did you update grub with the new swap partition? Jan 18 '19 at 19:13
  • 1
    specifically, any reference to the old uuid in cat /proc/cmdline ? if so, fix should be to edit /etc/default/grub, and then "Changes to /etc/default/grub require rebuilding the grub.cfg file as follows"
    – sourcejedi
    Jan 18 '19 at 21:50
  • sourcejedi's comment was an actual solution for me in similar case.
    – kotomaran
    Jan 16 '20 at 7:19
1

After editing /etc/fstab You have to regenerate your initramfs.

dracut --regenerate-all --force
1
  • I have done this, it did not work unfortunately Jan 28 '19 at 14:51
0

Collecting the work of others for a complete answer.

The problem's source

The problem is that when the grub.cfg file is generated it reads the file /etc/default/grub.

If the system was installed, or GRUB last updated, with a swap partition enabled it is included in the settings file. Typically on a line such as

GRUB_CMDLINE_LINUX_DEFAULT="resume=dev/disk/by-uuid/5121042f-e8a6-41ed-981e-e9d224055ea2 splash=silent mitigations=auto quiet"

That line is appended to the linux or linuxefi command in grub.cfg causing GRUB to try loading the named partition as a "resume" device.

Removing the reference to the swap partition in fstab stops the loaded system from trying to use it as swap, but the grub.cfg is loaded before the system (actually loads the system).

As has been noted by the OP, simply recreating the grub.cfg file using grub2-mkconfig -o /boot/grub2/grub.cfg doesn't help as the setting in /etc/default/grub is still there.

The solution

As given in the comment by sourcejedi first step is to edit the /etc/default/grub file, removing the reference to the old swap partition. If you have a new swap partition, or just reformatted the swap partition, replace the old UUID with the new one. If you now have no swap partition, remove the resume=.... part of that line. Don't remove the whole line, and keep what ever else is there. If the only thing there is the reference to the old swap partition, change the line to GRUB_CMDLINE_LINUX_DEFAULT="".

With the reference fixed, now the second step is to rebuild the grub.cfg file using the command

grub2-mkconfig -o /boot/grub2/grub.cfg

Of course, if your system uses a different place for the grub.cfg file, replace that as the argument to the -o option. For example, iirc, Centos places it in /boot/efi/EFI/centos/grub.cfg which would make the command

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

I could be wrong, as I've not used Centos in a while. Bottom line is to find the location of grub.cfg before running the command.


Notes:

The top of the /etc/default/grub file is likely to tell you exactly the command to run after making changes to it.

The reference to the missing disk might not be dev-disk-by\x2duuid-..., it could be by older designations like dev-sda3 (dev/sda3 in the default file), or use labels instead of UUID, such as dev-disk-by\x2dlabel-SWAP (dev/disk/by-label/swap in the default file).

If you use a GUI system config editor, such as Yast in SUSE, it's better to make the changes there as the editor's files might store the data elsewhere, and restore it the next time you use it, placing you back where you started. In openSUSE, for example, that would be found in Yast -> System -> Boot Loader -> Kernel Paramters -> Optional Kernel Command Line Parameter.


But for the comment by sourcejedi, which I "missed" as I was reading "answers" not comments, I'd still be tracing the problem, or chasing my tail.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.