Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have a Surface Pro. I have moved my recovery partition off of the Surface Pro onto a USB flash drive. I have also installed GRUB2 on the flash drive with Ubuntu Live/Persistent (I backed up the Surface Pro recovery stuff first!!). I am trying to get a GRUB2 config that will let me boot from the harddrive, boot into the Windows 8 Recovery for the Surface Pro, and all the Ubuntu stuff.

I have the all the Linux grub stuff working, I am just having trouble getting the Windows 8 grub stuff working. I have tried using chainloader, but I am not exactly sure how. It seems EFI changed everything I thought I knew about Grub. Also, I do not know how to get proper names of the USB and Surface SSD for grub.

Here is a screencap of the file structure on the USB:

Here

Here is a screencap of the output of ls in the grub command line.

Here

Here is my GRUB2 config so far:

if loadfont /boot/grub/font.pf2 ; then
    set gfxmode=auto
    insmod efi_gop
    insmod efi_uga
insmod gfxterm
    terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Boot from Harddrive" { // this one does not work
  set root=(hd0,1)
  chainloader (hd0,1)
}
menuentry "Ubuntu 13.04 Persistent" {
  set gfxpayload=keep
  linux /casper/vmlinuz.efi  persistent file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
  initrd    /casper/initrd.lz
}
menuentry "Ubuntu 13.04 Live" {
  set gfxpayload=keep
  linux /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
  initrd    /casper/initrd.lz
}
menuentry "Install Ubuntu 13.04" {
  set gfxpayload=keep
  linux /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash --
  initrd    /casper/initrd.lz
}
menuentry "File Integrity Check" {
  set gfxpayload=keep
  linux /casper/vmlinuz.efi  boot=casper integrity-check quiet splash --
  initrd    /casper/initrd.lz
}
menuentry "Memory Test" {
  set gfxpayload=keep
  linux /casper/mt86plus
}

Now if you ask why the hell am I doing this, mostly it is for trying to learn more about GRUB and understanding it, but also, if I get it working, I will have a USB that i can use for Ubuntu whenever I want and it still doubles as my recovery for my Surface. If all goes well, I am thinking about even installing Ubuntu on my Surface for a dual boot.

Here is a screencap of my storage config of my Surface:

share|improve this question
    
Here is a screencap of my storage config of my Surface. –  angellusmortis Sep 18 '13 at 16:31
    
Is flash drive partitioned with gpt and has efi partition at beginning of drive to boot in UEFI mode. It looks like you have hd0,msdos1 as a MBR(msdos) drive? –  oldfred Sep 18 '13 at 16:53
    
No. The flashdrive is a single FAT32 partition. 64GB. FAT32 is all the Surface Pro can boot from and Windows does not like multi-partition removable media. EDIT: I assume hd0 is my flashdrive and hd1 is my SSD in the Surface. –  angellusmortis Sep 18 '13 at 23:14
add comment

1 Answer 1

IMHO, GRUB is about as elegant as an elephant on roller skates. It's finicky and overly-complex, and as a result even distribution maintainers have trouble getting it working reliably. You might want to check out my rEFInd instead. rEFInd is easier to configure than GRUB, and it's more reliable when it comes to booting Windows. It's also got prettier eye candy, if that's important to you. The main drawback to rEFInd is that it's EFI/UEFI-only; it doesn't work on BIOS-based computers (except via tools like DUET or Clover) or on computers with more exotic firmware types.

share|improve this answer
    
Thanks! I will look into it. I still want to figure out this problem though. –  angellusmortis Sep 18 '13 at 23:12
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.