Unable to resume from device/ Dependency failed for /home

For some time during boot i’d get a message ‘unable to resume from device disk/by-uuid’ and today after turning on from sleep it entered emergency mode. I tried fsck -f -y on sda/sdb disks, i tried live booting but it got stuck on ‘reached graphical interface’. I dont remember which disk is /home on (home and root are on separate disks), i think sdb was an external hdd, i disconnected it before tring live usb.

Edit: trying Testdisc resulted in “Partition sector doesn’t have the endmark 0xAA55”, Photorec in '“P unknown”, ddrescue got 0 rescue with 3 retries and the following day the disk isn’t even showing in lsblk or partition manager/GSmartControl, so I’m going with hardware failure and ordering a new one.

If your /home is a partition on a second disk and that disk fail - you do have a problem.

I have no quick fix ideas for your situation.

The following is steps I would use to get a working system - it would be result in a default user

  1. boot the system using a live ISO.
  2. mount the root partition
  3. enter a chroot to make some changes
    • edit /etc/fstab and comment the /home partition
    • create a folder for your user in /home
    • change permissions for the folder to your user
    • exit chroot
  4. reboot the system

This should give you a working system with a default desktop.

What happens next is impossible to predict - it depends - so…

Besides, there is an error about failed dependency for filesystem check. I hope you are not in a partial update state (i hope nobody uses the pretty dangerous option to auto update on shutdown). Or maybe you are still on udev based initramfs and lacking the fsck hook. We can check it later on.

But first things first. Boot from a live usb (and that way you will also be able to use copy paste to paste logs here and not screenshots of text) and fsck the partition where your home lives, unmounted.

1 Like

I didnt update, there were new updates, but i have to start them manually. I managed to get into live boot by switching monitor cable to integrated gtaphics but i cant log into this forum cause it says the browser is unsupported(dont know if i can install a new one?). I think home is on sda (sdb is usb), partition manager shows disk without partions, fsck says bad magic number in super-block. I had some power outages, i read that it also may be a cause?


Running the first suggested line says the same and running the second one gives a single line

E2fsck 1.46.2 (28-feb-2021)

This suggests that you are using an Old .ISO to boot from … best to get the latest one.

1 Like

I was struggling with that error last week.

By trying to solve the pacnew files udev change to systemd hook.

