I have installed 12.04 next to a Windows 7 install, on a partitioned 3 TB hard disk. If I use F12 during boot to review boot options from the BIOS, Windows 7 and Ubuntu boot normally, but the Ubuntu GRUB only gives me Ubuntu options.

When I try os-prober, I get no results at all; update-grub doesn't do anything for me either. I've tried modifying the GRUB using Grub Customizer, but, uh, don't really understand the finer points of it.

Here's a screenshot of the drive taken with Disk Utility. The first partition is Windows, the second is shared data (MP3s, documents, photos, etc.). The 105 MB FAT is an "EFI system partition" and the 134 MB "Unknown" is labelled a "Microsoft reserved partition"; the 898 GB is Ubuntu, and the final 5 GB is swap.

Disk utility snapshot

  • I don't know if this is a helpful clue or not, but Windows now reverts to the BIOS time when I use the Windows boot option. – JeanSibelius Apr 17 '14 at 10:28
  • Could you please run Boot-Info and edit your question to include a link to its resulting info log? Thanks. – David Foerster Nov 21 '17 at 11:33
  • the problem is that Ubuntu is in EFI mode and Windows 7 is in Legacy/BIOS mode. Grub can not switch boot modes on the fly. You need to reinstall Ubuntu in Legacy mode. – ravery Nov 22 '17 at 3:19

I have had the same problem:
Windows 7 and Linux (Slax with Grub2 and Debian in my case) and os-prober didn't recognizes the Windows partition when I used update-grub; Windows was left out.

I repaired the problem. First I tested adding the entry for Windows 7 manually to /boot/grub/grub.cfg (update-grub overwrites this file whenever it is run, so changes made to it are not permanent).

I rebooted and Windows 7 appeared in the menu and booted ok, aside from this error appearing:

error: no suck device: xxxxxxxxxxx (disk ID)

When this came up, I pressed Enter and Windows booted fine.

I investigated the execution of the os-prober command and others scripts involved in the process of recognizing OS and I test the output of

sudo /etc/grub.d/30_os-prober 2>/dev/null

Windows is not listed. I opened Dolphin file manager to browse the Windows partition and searched for the UUID of the partition and replaced it in /boot/grub/grub.cfg to resolve the error.

I executed

sudo /etc/grub.d/30_os-prober 2>/dev/null

and Windows was then listed ok

I rebooted the PC, went to console, and executed

sudo /etc/grub.d/30_os-prober 2>/dev/null

and then Windows was again not listed.

I opened Dolphin, browsed the Windows partition, executed

sudo /etc/grub.d/30_os-prober 2>/dev/null

again and Windows was listed.

I executed update-grub and the GRUB menu is now ok.

I think os-prober needs the partition (in NTFS case, because the Debian partition always is listed) mounted before it can find it. I haven't found out why os-prober has this behaviour but the solution works.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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