diff options
-rw-r--r-- | resources/grub/config/menuentries/common.cfg | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/resources/grub/config/menuentries/common.cfg b/resources/grub/config/menuentries/common.cfg index 0f51bae5..8e14c3b7 100644 --- a/resources/grub/config/menuentries/common.cfg +++ b/resources/grub/config/menuentries/common.cfg @@ -31,14 +31,26 @@ menuentry 'Load Operating System' { done # Last resort, otherwise go to GRUB shell - set root='ahci0,1' - for p in "/" "/boot/"; do - if [ -f "${p}vmlinuz" ] ; then - linux ${p}vmlinuz root=/dev/sda1 rw - if [ -f "${p}initrd.img" ] ; then - initrd ${p}initrd.img + for devname in "md/0" "ahci0"; do + case ${devname} in + ahci0) + rootdev="/dev/sda1" + set root='ahci0,1' + ;; + *) + rootdev="/dev/md0" + set root='md/0' + ;; + esac + + for p in "/" "/boot/"; do + if [ -f "${p}vmlinuz" ] ; then + linux ${p}vmlinuz root=${rootdev} rw + if [ -f "${p}initrd.img" ] ; then + initrd ${p}initrd.img + fi fi - fi + done done } menuentry 'Parse ISOLINUX menu (SATA)' { |