I ran into a situation recently where I was building a new server install on a RAID controller in an old extra PC (Dell Optiplex). The BIOS in this machine wouldn’t allow a boot directly from the RAID card, but it did support booting from a USB flash drive.
My solution was to put a bootloader on the USB drive and have it load the operating system directly from the RAID logical volume.
- Boot into rescue mode from your distro’s installation DVD. I used CentOS 7 but any distro would probably be fine.
- Mount the RAID volume with your previously installed operating system using chroot /mnt/sysimage
- Once booted, insert your USB Flash Drive
- Type fdisk -l (and note which device is your USB)
- Type mkdir /mnt/USB && mount /dev/sdx1 /mnt/USB (replacing x with your actual usb device)
- Type grub-install –force –no-floppy –boot-directory=/mnt/USB/boot /dev/sdx (replacing x with your actual USB device)
- Type cd /mnt/USB/boot/grub2
- Type cp /boot/grub2/grub.cfg .
- You may need to update the grub.cfg on the USB so that the paths points to the correct location of the kernel image and initramdisk in /boot
- You should now be able to boot your operating system installed on the RAID volume off of the USB drive