[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GPT + RAID + boot



Joe Pfeiffer <pfeiffer@cs.nmsu.edu> wrote:

> My goal here is to be able to have a bootable, running system in the
> event of a disk failure.  I've been running two disks in a RAID-1
> configuration, with grub installed on both disks, for some time.  My
> /etc/mdadm/mdadm.conf is essentially empty, as mdadm has been
> successfully finding my RAID partitions and assembling my arrays at
> boot time without it.

> I've gotten a new 3TB disk (to replacing an old, failing disk), so I'm
> setting up my first GPT partition table.

> On my old (MBR) disk, parted shows my first partition as

> 1      32.3kB  1500GB  1500GB  primary                  boot, raid

> and I'm able to boot successfully.

> On my new (GPT) disk, I am only able to install grub if I've set the
> bios_grub flag (note that this flag doesn't appear in the man page,
> though it does appear in the documentaiton at
> http://www.gnu.org/software/parted/manual/parted.html#set) on my
> partition.  If I set the boot or legacy_boot flags, I get

> snowball:518$ sudo grub-install /dev/sdb
> /usr/sbin/grub-setup: warn: This GPT partition label has no BIOS Boot Partition; embedding won't be possible!.
> /usr/sbin/grub-setup: error: embedding is not possible, but this is required for cross-disk install.

> Unfortunately, I don't seem to be able to set both the bios_grub and
> the raid flags at the same time.  If I set the bios_grub flag,
> printing the partition table shows no raid flag; if I set the raid
> flag, printing the partition table shows no bios_grub flag.

Attention!

Don't EVER set the bios_grub flag on ANY partition not specially added
to be a "BIOS Boot Partition". If you add this flag to your main data
partition, installing GRUB _WILL_ destroy the data on this partition by
overwriting it.

The "BIOS Boot Partition" is a replacement for the empty sectors 1 to 62
GRUB uses with an MBR-based disk layout to embed its stage 1.5. Those
sectors are used with the GPT and thus you need a specially created
place to put the initial stages of GRUB.

Solution: Create a small (1MiB is enough) separate partition on _each_
of your disks and then continue to install GRUB via "grub-install
/dev/sdX" as you would do with a MBR-based disk.

(To be safe, be sure to create this little partition below 2TiB.)

S°

-- 
Sigmentation fault. Core dumped.


Reply to: