Skip to main content
Topic: After update GRUB and rEFIND no longer recognizes my root partition (Read 805 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

After update GRUB and rEFIND no longer recognizes my root partition

The issue started off with GRUB giving me this error

-

ERROR: device 'UUID=uuid of root parition' not found.

Skipping fsck. mount: /new_root: can't find UUID=uuid of root partition.

you are now being dropped into an emergency shell.

sh: can't access tty; job control off.

-

The fstab matches the UUID in  lsblk -f and all other connections but it still doesn't recognize my /root partition

Looking around for solutions I got rid of GRUB and replaced it with rEFIND and I still get the same error.

What can I do to get my bootloader to recognize my system and boot again?

Re: After update GRUB and rEFIND no longer recognizes my root partition

Reply #1
>Looking around for solutions I got rid of GRUB and replaced it with rEFIND and I still get the same error.

That's because the problem occurs in the initramfs environment, it doesn't have anything to do with the bootloader.

Give us your /etc/mkinitcpio.conf, /etc/fstab and /etc/default/grub.

Finally add these values to your kernel parameters to get debug output for the initramfs:
Code: [Select]
rd.debug rd.log=all

Re: After update GRUB and rEFIND no longer recognizes my root partition

Reply #2
I don't have GRUB anymore but here's the contents of fstab and mkinitcpio, I've removed the UUID for fstab but it's there.

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=                                     /boot/efi      vfat    umask=0077 0 2
UUID=                                     /              ext4    defaults,noatime 0 1
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES=(piix ide_disk reiserfs)
MODULES=""

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=""

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS=(base)
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS=(base udev autodetect block filesystems)
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS=(base udev block filesystems)
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS=(base udev block mdadm encrypt filesystems)
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS=(base udev block lvm2 filesystems)
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block keyboard keymap filesystems fsck"

# COMPRESSION
# Use this to compress the initramfs image. By default, zstd compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="zstd"
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()

Re: After update GRUB and rEFIND no longer recognizes my root partition

Reply #3
Trying to install grub again. I get this error, I think my EFI directory is bugged anyone got any ideas?

Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory.

Re: After update GRUB and rEFIND no longer recognizes my root partition

Reply #4
The UUID is messed up nvm I was right. No idea what to do with this, is there some way to generate a new UUID or something?

Re: After update GRUB and rEFIND no longer recognizes my root partition

Reply #5
By blanking and removing the UUID's you prevent the actual comparison of them. I can't see that sharing them is a security issue.

Try using a live cd/usb and seeing if you can mount your root partition.
If not I guess you have a corrupted filesystem.

If you can mount it then chroot into it and try to rebuild initramfs
Code: [Select]
sudo mkinitcpio -p linux


Re: After update GRUB and rEFIND no longer recognizes my root partition

Reply #6
Did you install with calamares?

My bet is, your fstab mounts efi too early, before the /boot or / (if boot isn't a partition).
Try putting that / entry before the /boot/efi.