5

Following a botched Linux install, my Windows 7 install can't find my MBR normally. It's in there -- somewhere -- and I CAN access it if I use F12 during boot to access the mobo boot options:

enter image description here

Note that it's stacking "ubuntu" first -- I have to move down to Windows Boot Manager, and then Windows boots normally. If I select "ubuntu" I get the "BOOTMGR Not Found" message, so obviously the BIOS is booting that "ubuntu" option first, and not finding the BOOTMGR there.

Note also that Windows comes first in the boot order in my BIOS:

enter image description here

So there IS a working MBR in my system. Somewhere. My BIOS, or something, just doesn't know how to find it.

I have used repair options (F8 during Windows boot) and both Startup Repair and bootrec /fixmbr and bootrec /fixboot. All report executing correctly (bootrecs) or "no problems found" (Startup Repair), but I still get BOOTMGR Not Found upon reboot.

Hard Drive BBS priorities gives me this. Changing the order does nothing.

enter image description here

In Windows Disk Manager, I can see the 100MB partition Windows creates, but there doesn't seem to be a way to mark it as active -- the option is greyed out as a right-click option, and also as an Action/All Tasks option.

enter image description here

Following an EFI deletion of the Ubuntu entry, it no longer appears as a boot device, but there's still no BOOTMGR. no_ubuntu_boot

My most recent paste from Linux boot-repair: http://paste.ubuntu.com/7951926/

And an Easy UEFI screenshot:

enter image description here

  • What happens if you boot the computer without entering the boot menu at all? What is shown under "Hard drive BBS priorities"? – grawity Jul 31 '14 at 9:55
  • 1
    Hold on a second. The MBR doesn't go anywhere; it always sits in the first logical sector of the hard disk. (It basically has to be in some fixed location, otherwise the BIOS and OS wouldn't know where to look for it.) That the boot screen shows "ubuntu" and "Windows Boot Manager" smells more like your problem is related to EFI boot, not the MBR. If the MBR itself was botched, the partitions on that disk would be gone. Try looking for solutions to altering the EFI boot choices, rather than fixating on the MBR (which is likely unrelated and possibly nonexistent in favor of a GPT). – a CVn Jul 31 '14 at 10:00
  • If it is an MBR based disk and not a GUID disk: make the partition you want to boot the active partition in the disk management tool you use. For Windows 7 usually the 100MB system reserved partition is the one marked active. – Brian Jul 31 '14 at 10:01
  • 1
    @mattshepherd: It cannot be set as "active" because that makes no sense on a GPT/UEFI system; it is permanently "active" because of its type. Use mountvol B: /s to assign a temporary drive letter. – grawity Aug 1 '14 at 4:44
  • 1
    @Brian: You're giving instructions for a MBR/BIOS system. They do not make any sense on OP's system, however. UEFI does not have "active" partitions. – grawity Aug 1 '14 at 4:45
1
+50

Try using EasyUEFI to move the entry of "Windows Boot Manager" to the top of the "Boot order" list.

If this doesn't work, I suggest doing a Repair Install to fix your current installation while preserving user accounts, data, programs, and system drivers.

For detailed instructions see : How to Do a Repair Install to Fix Windows 7.

To create a Windows 7 SP1 boot DVD from your current Windows 7 DVD :
How to Slipstream Windows 7 SP1 and Updates to Create a Bootable USB, Installation DVD, or ISO File.

  • Strangely enough, when all else had failed, moving the WBM to the top of the list in EasyUEFI saved the day. I still can't figure out what's going on in there, but at least I don't have to boot up every time with a second keyboard in my PS2 port hammering the F12 key. Thanks, harrymc! – JeanSibelius Aug 11 '14 at 15:28
  • You are welcome. Apparently, the UEFI boot is not overly clever. – harrymc Aug 11 '14 at 15:50
6

No, your MBR is not working, but that's fine, because your Windows never used it in the first place.

Your computer has the new UEFI firmware instead of BIOS, and it does not look for boot code in the MBR anymore – instead, it looks for the bootloader file in an "EFI system partition", and the firmware keeps a list of installed operating systems with their respective bootloader filenames. When you choose "Windows Boot Manager" from that list, you're starting \EFI\Microsoft\Boot\bootmgfw.efi from the EFI partition. Similarly, the "ubuntu" entry probably starts \EFI\Ubuntu\grubx64.efi or something similar.

(On Windows, you can access this partition by running mountvol B: /s in the command line.)

For compatibility with older operating systems, however, most UEFI systems are capable of booting in the BIOS way – your boot menu has these special entries for each physical disk, named P1: ..., P2: ..., P3: ... and so on. If you choose the P1 entry, you would start the bootloader stored in the MBR of disk #1.

Boot the Ubuntu installer, and use the efibootmgr tool to list (and delete) broken EFI boot entries:

$ sudo efibootmgr
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,0005,0001,0006,0007
Boot0000* Linux Boot Manager
Boot0001* EFI Shell
Boot0005* Windows Boot Manager
Boot0006* Hard Drive
Boot0007* CD/DVD Drive

(Optionally add -v to see the actual paths.) To delete option 0005:

$ sudo efibootmgr -b 0005 -B
  • Thanks for the reply, but it doesn't seem to work, at least not from the Try Ubuntu disc: ubuntu@ubuntu:~$ sudo efibootmgr Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables. Try 'modprobe efivars' as root. ubuntu@ubuntu:~$ sudo modprobe efivars ubuntu@ubuntu:~$ sudo efibootmgr Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables. Try 'modprobe efivars' as root. – JeanSibelius Jul 31 '14 at 22:06
  • @mattshepherd: Maybe try with a Fedora or Arch Linux CD then. And/or, when booting the CD, enter the Gigabyte boot menu and see if it shows an UEFI entry for the install CD – use that instead of the BIOS-compat "P3:" one. – grawity Aug 1 '14 at 4:47
  • Hmm. Worked like a charm, the ubuntu entry was deleted (the UEFI entries were in the same order as the BIOS order, not the F12 order), but... BOOTMGR Not Found on reboot. The ubuntu entry now doesn't appear in the F12 boot menu, but the system still can't find BOOTMGR. Added a photo of the new boot menu to the intial post. – JeanSibelius Aug 1 '14 at 9:45
  • (I was using the find-the-UEFI-version-of-the-boot-CD method, if that helps) – JeanSibelius Aug 1 '14 at 9:54
1

You're laboring under BIOS assumptions that no longer apply to your EFI-based computer. As grawity says, boot code on EFI-based computers doesn't reside in the MBR. This means that Windows commands like bootrec /fixmbr no longer work. There are EFI equivalents, but I'm unfamiliar with most of them. One that should work is:

bcdedit /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi

If deleting the Ubuntu entry using efibootmgr didn't work, though, I have my doubts about bcdedit. Did you by any chance run Ubuntu's Boot Repair tool after installation? If so, it may have juggled boot programs around in an effort to work around bugs in some EFIs. The result is an extra copy of GRUB where the Windows boot loader should be and the Windows boot loader moved to a "backup" location. In this case, you should run Boot Repair again, select its Advanced menu, and locate the option to restore backed-up files. (I don't recall the exact wording of this option.) When you run this option, the Windows boot loader should be restored to its original location.

Another thing you could try is the USB flash drive or CD-R version of my rEFInd boot manager. This may be able to locate the Windows boot loader in some strange location and get you booted. You should then be able to juggle the files manually, use Windows tools to re-install the Windows boot loader, or install rEFInd to your hard disk.

The worst-case scenario is that your failed Ubuntu install has accidentally trashed the Windows boot manager, or maybe even the entire Windows installation. You can check this out by looking for the Windows boot loader files (such as bootmgfw.efi) on the EFI System Partition, which is normally /dev/sda1 or /dev/sda2 under Linux. Use a partitioning tool to examine your partition table and look for Windows partitions. If there are none, Windows is gone and you'll have to re-install everything from scratch. If you've got valuable user data and you suspect this is the case, stop using the disk immediately and use PhotoRec or something similar to try to recover your files. Be prepared for some losses in this worst-case scenario, though.

  • I DID run the Ubuntu boot repair after install. I tried the bcdedit command, but got "The boot configuration data store could not be opened. Access is denied." I can guarantee that the Windows installation is not trashed, because I am in Windows right now, using F12 at boot to access some sort of Windows bootloader that still exists somewhere on my system. Windows isn't gone. Its bootloader (or EFI loader, or what have you) is alive on my system, but I can only access it through the BIOS. – JeanSibelius Aug 3 '14 at 21:56
  • Then try running Boot Repair again, as described in the paragraph after the full bcdedit command presented in my answer. – Rod Smith Aug 3 '14 at 23:26
  • There is no "restore backup" option in Boot Repair. For extra fun, under "Advanced/MBR options," the "Restore the MBR of" dropdown doesn't even let me select any of the partitions on the system drive (sda). It just gives me access to a secondary data drive and an external HD. I'll give REFInd a shot. – JeanSibelius Aug 4 '14 at 13:24
  • rEFInd works in terms of it finds the Windows EFI and boots it just like F12 does; I'm not sure if its terminal contains commands I can use to repair, or if it's just a reporting tool. – JeanSibelius Aug 4 '14 at 13:54
0

pop in your windows install disk and boot from that disk. Then select repair automatically, it will repair the EFI system partition automatically.

I found that out after fighting with my arch linux/windows 7 dual boot in EFI for about 4 hours trying to get windows to boot back up.

It should repair your EFI system partition configuration with ease.

  • The Windows disc is not recognized as a valid repair disk as I have upgraded Windows to SP1 and the install disk is not SP1. – JeanSibelius Aug 5 '14 at 0:42

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.