Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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...

share|improve this question

Launch the commands:

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

and then read the result

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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