I recently upgraded my computer and installed Windows 8 on an SSD. Now I have my old boot HDD with Windows 7 installed on it and I want to connect it to my new computer to pretty much use it as a data store now instead of the boot HDD. However whenever I connect it, Windows 8 attempts a boot and tries to start the repair utility. If I leave the old HDD unconnected, windows 8 boots fine.
The Windows 7 HDD has multiple partitions and was set up to dual boot with linux. It uses the old MBR format and was used with a motherboard with regular BIOS. The new system uses GPT tables with a UEFI motherboard.
The Windows 7 HDD is not the boot disk listed in the mobo and is in a SATA slot after the SSD.
I suspect there is some issue with the disk being detected as bootable.
Is there a way I can maintain the partition table but make it not bootable?
Or is it perhaps another problem entirely?
Update
So I tried a number of things to get this working properly. I believe that the problem has to do with the Windows Boot Manager trying for whatever reason to boot off the Win7 HDD whenever it is plugged in. I figured that out after I cleared the MBR on the Win7 and it still tried to boot off it.
Interestingly it failed pretty much the same way with and without the MBR. Maybe because it's looking for a GPT partition and getting an MBR?
So now that I've narrowed it down to the Windows Boot Manager (with help from terdon) I was able to pull this boot information:
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.
C:\Windows\system32>bcdedit
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume4
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale en-US
inherit {globalsettings}
default {current}
resumeobject {1b65e2bf-23e8-11e3-b714-d8efdcc6606f}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.efi
description Windows 8
locale en-US
inherit {bootloadersettings}
recoverysequence {1b65e2c1-23e8-11e3-b714-d8efdcc6606f}
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \Windows
resumeobject {1b65e2bf-23e8-11e3-b714-d8efdcc6606f}
nx OptIn
bootmenupolicy Standard
bootlog Yes
sos Yes
Looking at the boot loader, it seems its looking for partition "C:". Which is of course the same drive letter as the old Win7 HDD. So maybe its getting the wrong "C:" drive? So how do I go about changing that? I tried changing the drive letters on the partitions through the hard disk manager but to no effect.
On the bright side I was able to bring up the drive in Win8 by enabling hotswapping on my SATA port through the motherboard. And the drive is completely readable (partition tables intact).