My Win7 boots from a different drive then OS is on... wtf?

jowunger

Distinguished
Aug 7, 2008
106
0
18,680
Hi,

yesterday I took out one of my 4 HDD's (I call it HDD -A-) to hookup on another PC and when I restarted my machine (where HDD -A- was in) it didn't boot. I already changed boot order in bios to the HDD -B- (win7). I always have to boot from HDD -A- to be able to boot HDD -B- win7. My question:

A few months back I booted from win7 CD and used repair and I think it put the bootsector/MBR/...?? on the wrong HDD. My HDD's are fine. No bad blocks.

Looking for simple solution without having to setup all again =)

Thanks
 
Solution
Not sure if I understand your problem 100%, but if it is caused from the bootloader being on a different drive then your system partition (which happened to me when I installed Windows 7...never really understood why though) the solution below from MS forum helped me. The main point is (!!) that you have to mark your system drive as active, otherwise the repair function will not work properly...hope this helps

------------------------------------------------------------------------------------------------------------------------------------------------------------
PROBLEM: Windows 7 (vista) Won’t Boot If A Give Hard Drive Is Removed, Even If You Don’t Think It Is The Boot Drive



The problem occurs when one of two things triggers it...

arges86

Distinguished
Put the Windows 7 installation disc in the disc drive, and then start the computer.
Press a key when you are prompted.
Select a language, a time, a currency, a keyboard or an input method, and then click Next.
Click Repair your computer.
Click the operating system that you want to repair, and then click Next.
In the System Recovery Options dialog box, click Command Prompt.
Type Bootrec.exe, and then press ENTER.
Type /FixMbr
Type /Fixboot

This should solve your problem
 

jowunger

Distinguished
Aug 7, 2008
106
0
18,680
I don't know what it is called and where to find the name of HDD0. Bios doesn't say anything, just SAMSUNG250xxx and that won't work.

Here two screenshots. I think it can not be fixed, but maybe I am wrong :F

That is what I get when I go into repair mode with all 4 HDD's
http://www.freeimagehosting.net/image.php?6a3f331638.jpg

and that is what I get when I go into repair mode with the OS disk and without the 3 other HDD's...

http://www.uppic.net/ie/0e9020.jpg

it seems that the MBR is corrupt on my win7 hdd...

here what happens when I start the automated starup repair from the Win7 CD

http://www.freeimagehosting.net/image.php?d44117588a.jpg

appreciate your help btw =)
 
When you install Windows 7 on a machine with multiple hard drives, Windows installs a "System Partition" along with the OS partition. It tries to install this partition on a different drive than the OS drive if it can find a disk with some unpartitioned space.

It sounds to me like you've removed the drive with the system partition on it. You should be able to see where the system partition is by booting with all 4 drives and then running Disk Manager (Start -> right-click on "Computer" -> Manage -> Click the "Disk Management" selection in the left pane. Look for a 100MB partition named "System Reserved".

I don't actually know for sure if it's possible to boot directly from the Windows partition or if the system partition is required. I avoid the problem by making sure no other disks are connected when I install Windows.
 

jowunger

Distinguished
Aug 7, 2008
106
0
18,680


I know what drive it is booting from. The problem is that I want to take that drive out to use for another PC. there must be a way to fix that. Else its a BIG flaw which M$ should fix asap.+

EDIT: Just checked with Disk Manager no partition.
http://www.freeimagehosting.net/image.php?c79b59d643.png
 
So the Disk Manager shows the E: drive as the system drive - I assume that's where Windows 7 is installed?

I'm wondering if you used to have the OS on the C: drive (which is the normal drive for OS installation) and then you ran the Windows 7 upgrade and put the OS on the E: drive. If so, that would explain why your boot loader is on the C: drive (which I'm guessing is the one that you tried to remove).

If your system drive is the E: drive, then since it shows up as "Disk 1" in Disk manager I'm thinking you should be able to follow arges86's advice and use \Device\Harddisk1 to fix it.
 