You can first make a duplicate of your /etc/default/grub and `/etc/mkinitcpio. conf ', also show us does files and read into:

In mkinitcpio. conf , change HOOKS=... to HOOKS=(base systemd keyboard autodetect microcode modconf kms sd-vconsole sd-encrypt block filesystems plymouth fsck)
optional: plymouth

My/etc/default/grub, GRUB_CMDLINE_LINUX_DEFAULT= is changed to this: "rd.luks.name=YourUUID=luks-YourUUID rd.luks.key=luks-YourUUID=/crypto_keyfile.bin root=/dev/mapper/luks-YourUUID SYSTEMD_SULOGIN_FORCE=1 "

From your lsblk, I can not tell if you are using cryptsetup, so your Guide would be different

One thing is sure - you have filesystem damage on sda. I wonder if the root filesystem is also affected but i guess the more pressing issue is sda.

The info from the command is just an example. You will first have to list the backup superblocks on the drive to know the correct number in your case.

sudo mke2fs -n /dev/sda 

Do not forget the small n, otherwise it will wipe everything !!!

It too just returned the line ‘mke2fs 1.46.2 (28-feb-2021)’

Also taskbar notification says “filesystem mounted at /run/media/manjaro/d748… not responding” so that would be the root nvme disk.

As for terashy88 suggestion, tomorrow i’ll try booting from a new iso if possible, to show the files.

So yesterday the system hung up on shutdown, saying it can’t unmount several things, but I didn’t write them down, and force shut down. Now I booted with new ISO, didn’t get the previous “not responding” message and this is the result of mke2fs:

mke2fs 1.47.4 (6-Mar-2025)
Creating filesystem with 58607766 4k blocks and 14655488 inodes
Filesystem UUID: 9a26e51b-4189-4d90-9e50-61a0d0d64e0b
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872

And the grub and mkinitcpio files (I didn’t do anything with encrypting, so I guess I’m not using cryptsetup?):

grub
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=hidden
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet apparmor=1 security=apparmor resume=UUID=d46bc2ea-cb32-48ca-b221-7f3f5fd2ac79 udev.log_priority=3"
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command 'videoinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment this option to enable os-prober execution in the grub-mkconfig command
GRUB_DISABLE_OS_PROBER=false

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to ensure that the root filesystem is mounted read-only so that
# systemd-fsck can run the check automatically. We use 'fsck' by default, which
# needs 'rw' as boot parameter, to avoid delay in boot-time. 'fsck' needs to be
# removed from 'mkinitcpio.conf' to make 'systemd-fsck' work.
# See also Arch-Wiki: https://wiki.archlinux.org/index.php/Fsck#Boot_time_checking
#GRUB_ROOT_FS_RO=true
mkinitcpio
# 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 kms block keyboard keymap resume filesystems fsck)

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

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


And I’m not sure how to do this, would I add # before the home partition line, then use mkdir and chown commands? (it was long ago that I did some similar actions with folders so I forgot):

The following is steps I would use to get a working system - it would be result in a default user

  1. boot the system using a live ISO.

  2. mount the root partition

  3. enter a chroot to make some changes

You can now do at least 2 things: check the filesystem for errors apecifying some superblock from the list, and you can temporarily remove resume hook from the mkinitcpio.conf to test without resume and standby capabilities (from chroot). After that regenerate init with mkinitcpio -P.

Obviously, do not test the two approaches at the same time so that you know what has helped. Chexk fs first.

If something is not clear, ask (i guess you know how to chroot from live usb?)

1 Like

Checked superblocks (with sudo e2fsck -b 819200 /dev/sda )
, bad magic number again and the rest of superblocks from 4096000 “Invalid argument while trying to open /dev/sda”.

And no, is it like this, mount the root partition first? 🚀 How to Update GRUB and Regenerate Initramfs from a Manjaro Live USB System 🐧 – Kevin's Blog

And change the HOOKS line from terminal?

/dev/sda is your drive, not a partition.

While it is in theory possible to create an ext4 filesystem on an unpartitioned drive, there are tons of reasons why you shouldn’t. For starters, you won’t be able to boot from that drive.

2 Likes

It’s not showing any partitions:

That is probably why your system can’t find /home. Your /etc/fstab is referencing a UUID that doesn’t exist.

In the photos in your original post, /dev/nvme0n1 appears to be the boot drive, with three partitions, but none of those is /home. /dev/sdb holds three partitions, neither of which is mounted, and /dev/sda does not have any partitions on it.

Logic thus suggests that /home was probably on /dev/sda, but that it’s gone now. But you said… :backhand_index_pointing_down:

… which, if you really did that on the raw disks instead of on ext4 partitions, may have wiped your partition table.

3 Likes

nmve is the boot disk, home was on SATA so yes it should be sda and sdb was an external disk. I don’t remember if the first photo was made before or after running fsck.

But those 3 “dependency failed” (or at least for /home because I wrote that and ‘timed out’ down to search about) messages were before trying fsck.

Tried after editing mkinicpio.conf (this is the line now HOOKS=(base udev autodetect modconf kms block keyboard keymap filesystems fsck) , still the same, just the ‘timed out’ and ‘dependency’ messaged appeared not immediately but after some more time. This is how I did:

Summary
sudo mount /dev/nvme0n1p3 /mnt                                              ✔
    ~  sudo mount /dev/nvme0n1p1 /mnt/boot/efi                                     ✔
    ~  sudo manjaro-chroot /mnt                                                    ✔
sh-5.3# sudo nano /etc/mkinitcpio.conf
sh-5.3# mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux612.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-6.12-x86_64 -g /boot/initramfs-6.12-x86_64.img
==> Starting build: '6.12.91-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
  -> Running build hook: [block]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-6.12-x86_64.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux618.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-6.18-x86_64 -g /boot/initramfs-6.18-x86_64.img
==> Starting build: '6.18.33-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
  -> Running build hook: [block]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-6.18-x86_64.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux70.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-7.0-x86_64 -g /boot/initramfs-7.0-x86_64.img
==> Starting build: '7.0.10-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
  -> Running build hook: [block]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-7.0-x86_64.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful

Should I try testdisk or something similar to see if there’s anything left? I have a Timeshift snapshot but as I understand it doesn’t include /home files.

Mod edit: Consecutive posts merged. :wink:

Just load the Timeshift GUI.

And in Settings :right_arrow: Users

Tick the: :check_box_with_check: Include @home subvolume in backups

And done!

Obivously before this had happened. :slightly_frowning_face:

2 Likes