Ubuntu – GRUB install fails on software RAID

grub2partitioningraidsystem-installation

I've been trying to install Ubuntu 14.04 on two 30GB SSDs (OCZSSD2-1AGT30G) with an ASUS motherboard (ASUS DSBF-D). I tried installing on both of the drives separately and it seemed to work fine. The problem happens when I try to RAID the two drives together and install. The main installation completes, but I'm never able to install GRUB.

error:

Unable to install GRUB in /dev/sdc

Executing 'grub-install /dev/sdc' failed

This is a fatal error.

I've tried installing GRUB on different drives as well as both drives in the array at once, but haven't had any luck.

partitions:

I can't post an image here, so here's one on imgur.

fdisk output:

fdisk /dev/sda

Disk identifier: 0x00078d2a
   Device Boot    Start         End      Blocks   Id  System
/dev/sda1          2048    54149119    27073536   fd  Linux raid autodetect
/dev/sda2      54151166    62531583     4190209    5  Extended
/dev/sda5      54151168    62531583     4190208   fd  Linux raid autodetect

fdisk /dev/sdc

Disk identifier: 0x0007faba
   Device Boot    Start         End      Blocks   Id  System
/dev/sdc1          2048    54149119    27073536   fd  Linux raid autodetect
/dev/sdc2      54151166    62531583     4190209    5  Extended
/dev/sdc5      54151168    62531583     4190208   fd  Linux raid autodetect

The RAID arrays all say: /dev/mdx doesn't contain a valid partition table

I have had Ubuntu installed with RAID on these drives before.

Best Answer

I'm battling with the same issue for a different linux OS. Just some brief comments: note that my 'experience' (ha!) is with RAID 0; if you are mirroring from first to second disk (RAID 1) then some of what I suggest below may not apply - others much more experienced than me may help better.

  1. you haven't said what RAID (0 or 1) you set up.
  2. The RAID'd disks should appear as one device - if you do anything at all to individual disks I suspect you may kill the raid.
  3. linux will use either mdadm or dmraid to assemble the raid array, and present the RAID device in /dev/mapper/(something). dmraid is older and reportedly barely /not maintained, but some folk need it if dual-booting with MS-Win on the same RAID. mdadm is the supposedly preferred modern alternative (but won't work on my hardware). From my reading of Ubuntu discussions, I think U uses mdadm behind the scenes for your install.
  4. If the raid is recognized/assembled, then in /dev/mapper you should see a file called 'control' and then a file with a name like md (the whole raid device), plus md1, md2, md3 representing any partitions in the whole raid device. The names might be much longer but should resemble each other with different numeric endings. If you've only got the 'control' device and one other device, then I guess you've not created any partitions on the RAID yet.
  5. You report it fails with "The RAID arrays all say: /dev/mdx doesn't contain a valid partition table". I suspect that means just what it says; either the raid array has not been assembled (by mdadm) or more likely you haven't created a partition within the RAID on which to do the install. (or you're trying to look on the individual drives rather than looking at the RAID in /dev/mapper)
  6. Installations are done to the raid device representing the partition you want to install on, in /dev/mapper/9something). Don't go near /dev/sda or /dev/sdb; they are not the raid device and basically don't exist if you are in RAID 0.

Hope that much perspective helps, and is not out-of-keeping for how Ubuntu does it. Tonyb

Related Question