I have spent a good several hours over the past several months fighting with my ubuntu machine. It would come up and attempt to mount my raid (A simple RAID1 over two drives), and, upon boot, try and mount the MD device with /dev/sda1 and /dev/sdb, not /dev/sdb1. It turned out that, while a mdadm -E didn’t show it, /dev/sdb had enough of a superblock on it that mdadm tried to use it as part of an array… And that prevented it from reading the partition table, preventing me from even manually mounting it. I used –zero-superblock to clear it, and suddenly my machine is booting fine.