Situation: Quite some time ago I was running Windows XP, and I installed Windows 7 on a separate partition in case I had to go back. I finally decided to repurpose the old Windows XP partition, and was tired of being asked to select an OS every time my computer booted, so I switched the "Active" partition to the Windows 7 partition. Disk Manager displayed a message along the lines of, "Make sure this partition has an operating system installed, or else your computer won't boot!" Of course, it does have an OS installed, but my computer won't boot - I'm getting a "BOOTMGR is missing" message.

I booted my computer from a Linux disc to switch the system partition back. What I want to know is:

  1. Why was my Windows 7 partition not bootable? Shouldn't the Windows 7 installer have made that partition bootable?
  2. What could I have done ahead of time to detect that this would happen, and to prevent it?
  3. How can I get the Windows 7 partition to boot, so I can wipe the old XP partition entirely?

It's not that the partition isn't bootable (or you wouldn't get this far), it's that the boot loader isn't there and the disk order changed. Windows 7 startup repair can fix this. You can also do this from the recovery console. (I think the command is fixboot or bootrec /fixboot.)

You can't really prevent this ahead of time because you can't reliably predict what the disk layout will look like when the boot device is changed without changing it. The recommend processes is to fix it after it breaks.

If you punch "BOOTMGR is missing" into your favorite search engine, you'll find dozens of articles explaining how to fix this.

| improve this answer | |
  • 1
    Yes, I have found dozens of articles explaining how to fix this. Unfortunately, they all require a windows installation CD or a system repair CD. Since I had neither, I booted Linux from a flash drive and set the system partition to the old XP partition. So I'm back where I started. Now that I have a working system, how do I change boot options? Do I need to find a way into the recovery console? How would I do that? – Josh Nov 27 '12 at 1:48

Answers to each question:

  1. When you install Windows 7, it places its boot files on whichever partition on the drive is currently active, NOT on the partition you install Windows to. This means that if you have XP on one partition and install Windows 7 to another partition, the files that Windows 7 needs to boot will be placed on the XP partition, and deleting that partition will leave your computer unbootable.

  2. Understand point 1. :) Or, look for a (invisible by default) directory called Boot at the root of the drive you plan to make active. If the directory isn't there, it definitely won't work.

  3. There is no way to fix this unless you have your Windows 7 Install disk, a System Recovery disk, or your computer has a recovery partition. If you don't have these, you'll have to either create a System Recovery disk from another computer, or use a disk utility on a bootable Linux flash drive or CD to switch the active partition back to the old one. (If you've deleted the old active partition already, this isn't an option.)

The recovery tools to fix the boot process won't do anything if your computer can already boot, so there's apparently no way to change the boot partition on a bootable system - you have to break it before you can fix it, and you need alternate windows startup media (like a recovery CD) in order to fix it.

Detailed instructions, including a step-by-step manual fix (which still requires the recovery CD) can be found here.

| improve this answer | |

Well, first you could have completely erased the partition that Windows XP was located on so that it didn't see it at all. But before installing windows 7 on a partition it's best to chose a partition then erase it and select "new" then format it so that it properly creates the boot partition along with the partition for the OS. I also agree with what David Schwartz said, if you boot off of the installation CD and do a repair, it usually is able to fix your problem or open up Command Prompt from the recovery console and run a fixboot or fixmbr.

| improve this answer | |

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.