I've got a problem with mdadm and generating initrd.

I had some problems with one disk, so suddenly mdadm started detecting my raid1 arrays to be on hda, hdb2, hdb3 - even though they should really be on hda+hdb1, hda+hdb2, hda+hdb3. The system boots up from hdb3 without problems if I leave the mdadm to do raid autodetection (but each array uses only 1 drive of course). The problem starts when I want to disable the broken parts of the array to boot correctly and fix it. I created a file like this:

DEVICE /dev/hdb*
ARRAY /dev/md0 devices=/dev/hdb1 ...
ARRAY /dev/md1 devices=/dev/hdb2 ...
ARRAY /dev/md2 devices=/dev/hdb3 ...

but when I run update-initramfs -u, I get a message that the root is on /dev/md2 and it's not defined in my mdadm.conf. What could be wrong there? I can clearly see that the array is defined...


Launch the commands:

mdadm --fail /to/faileddevice
mdadm --zero-superblock /to/faileddevice

and then read the result

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.