GRUB can see windows 8 but cannot see ubuntu 12.10.

Until recently I was using my laptop with my preinstalled windows xp on it. I bough a new one (lenovo S430) with windows 8 and decided to try ubuntu. So this is all is very new to me.

I followed instruction that I found on the net and partitioned my disk, installed ubuntu 12.10 alongside windows 8 on a machine that works with uefi. I could make the dual boot working only through the BIOS and if was shifting from uefi to legacy. Didn't like that. I want to get to chose my OS from a menu. So I read some more and found out the grub and boot-repair can help. after running that I can see now from GRUB windows 8 and boot it, but I cannot see my ubuntu inatallation.

The options I see on the menu are: 1)Windows UEFI bkpbootmgfw.efi 2)Windows Boot UEFI loader 3)EFI/Lenovo/Boot/bootmgf.efi 4)Windows 8 (loader) (on /dev/sda4) 5)System setup

Here is the output of boot-repair: http://paste.ubuntu.com/1583116/

I got to a point where I think that reading around won't help much. I need some good tips how to fix this. I hope this link shows enough information for someone out there to see where my problem is.

One more thing, I am not sure I implemented this right: at the end of the file (see link) it is advised "Please do not forget to make your BIOS boot on sda2/EFI/ubuntu/grubx64.efi file!". I set in BIOS as hd0 the first device to boot from think that this is where this file is located.


  • +1 Upvoted for describing clearly the issue and providing very relevant info on the link. – That Brazilian Guy Jan 30 '13 at 17:47

I managed to solve my problem by running boot repair for a couple of times. Why it took few times to get it right, I have no clue. I followed these instructions. https://help.ubuntu.com/community/UEFI I am very happy with my ubuntu and windows 8 living next to each other.


Your grub.cfg file does show an Ubuntu entry. It's the first one, labeled "Ubuntu." There are also several different Windows entries. My first suggestion is therefore to reboot and look over the menu again; perhaps you've overlooked the Ubuntu entry at the top of the list because of the large number of distinct Windows entries.

If Ubuntu really isn't there, then I'm not sure how to fix GRUB -- its configuration files have just become so big, complex, and delicate that I've given up trying to fix their problems. My suggestion is therefore to try something else. Several options are available, the best for your situation likely being Fedora's patched GRUB Legacy and my rEFInd. I'll describe how to set up rEFInd:

  1. Boot to Windows, or boot another computer entirely.
  2. Download the rEFInd bootable CD or USB flash drive image (links are on the rEFInd download page) and prepare an external boot medium.
  3. Boot using the rEFInd medium you've just prepared. You'll need to use your firmware's built-in boot manager, which is usually accessed via a function key, but which one varies greatly from one computer to another.
  4. rEFInd should show an option for Windows and at least two for Linux. One of these two Linux options will boot GRUB. Another will show a name of vmlinuz-{version}, where {version} is a version number. Highlight the vmlinuz-{version} option.
  5. Press Insert or F2 twice. You'll see a text-mode line editor open showing kernel options.
  6. Add ro root=/dev/sda7 to the boot options and press Enter. Linux should boot.
  7. In a Terminal, type cd /boot/efi/EFI/Microsoft/Boot
  8. Type sudo mv bootmgfw.efi.bkp bootmgfw.efi. This undoes the Boot Repair tool's renaming of Microsoft's boot loader back to its standard name.
  9. Download the rEFInd Debian package.
  10. Install the rEFInd Debian package. Double-clicking it may work, or you can type sudo dpkg -i refind_0.6.6-1_amd64.deb.

At this point, when you reboot rEFInd should appear, and you should be able to boot Windows by selecting its option or boot Ubuntu by selecting a vmlinuz-{version} option. (You won't need to add kernel options any more; by installing the Debian package you also configured rEFInd to no longer require this.) Neither boot method relies on GRUB, so whatever its configuration problem is becomes irrelevant.

One caveat: Some EFI implementations are broken and won't boot anything but Windows' boot loader. If you've got such a system, then when you reboot, Windows will start. You can work around this by using your external rEFInd boot medium to boot into Linux. You can then open a Terminal and type sudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/Microsoft/Boot. This renames the Windows boot loader and moves rEFInd into position to take its place (which is similar to what Boot Repair did with GRUB). With any luck you won't need to do this, though.

  • Rod, thank you for you answer. Before I try out your suggestion I'd like to try clearing this out first. I have added in my original post the entries I see on the menu. Ubuntu is not listed. – user127318 Jan 31 '13 at 10:19

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.