jowunger

Distinguished
Aug 7, 2008
106
0
18,680


after bootrec.exe and ENTER I just return to normal command prompt. /fixmbr is 'unknown command'
 

FeX_IronC

Distinguished
Oct 7, 2007
20
0
18,520
Not sure if I understand your problem 100%, but if it is caused from the bootloader being on a different drive then your system partition (which happened to me when I installed Windows 7...never really understood why though) the solution below from MS forum helped me. The main point is (!!) that you have to mark your system drive as active, otherwise the repair function will not work properly...hope this helps

------------------------------------------------------------------------------------------------------------------------------------------------------------
PROBLEM: Windows 7 (vista) Won’t Boot If A Give Hard Drive Is Removed, Even If You Don’t Think It Is The Boot Drive



The problem occurs when one of two things triggers it during Windows Installation:

- A drive previously used as a “System” (boot) drive is connected in the PC

- A drive that is not the target drive for Win7 is installed in a lower SATA port than the target drive



In these situations, Win7 install asks the user where to install Win7 and puts system files there, but does not make that drive the system drive, and instead writes the \boot\bcd boot files to the wrong drive. Thus, a split system is created where a few trivial bootloader files are on one drive, and all the other boot files and system files are on another. A failure, format, re-partitioning, or removal of either of these drives will make the system unbootable.


This is undesirable, and should NOT be the default of the Win7 installer. The default should be to install the BCD on the same partition as the target install partition for Win7, to make that the system partition, and use that for boot. Users with multi-boot needs could choose to deviate from this as an option.

My problem was trigger 1 above. I had an old system drive installed, and my new SSD (flash hard drive) installed when I installed Win7. When asked me where to put Win7, I said on Drive0, which was my new SSD. That worked. I then copied some of my old document files over from the older drive, and removed it. The system would not boot. It could not find a MBR (Master boot Record, or boot.ini), but I guess that file is now called the BCD in Win7. If I plug back in my old hard drive, everything works. So my new, rocket-fast, SSD driven system is beholden to my 6-year old, 40Gig former hard drive in order to boot.


If I ran the Win7 installer disk’s repair tools. In that process, there is a step that asks you which installation of Windows you want to fix – but my box containing choices was always empty, my windows OS was not found, even though it was totally present on disk0, C:?windows! At the next step, I chose “Startup repair”, the tool was not able to fix my BCD…because it could not find it. It is a bad tool, in my opinion, because it was able to correctly diagnose the problem (no BCD) but not able to actually fix it. It would be easy for MSFT to add in a “BCD Not Found…Create one? Tell me where to find Windows.” wizard.


Booting with both disks into Windows 7, a look at the Disk Management utility showed me that both drives were recognized, my SSD was Disk 0 and C drive, old disk was Disk1 and D drive. But D drive was marked as System, NOT C drive, and as you may know, you are not able to change that from within Windows. So that was the source of the whole problem. The Win7 installer made some assumptions – bad assumptions – about which disk to make the system disk.



What I did to fix it:

Since I could boot to Win7, as long as both hard drives were present, I did so.

In Disk Management, I made one change, making the C drive “Active”, and shut down

At this stage, you will want to verify that your preferred boot disk is in the first port, and gets recognized as disk0

I then booted from the Win 7 Installer disk, and chose repair. The first time, before offering options, it caught the fact that the new active partition didn’t have a BCD, and tried to fix that, requesting a reboot.

The second time, it booted, I chose repair, and chose “Startup repair”. Now, it found the Windows installation that had always been there, and created a new set of booting instructions to use Windows – finally writing this essential BCD information on the same drive as Windows files!!

I then removed the boot DVD, disconnected the old hard drive, D, and booted with no problems from only my new SSD. The new SSD is now identified as “System” in Windows Disk Management.


Really, though, my solution boiled down to two key steps: marking my preferred drive as Active, and then using the install disks repair tools.


 
Solution

TRENDING THREADS