1

Okay. I've been trying to get GRUB to load for a long time (bordering on two years of attempts). I have windows 7 on a Sony VAIO (SVS151190X) and I am attempting to boot Ubuntu 15.04 through GRUB, but I can't get to GRUB...

This post is an overall extension of details of a similar/same problem posted in: https://askubuntu.com/questions/666690/cannot-boot-ubuntu-15-04-using-sony-vaio-with-win-8-1-pre-installed

Things I've Tried:

  1. Use easyBCD (yes, I realized it only works with MBR based systems so I undid everything I did with that
  2. Use bcdedit command in cmd in windows to change the path of {bootmgr} to /EFI/ubuntu/grubx64.efi that didn't work, I ran boot-repair and used it to ONLY reinstall grub and then I went back to windows and change the path of {bootmgr} to /EFI/ubuntu/shimx64.efi and still no success. Then I reset {bootmgr}'s path to the original windows path (/EFI/Microsoft/Boot/bootmgfw.efi).
  3. Then, I tried what was mentioned in other articles: replacing the bootmgfw.efi with the grubx64.efi file, but that did not work. There were many other efi boot files (ones for UEFI boot as stated in grub.cfg, which I used as a reference to figure out what some files did) in /EFI/Microsoft and /EFI/Boot. I replaced every single one with grubx64.efi (renamed of course). For each replacement I renamed the windows file from file.efi to file.win.efi.

By the way, I attempted to directly edit grub.cfg (carefully, using the files I was supposed to edit as reference, in addition to searching the file for all references to bootmgfw.efi. I only edited the list, and specifically the path when I renamed the windows files; nothing else (except right below the list where it has a path for one of the windows things). Now, the reason I had to do this was because sudo grub-update returned: /usr/sbin/grub-probe: error: failed to get canonical path of /cow. This occurred after installing boot-repair in a live session, since before I install it boot-repair is just an unknown command...BUT then I tried it again right now in this live session (after sudo apt-get install grub) and it worked fine and I made sure the windows paths were set correctly, but that is not important until I actually gain access to grub.

Also, my BIOS only contains the options of booting off the internal HDD, external device, disk drive, or network. There are no options of selecting windows or Ubuntu, just HDD.

I've viewed so many help pages, including:

So, has anyone successfully dual booted Ubuntu with Windows, after the things I listed above did not work for you and you found a solution that did?

Help is much appreciated, thanks in advance.

Edit: To clarify, Ubuntu is installed and so is the grub boot loader, I just can't manage to arrive at the grub boot loader when I boot my laptop.

8
  • What do you mean you can't get into? Can you install Ubuntu?
    – LnxSlck
    Oct 13, 2015 at 14:14
  • Ubuntu has been installed for a while, its grub that I can't access, I am sent straight to the Windows boot loader where I can select only Windows 7. I need access to grub, which I have been unable to do. Oct 13, 2015 at 14:18
  • Post link to the Create BootInfo summary report. help.ubuntu.com/community/Boot-Info You may have changed so much that a total uninstall/reinstall of grub using Boot-Repair would help. Usually the copy of grub or shim and rename to /EFI/Microsoft/Boot/bootmgfw.efi works, but then Windows updates overwrite it. The copy of all of /EFI/ubuntu to /EFI/Boot and rename shimx64.efi to bootx64.efi is preferred. The shim or grub in /EFI/Boot still reads the copy of grub.cfg in /EFI/ubuntu so do not modify it. That grub.cfg is just a configfile (chain load) to real grub.cfg in your install.
    – oldfred
    Oct 13, 2015 at 18:20
  • @oldfred Here is the link: paste.ubuntu.com/12775253 I tried copying shimx64.efi around those different directories, but the windows boot manager continued to show up. Oct 13, 2015 at 19:40
  • Try this: sudo efibootmgr -c -g -d /dev/sdX -p Y -w -L "UEFI: Hard Drive Boot" -l "\EFI\Boot\bootx64.efi" sdX is drive, Y is efi partition. yours is sda3. Details on each parameter. linux.die.net/man/8/efibootmgr
    – oldfred
    Oct 13, 2015 at 20:44

3 Answers 3

3

Many Sonys have cruddy firmware (EFIs) that refuse to launch anything but the Windows boot manager -- that is, EFI/Microsoft/Boot/bootmgfw.efi. The only workaround I know of is to replace that file with GRUB (or, if Secure Boot is active, with Shim, with GRUB stored in its normal filename in the EFI/Microsoft/Boot directory). The Boot Repair program can do this automatically, but you must enter the Advanced menu and select the appropriate option, which is called something like "back up and replace boot files" (I don't recall the precise wording).

Another thing you might try is replacing the stock Windows installation with a fresh install from retail (not OEM) disks. See here for information on how to obtain various Windows installation media legally. The point of this procedure is to remove the manufacturer-specific cruft that infests most computers and that can add an extra layer of complexity to the boot process.

The most radical solution is to re-install everything in BIOS/CSM/legacy mode, bypassing EFI-mode booting. The limitations in the Sony apply to EFI mode only, so a BIOS-mode boot should bypass these problems; however, such a conversion would be tricky to carry out without a full re-install, and even with a re-install, there will be problems. See my page on CSM issues for details.

I know you say you've tried much of this and it hasn't worked. Unfortunately, your problem is that you've got a defective computer. If you hadn't had it for so long, I'd suggest you return it to the store for a refund, but I doubt if they'd take it back after two years.

1
  • I've actually had it for 4 years haha, but thanks for the response. I'll be getting a new computer before college probably, so I'll probably just have to wait a few months. Thanks again. Oct 13, 2015 at 18:16
0

I seem to have managed to get to GRUB on a Vaio SVS1511T9ES. It was a long dance, with many weird steps, and obviously may or may not work for you (or any future readers), but posting here just in case it helps someone:

Dual boot Ubuntu 16.04 + Windows 7 UEFI — GRUB menu doesn't appear

0

My situation after replacing the HD:

  1. Using UEFI + Secure Boot
  2. Installed Windows 10
  3. Installed Ubuntu 19.04

System is booting into Windows each time. No sign of Grub. In fact even going into Windows and select 'Advanced Boot Options' and 'Ubuntu' boots into Windows.

Based on previous hard won experience with this machine (Sony Vaio S1513Z9E/B) the only way to get EFI to boot anything but Windows is to replace the file /EFI/Microsoft/Boot/bootmgfw.efi.

Note that I have tried replace the boot record, also BCDEdit, to no avail.

Step 1. Replace bootmgfw.efi

  1. Boot into Windows 10
  2. run 'diskpart'
  3. execute 'list disk'
  4. select the boot disk, e.g. 'sel disk 0'
  5. execute 'list vol'
  6. select the EFI volume, e.g. 'sel vol 2'
  7. Assign a free drive letter, e.g. 'assign letter=E:'

The Windows boot manager now have to be renamed and replaced by the Ubuntu 'shim64x' boot manager. This example apply to UEFI + secure boot only!

  1. cd /d E:\EFI\Microsoft\Boot\
  2. move bootmgfw.efi bootmgfw_org.efi
  3. copy E:\EFI\ubuntu*.efi
  4. copy shimx64.efi bootmgfw.efi

From E:\EFI\ubuntu\ at least shimx64.efi and grubx64.efi will be needed.

Now reboot the computer. It should boot into Grub. Grub have the menu alternatives Ubuntu and Windows 10. By choosing 'Ubuntu' it will boot Ubuntu, as expected.

There is a problem with the entry for Windows. It is still pointing to bootmgfw.efi, that will falsely boot Ubuntu.

In order to create a grub entry that correctly load Windows, proceed as follows.

  1. Find the blkid of the EFI partition, e.g. 'sudo blkid /dev/sda2' (sda2 would be the EFI partition.
  2. You will need the value of the UUID field (not the PARTUUID).
  3. Edit /etc/grub.d/40_custom to add the following entry, menuentry "Windows 10 UEFI" --class windows --class os { insmod ntfs search --no-floppy --set=root --fs-uuid D604-55F0 chainloader (${root})/EFI/Microsoft/Boot/bootmgfw_org.efi }
  4. An alternative entry, same function. menuentry "Windows 10 UEFI" { search --set=root --fs-uuid D604-55F0 --file /EFI/Microsoft/Boot/bootmgfw_org.efi chainloader /EFI/Microsoft/Boot/bootmgfw_org.efi }
  5. Recreate grub config, e.g. 'sudo update-grub'.

After this the grub menu entry 'Ubuntu' will boot Ubuntu. The menu entry 'Windows 10 UEFI' will boot Windows 10.

Note that the 'bootmgfw_org.efi' refered to above is the original renamed Windows boot manager. It hat to be done this way since the Vaio refuse to boot any other file. Attempts to edit/reconfigure BCD to make it boot Ubuntu as intended by UEFI specification have failed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .