1

After buying a new case and SSD we decided to reinstall Windows 7, I had a USB stick laying around from when I had to install it on a new UEFI notebook. This USB stick uses EFI to boot.

The install went well, before installing we disconnected all other disks, including the HD that had the Windows 7 install we where going to replace. The machine booted and everything was OK. Until we connected the old HD again.

At this point Windows complained that the installation was broken, and that we should run startup repair, which we did. After rebooting the machine just displays a blinking cursor, nothing else happens.

After inserting the old HD and attempting to boot the BIOS reported a new startup disk named "Windows Boot Manager". When we select to boot from the SSD the blinking cursor appears, when we select to boot "Windows Boot Manager" the startup repair prompt appears, after running it it just appears again.

My first guess was to check whether or not the old boot partition was set active, so I inserted the HD into another Windows 7 machine, but it developed the exact same problem. I had a FreeBSD boot stick laying around, so I booted into it and used gpart to remove the active flag. This didn't solve the problem (afaik EFI ignores the active flag, so I didn't really expect it to work.)

After that I used gpart to install the FreeBSD bootloader onto the disk, basically to wipe the boot sector. This didn't help either.

After that I removed the old Windows 7 partition, then we had to boot from the installation USB stick and run startup repair again, this solved the problem. From this point on the machine boot perfectly.

However, when we create a new partition in the free space the problem returns. Again, removing this partition with FreeBSD solves the problem.

The old disk used MBR instead of GPT, and my guess is that that is part of the problem, although I don't know how.

From this point on the machine is booting the "Windows Boot Manager" instead of just the SSD, but it boots perfectly as long as that first partition is not present on the old HD.

2
  • Small note: It's perfectly fine (and expected) to boot "Windows Boot Manager" rather than the actual drive where you've installed Windows. Nothing wrong with that part.
    – Mario
    Jan 27, 2014 at 9:48
  • Try making your primary HD a master and secondary one a slave using hardware jumper. Mar 21, 2014 at 23:41

4 Answers 4

1

I will assume your HDDs are all SATA, your motherboard should support hotplugging. This means that you can plug in your HDD while the computer is up and running. Try this to circumvent the error on startup.

I have done this with several HDDs on my motherboard from 2008 with Windows 7, it's worth a try.

1
  • I considered trying that, but it is just a workaround, not a solution.
    – Blubber
    Jan 26, 2014 at 10:27
0

This seems more like a Boot Order problem that should be fixed from your BIOS, rather than a partitioning issue.

What I think is happening is that the computer first tries to boot from the OLD drive. If nothing it's there it goes to the SSD.

In theory you can have many bootable disks and active partitions in your computer. The BIOS settings are the ones that determine what gets booted first and if that fails what is tried next and so on...

Another thing to keep in mind: my BIOS changes the boot order automatically whenever I plug/unplug a drive. This may be a problem with the motherboard and it is very annoying. I have to remember to enter BIOS and set as bootable my SSD. Thankfully I rarely change the HDD configuration so this is not something that happens often.

So check the boot order in your BIOS and give that try.

EDIT: Bios settings are fine. So looking at this further I found this similar question

2
  • Again, as noted in the question itself, the bios' boot priorities are set correctly. This was the absolute first thing that I checked, and have checked several dozen times after.
    – Blubber
    Jan 27, 2014 at 8:16
  • Ah, sorry. That was not clear for me. Then perhaps what these guys did may work Jan 27, 2014 at 8:50
0

As the others recognized, this is most likely a problem with boot order. Since this may change due to hardware changes (like new drives being connected), it's better to actually "fix" your old hard disk rather than change boot order over and over again.

  • First, make sure your system boots, even if this means the old drive isn't connected.
  • Once the system is running properly, connect the old drive (you might have to enable "hot plugging" in your BIOS/UEFI firmware; this depends on your mainboard).
  • Windows should detect the drive and will potentially assign it a new drive letter (its only important the drive shows up in Computer Management under Storage > Disk Management; it won't need a letter).
  • Open a console window with admin privileges.
  • Run diskpart.
  • Type list disk and look for your old hard drive. Make sure to remember it's number.
  • Type select disk # where you replace # with the number you just determined.
  • Type list partition and look for your old boot partition. If you're unsure, repeat the following steps for all partitions on your old HDD.
  • Type select partition #'', this time replacing **# with the partition number determined in the last step.
  • Type inactive to mark the partition as no longer active, which will prevent the BIOS from trying to boot from it.
  • Leave the program by typing exit.

IMPORTANT: Do NOT modify any partition on your new SSD! Doing so might render your system unbootable (till you revert the changes).

0

I don't see a reason for boot order getting messed up on its own.
Try making your primary disk a master and secondary disk a slave using hardware jumper.
If no jumper is attached to any drive, I guess BIOS tries to boot from disk attached to earlier SATA port in sequence(they are numbered SATA0, SATA1...)

You must log in to answer this question.

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