Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I bought a new disk (/dev/sdb) and decided to install Xubuntu 13.04 along with Windows 7 installed on /dev/sda. I used custom partitioning during installation, created 100GB partition on /dev/sdb and choosed to install bootloader to /dev/sda.

My disks are:

Disk /dev/sda: 512GB
Partition Table: msdos
Number  Start   End    Size   Type     File system  Flags
1      1049kB  106MB  105MB  primary  ntfs         boot
2      106MB   503GB  503GB  primary  ntfs

Disk /dev/sdb: 3001GB
Partition Table: gpt
Number  Start   End     Size    File system     Name                  Flags
1      1049kB  99.6MB  98.6MB  fat32                                 boot
4      99.6MB  100GB   99.9GB  ext4
2      100GB   108GB   8000MB  linux-swap(v1)
3      108GB   3001GB  2893GB  ntfs            Basic data partition

Disk /dev/sdc: 1000GB
Partition Table: msdos
Number  Start   End     Size    Type     File system  Flags
1      1049kB  1000GB  1000GB  primary  ntfs

Now I have multiple boot options in BIOS: 3 disks, ubuntu and windows. I can boot windows if I choose to boot from 512GB disk, but if I choose Ubuntu/Windows options, grub2 loads with Ubuntu and Windows options, but only Ubuntu is bootable. Windows option says about

invalid EFI file path.

As far as I understand, it is an error of chainloader command. Here is the full Windows 7 entry:

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (на /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-3C0009460009089A' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  3C0009460009089A
      search --no-floppy --fs-uuid --set=root 3C0009460009089A
    chainloader +1
### END /etc/grub.d/30_os-prober ###

Could you tell me what have to be done to make Windows 7 bootable from grub2? I know that search command returns hd0,msdos1 and it seems to be valid, because I can boot Windows 7 if /dev/sda is selected as primary boot device in BIOS.


ls (hd0,msdos1) returns some $... entries and /Boot directory with memtest.exe and other files, but I can't find there any *.efi image.

ls (hd1,gpt1)/efi returns ubuntu, Microsoft, Boot, refind, tools, but passing either of ubuntu/*.efi or Microsoft/*.efi to chainloader results in booting to grub2 menu.

rEFInd also can boot only ubuntu.

share|improve this question
Have you tried Boot-Repair once. It fixes all types of grub issues and create a boot entry for all installed OS in Grub. – Saurav Kumar Sep 7 '13 at 9:14
Yes, I've already tried it. It made /dev/sdb bootable, but directly into windows. – sknaumov Sep 7 '13 at 11:02
Ok, got clear that was the doubt.. Wish you get your answer soon. I mark it as favorite.. – Saurav Kumar Sep 7 '13 at 11:04

Your Answer


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

Browse other questions tagged or ask your own question.