You are not logged in.

#1 2019-01-06 10:03:52

jcelerier
Member
Registered: 2017-06-26
Posts: 8

Can't boot on mdadm array anymore after switching computers

Hello,

here is my situation:
I have two computers (A and B).
CPU of computer A died, so I moved my drives which are configured in a mdadm raid (intel RST) in computer B in the meantime.

The thing booted and worked fine on computer B.

I just received my replacement CPU and put the drives back in computer A, but the drive won't boot anymore.
It goes up to GRUB, loads the initramfs, but then after loading systemd complains like this :

    ERROR: device ‘UUID=...’ not found. Skipping fsck.
    mount: /new_root: can’t find UUID=....
    You are now being dropped into an emergency shell.
    sh: can’t access tty; job control turned off

(and I can't type anything in the emergency shell, I guess because I have a usb keyboard or something ?)

To check what went wrong, I booted with an arch usb key, which detected and mounted my mdadm drives just fine, and reports the same UUID for my / drive than the one my system complains about.
I tried the following :

- using PARTUUID instead in my /etc/fstab and the kernel command line (I'm not sure but I guess that by the time this error happens, /etc/fstab hasn't even been looked at yet, right ?)
- regenerating my /etc/mdadm.conf with mdadm -E or mdadm -D as advised in the file
- reinstalling the `linux` package to force a rebuild of the initramfs and whatever hooks there are in there, just in case
- regenerating /boot/grub/grub.cfg, just in case
- downgrading to 4.19.5 (I'm on 4.20)

But nothing helped.

what can I do ? thanks

Offline

#2 2019-01-08 14:42:56

taumeister
Member
Registered: 2019-01-06
Posts: 31

Re: Can't boot on mdadm array anymore after switching computers

Hello,
this is a pretty stupid situation.

1. does your system boot from the RAID? or do you have an extra hard drive for it.

It almost looks like Grub doesn't see your hard drive/ RAID array.
I know you must have done this in the beginning, but you might want to check your /etc/mkinitcpio.conf again to see if the mdam_udev hook is in the right place and rebuild the ramdisk.
( mkinitcpio - p yourlinuxkernel.preset )
The mdadm.conf  in my opinion, sets only the right name after a restart ( and who should be informed by mail etc. )

And, I'm not 100% sure, but the availability of your keyboard has to do with the order in the 'HOOK' too.

This is mine:
HOOKS=(base udev block autodetect modconf mdadm_udev keyboard filesystem fsck)
greetings.

taumeister

Offline

#3 2019-01-09 21:59:54

mich41
Member
Registered: 2012-06-22
Posts: 796

Re: Can't boot on mdadm array anymore after switching computers

I second the recommendation to get the keyboard working.

Perhaps some module is required on machine A which wasn't required on machine B and therefore machine B removed it from initramfs? This could be fixed by rebuilding initramfs on machine A. Boot live USB, mount the root partition from RAID, mount /boot in that partition, chroot into it (make sure that /proc, /sys, /dev are bind-mounted) and then re-run mkinitcpio. Maybe keep a backup of the old initramfs smile

A silly possibility - you swapped the disk, the other one contains a bootloader too and some stale kernel which just doesn't work anymore.

Offline

#4 2019-01-10 09:11:26

mizuchi
Member
Registered: 2017-03-09
Posts: 14

Re: Can't boot on mdadm array anymore after switching computers

This issue is caused by the broken systemd 240: https://bugs.archlinux.org/task/61324
Downgrade to 239.

Offline

Board footer

Powered by FluxBB