I have a system with Windows 7 and Windows XP, and today I have installed the Windows 8 Developer Preview into a spare partition (that I leave for a few months without any important data there). When booting from a bootable device and doing the installation, I format it so that it's a clean and fresh partition. The installing process finished, and now I have a boot screen with Windows 8 Developer Preview and Windows 7.
My Windows XP boot entry simply disappeared. So, I have used EasyBCD to modify the boot loader and reactivated the Windows XP boot entry from the system, and it displays Windows XP there. After I did that, I restarted my PC.
The only thing left is Windows 7 and my dear old Windows XP; as now Windows 8 Developer Preview disappeared from the boot menu. EasyBCD can't detect it anymore - a few times I logged into Windows 7 and tried to run it afterward. Please note that all versions are installed on separate partitions.
To display Windows XP entry in Windows 8 Developer Preview boot menu you have just to enable 'DisplayBootMenu' element in bootmgr.A complete Windows BCD Editor can be downlaoded here - Visual BCD Editor.
After installing and starting the tool it displays the bootmgr elements by default. Look if 'DisplayBootMenu' element is present. If not click on 'New' button and create it selecting 'Boot Manager' and 'DisplayBootMenu' in the comboboxes. Confirm.Set the value of 'DisplayBootMenu' to true.
I currently have the Windows 8 installer on a flash drive and tried using the Automatic Repair option to repair the bootloader but it didn't do anything. The Startup Repair option is also missing in the Windows 8 installer.
Firstly, boot from a UEFI Windows 8 recovery disk (CD/DVD/USB) - I found that the automated recovery process didn't find the correct Windows partition, nor when I managed to add it to BCD settings would it make it reliably bootable e.g. using BCDEDIT I got it to find and launch the Windows partition but it refused to cold boot or would not "keep" the settings after a 2nd reboot or power off.
I had a 1.5 TB hard drive with Windows 7 installed on it. I then installed Windows 8 onto a 150 GB SSD I bought. The 1.5 TB hard drive failed and I could hear it making a noise, my computer would no longer start, saying "please insert system disk". I thought that the bootloader was missing as it must have been on the 1.5 TB disk. It turns out it was but the problem then was the guides I followed would not rebuild the bootloader or whatever it is called as i did not have an EFI partition on the smaller 150 GB disk (this may have existed on the failed disk), it only had 1 partition which filled the entire disk.
I did not want to lose all my data so I entered the Command Prompt by booting from my Windows 8 install USB drive (noting that you cannot boot the UEFI version of this if that appears, select to boot from the just the USB drive without the UEFI appearing before it).
These commands will create the EFI partition. Double-check everything by typing list vol. You should see a 200 MB partition. You now need to assign it a letter. Do this by typing assign,then list vol again to see what letter has been assigned.
Here's what you've probably done by now. IF ANY OF THIS DOES NOT MATCH, CAREFULLY EVALUATE WHETHER THIS IS IN FACT YOUR PROBLEM, and READ this for ideas but don't FOLLOW it without thinking first.
A: Well, that really shouldn't happen. It likely means you're either in the wrong directory, support EFI but weren't actually using it, or somehow rebuilt your entire EFI partition without all of the required Windows materials (possible, especially when using multiple versions of Windows). In that case, you'll need to copy the EFI materials from the DVD, then either modify or rebuild the Boot Configuration Database using BCDedit.
Anyway, hope this helps solve some problems for people, or at least gets them thinking. As a very important final point, please note that you can mount and inspect your EFI partition under Windows normally using the DiskPart: Assign technique above. You should do this at least once, to get a complete backup of your EFI partition, BEFORE you run into this kind of trouble. I recommend one backup into a subdirectory on your C: drive, and one on a USB flash drive.
Sorry that's so long-winded. I need to turn this into a proper article at some point, but there are so many people who are SO frustrated that I felt the need to document my experience as completely and rapidly as I could.
Windows 8 is still not out in final form, so problems are to be expected.You are in an area new to most of us, where the commands we used to use may not work anymore.To the commands listed by @soandos, I add this one that completely rebuilds the BCD :
If nothing works, the article Repairing Windows 7 when they fail to boot has some advice on using bcdedit to correct boot errors. It would in any case be interestingto see what is the output of bcdedit on your computer.
Today, after a usual restart, I got the message MBR not found or similar to that, I dont remember any more. I tried bootrec commands, Windows automatic repair (it couldnt find any installed Windows), a million other ways and nothing.
The problem was when I executed bootrec /rebuildbcd it went normaly, and then when I had to enter yes if I want to save the configuration, I got the message, the file is not accessible because it is used by a another process.
This all started when I went to install Ubuntu on a partition on my external HDD. In the Ubuntu LiveUSB's installer, the configuration was to create an ext4 partition in empty space on the external HDD (/dev/sdc3) and write the bootloader to /dev/sdc. The install completed nicely and I was able to boot fine into the new Ubuntu partition- with one catch.
Upon restarting, I had been greeted with a complaint from Secure Boot (Secure Boot Violation - Invalid signature), which was odd, given that I had not told the installer to touch the original bootloader (or anything, for that matter) on /dev/sda. I got prompted with GRUB after dismissing the complaint, also strange seeing as I had not gotten to the point where I could choose the boot order. I rebooted without the external HDD to verify that it was on the main drive and not the external one, at which point GRUB gave me a terminal rather than a menu. Typing 'exit' brought me back into Windows 8.
Please forget everything you ever knew about boot loader installation, at least with respect to the computer under discussion. You're trying to apply BIOS assumptions to an EFI (non-BIOS) computer, and they don't apply. (Yes, I know that most people, and even manufacturers, refer to EFIs as BIOSes, but that just causes confusion. See Adam Williamson's blog post on this subject for more details.) The Windows bootrec /fixmbr command is intended for dealing with BIOS-mode booting, and so is inapplicable to you. I don't know about bootrec /fixboot; it might or might not be useful on an EFI-based computer.
Under EFI, all boot loaders and related programs reside in the EFI System Partition (ESP), which is a FAT partition whose purpose is to hold boot loaders and related files. Ordinarily, a computer will have just one ESP, although it is legal for a computer to have multiple ESPs. A two-disk computer might have one, two, three, or more ESPs. In the case of a multi-ESP computer, it's unclear which one the Ubuntu installer will use. In theory, the Ubuntu installer should use the one identified as the "EFI boot partition" (their own non-standard name for the ESP) in the installer; however, I have my doubts about whether Ubuntu does this consistently. (I haven't had the chance to look at this in depth.) In any event, the Ubuntu installer retains a BIOS-mode prompt for where to install the boot loader when installing in EFI mode, but it's completely useless! I think there's a bug report about that on Launchpad, but a quick search didn't turn it up.
In theory, then, an EFI-based computer can have dozens of boot loaders installed. Which one does the firmware actually use? This is determined by a set of NVRAM entries, which identify the boot loaders and list the order in which they should be tried. The NVRAM entries identify boot loaders by partition and filename.
It's unclear whether you've got one, two, or more ESPs; however, because the NVRAM entries identify boot loaders by partition and filename, that detail is essentially irrelevant. Chances are that what happened is that Ubuntu added GRUB to an ESP and added an entry to the computer's NVRAM telling it to use GRUB by default. (In fact, it would point to Shim, which is one of Linux's tools for dealing with Secure Boot. Shim will then launch GRUB.) I'm not sure why you're getting a Secure Boot warning followed by GRUB. Maybe you've got an NVRAM entry that points directly to GRUB without going through Shim followed by an entry that points to Shim. That would explain it, but AFAIK the Ubuntu installer doesn't set things up this way.
Under EFI, you can edit the NVRAM entries to control the boot order. In Linux, the efibootmgr utility does this job. In Windows, you can use bcdedit or a third-party tool like EasyUEFI. Using efibootmgr, type the command alone to see a list of boot entries, then use the -o option to set the boot order, as in efibootmgr -o 5,3,8 to have the firmware try Boot0005 first, then to launch Boot0003 if that fails, and finally to try Boot0008. (Of course, you'll need to set the order for your system, based on the output of efibootmgr without any options.) Most EFIs have their own boot manager to enable you to select a boot loader. Details vary greatly from one computer to another, though. You must typically press a function key early in the boot process to get to this boot manager.
Using a Windows repair disk follow these instructions -to-repair-the-efi-bootloader-in-windows-8/ I believe you still need to recreate the Boot Configuration Data (BCD) store to fix your issue (/fixmbr bootrec /fixboot is not enough).
795a8134c1