4

I've got a Sony Vaio laptop. Until yesterday I had Windows 7 and Ubuntu 12.04 (Precise Pangolin) installed. Today I upgraded to Windows 8, which killed my OS selection screen. So I booted to Ubuntu 12.10 from a USB stick and ran Boot Repair. This recovered the GRUB screen and let me boot into my Ubuntu 12.04 installation, but now I can' boot Windows 8.

When I select the option that booted Windows 7 before, it looks like it wants to start Windows 7 (sic) again (black screen with the text "Windows is loading" or something), but then reboots the machine after a few seconds.

I'm sure Boot Repair can fix this, but I know far too little about the whole booting thing to know the right settings for it.

Here's my Boot Repair report thingy: http://paste.ubuntu.com/1308117/

Update 1:

I managed to get back into Windows again. I changed the line

chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi.bkp

in /etc/grub.d/25_custom (if you're reading this looking for help for the same problem: your file might be called something different) to

chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi

and copied the file bootmgfw.efi from [Windows partition]/Windows/Boot/EFI to /boot/efi/EFI/Microsoft/Boot. (The file already existed, so I renamed it to bootmgfw.efi.old to back it up.) Lastly, I ran a sudo update-grub.

When I restarted the computer, Windows 8 was booting up again, but without a GRUB screen. So guess what.. I could not boot into Ubuntu now.

In Windows, I installed EasyBCD and added an Ubuntu boot option. When I tried to select that after another reboot, it failed because it couldn't find some file. I tried this with the EasyBCD option to find my Linux installation automatically, and I also tried manually selecting the partition. Both had the same result.

So I once again tried booting from my Ubuntu USB stick and running Boot Repair. This time I got Windows' OS selection screen (the one I set up in EasyBCD). When I selected Windows 8 there, it rebooted the computer.

How can I this fix this problem?

Update 2:

I can "switch" between Ubuntu and Windows 8 now. But not through a boot menu. (All the answers I've got so far didn't solve my specific problem.)

When I'm in Ubuntu and want to boot Windows 8, I do what I described in the first update (copy bootmgfw.efi from the Windows directory and change one line in /etc/gib.d/25_custom). Then Windows 8 starts without any boot menus.

When I'm in Windows 8 and want to boot Ubuntu, I start Ubuntu 12.10 from a USB stick and just run Boot-Repair. Then GRUB 1.99 starts and when I select Ubuntu, it works. (The Windows options don't work.)

So that's the current state - I can switch OSs, but it's a real pain.

0

4 Answers 4

4

You just need to update the grub. Open a terminal Window with CtrlAltt and type:

sudo update-grub
2
  • Thanks, but that didn't fix it.. I'm starting to get the feeling that this is more of a Windows problem.. I get to the "Windows is loading files" screen but then the system restarts and goes back to the GRUB screen. Oct 26, 2012 at 21:10
  • I've only played with Windows 8 beta briefly, and that was to investigate a problem with wubi install and booting. If something done during boot repair (never used it) messed up the W8 loader you could try installing W8 again, and then use this method to fix grub: askubuntu.com/questions/206846/…
    – fabricator4
    Oct 26, 2012 at 21:31
2

I had the exact same problem as you, and I encountered the solution on another forum (actually, I think it may have been you who posted that solution). I fixed it in a slightly different way, though.

I followed the instructions that you used, copying bootmgw.efi from the Windows partition to the Ubuntu partition, and I'm pretty sure I also did a sudo update-grub. However, instead of manually changing the file /etc/grub.d/25_custom as you did in the first step, I went into Grub Customizer (a tool in Ubuntu that you may or may not already have), right-clicked the appropriate Windows boot option (mine says "Windows UEFI loader," yours will be the option that booted Windows 7 before this whole debacle, as you say), then I went to the "source" tab, and I made the changes there. (I just removed the .bkp, just like you did when you did it manually.) Then I saved all the changes, and that fixed the issue.

In case you're curious, I used Grub Customizer instead of manually editing the file for two reasons: 1. I couldn't get access to the file and was too lazy to try and get at it using the hell that is Linux terminal; and 2. I was afraid that simply changing the file might not actually effect the changes in the boot file (although this was pure speculation; I, too, have no idea how booting works). I figured Grub Customizer would actually take care of making the changes actually evident in the boot file.

The only thing is, the little Windows 8 "loading circles" (I don't know what else to call them) appear on the purple background that Grub was using; it looks a bit ugly. I imagine this can be fixed via Grub Customizer as well, though.

Update

If you are booting straight into Windows, then you should make sure that GRUB is the first boot option in your BIOS. I can't tell you how to do this unless I know what BIOS utility you are working with, but I can give you some general steps.

1. Turn on your computer and access your BIOS menu. Typically this is done by mashing F8 after the computer is powered on, but it varies from computer to computer (for me it is F2). A quick Google search regarding your particular machine will reveal what key you should press.

2. Find the section that allows you to change the boot order, and move Ubuntu/Linux/Grub (I'm not sure of the exact label, but it should be obvious) to the top. If you have multiple of these boot options, just choose either one.

3. Save and restart your PC, and it should boot into GRUB from now on.

2
  • Thank you for your answer. That's indeed a little easier. Although that doesn't show me the GRUB screen either. When I do that, it boots straight into Windows. (See Update 2 in my question) Nov 5, 2012 at 11:35
  • I have a potential solution; see my "update." Make sure you follow the entire solution straight through; do not run boot-repair in between the initial steps and the steps outlined in the "update." In other words, copy the boot files, update grub, and edit 25_custom before implementing the steps outlined in the update, otherwise you will have the same problem with Windows 7 files trying to load.
    – Brandon
    Nov 8, 2012 at 21:54
1

Just follow the steps below:

  1. Insert your Windows 7 or Windows 8 installation or Repair disc and boot it.
  2. After booting on the Windows screen select "Repair your Computer" and in the dialog box that appears next just check the second option.
  3. Then select Command Prompt from a list of Recovery options available.
  4. In the Command Prompt type BootRec.exe /fixmbr -Press Enter and then BootRec.exe /fixboot -Enter
  5. After giving those two commands, just restart your Machine.

You'll now be on the Windows BootLoader and select an OS to boot. Don't worry if you do not have an option to boot Linux 12.04. You can do it by using a special software called EasyBCD.

1

When you install Windows, Windows assumes it's the only OS on the machine—or at least it doesn't account for Linux. So, it replaces GRUB with its own bootloader.

What you have to do is to replace the Windows bootloader with GRUB. Simply chroot into your install and run update-grub.

Here's how: How can I repair grub? (How to get Ubuntu back after installing Windows?)

You must log in to answer this question.

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