Making Windows 7 bootable

65535

New Member
#1
Hi everyone,

I have a problem with a relatively simple cause that I have no idea how to fix. My computer initially ran Windows XP. I then installed Windows 7 onto a separate hard disk in a dual boot configuration. However since the Win XP drive was still the primary drive all the boot files for Windows 7 were installed on the XP drive.

The drive containing XP has since died and been removed from my system. No problem I thought, I'll just use the Win 7 drive as the boot disk. But of course that doesn't work because there are no boot files on the Win 7 disk. All I get is "A disk read error occurred. Press Ctrl+Alt+Del to restart". This problem is mentioned in the wiki here: Changing the Vista Boot Drive - NeoSmart Technologies Wiki

How do I fix this? I've tried just about everything I've read on the internet (without really understanding what I’m doing, so I've probably done some things wrong and made it worse). I first tried to repair the Win 7 installation using the Win 7 CD, but it couldn't even see the Win 7 installation.

I then plugged the drive into another computer and marked the partition as active, which allowed the Win 7 CD to see a problem and repair it. I rebooted a few more times, each time the Win 7 CD repaired something else until it said that it couldn't detect any problems. However it still wouldn't boot and came up with the same "disk read" error.

I plugged the drive into another computer again which showed the Win 7 recovery CD had put all the boot files on the disk (bootmgr and the boot folder) yet it still wouldn't boot. I then used EasyBCD to “Reinstall the Vista Bootloader” and “Reset BCD storage” (after first pointing EasyBCD to the BCD store file on the Win 7 drive) but it still didn’t fix it.

I’ve tried following the guide on the wiki page I linked to above on “Changing the Boot Partition” using the EasyBCD Power Console and mbrfix.exe (not every step worked). I’ve also tried running bootsect.exe with /nt60 and bootrec.exe with /fixmbr and /fixboot but none of these have done anything either.

Could the reason why none of these programs have worked be that are designed for Vista instead of Win 7, or isn’t there any difference? Could the problem be that the partition Win 7 is installed on is only marked as “active”, not “boot” or “system”? The bootrec.exe help says that it only repairs the system, not the active partition, so I don’t know if it is doing anything. I don’t understand any of this stuff so I really have no idea.

Thanks for your help.
 

Terry60

Knows where his towel is.
Staff member
#2
Hi big number, welcome to NST.
If you're mounting the W7 HDD on another PC, and looking at it with disk management, it will be neither "boot" nor "system".
"boot" in MS-speak means "the system that's running", which W7 is not.
"system" means "the location of the boot files which were used to start the "boot" system, which again is not W7.
"active" on the 1st HDD in the BIOS boot sequence tells the MBR where to look for the boot files to continue with the boot on that HDD.
Put your W7 HDD back in its PC.
Disconnect any other HDDs temporarily,
Make sure you don't have any USB drives connected.
Boot the W7 DVD. Run "repair your computer" / "startup repair"
Repeat the above line in full, 3 times in all.
Make sure that the W7 HDD comes 1st in your boot sequence after you've reconnected any other drives.
 

65535

New Member
#3
Hi Terry,

I've run startup repair and it doesn't detect any problems (it says the OS booted sucessfully), but it still won't boot. This is with no other HDDs or USB devices connected. I've also tried deleting the boot files to force startup repair to do its thing again and restore everything from scratch, but after doing this it still doesn't work.

All the boot files are on the disk and startup repair thinks everything is fine so I don't know why it doesn't boot?
 

Terry60

Knows where his towel is.
Staff member
#4
Is the "active" flag still on the partition which contains \boot and bootmgr ?
 

65535

New Member
#5
Yes, the partition is still marked active.

As a little experiment to test if startup repair actually works I installed Win 7 onto a spare hdd and then deleted the boot files. Startup repair did sucessfully detect the problem and restore the files, so that isn't a problem.

Removing the boot files from the test disk resulted in the error "Bootmgr is missing" as opposed to "A disk read error occured". Would this mean that my problem is due to something lower level than the boot files, such as the MBR or boot sector or something? But isn't bootrec.exe meant to fix problems with the MBR and boot sector (via /fixmbr and /fixboot)? So what else could the problem be? Is there anything I've missed apart from the MBR, bootsector, active partition and boot files?
 

Terry60

Knows where his towel is.
Staff member
#6
Try booting the W7 DVD and entering the recovery console instead of "startup repair". Then try running a chkdsk /f against the W7 partition. It could be a genuine bad-block in the boot-sector that's causing the problem. If it finds one, and removes it from reuse, run the repair again.
 
Last edited:

65535

New Member
#7
I've run chkdsk and it didn't find any problems.

I've just thought of a possible cause of the problem. The allocation unit size of the partition is 64k. Could the maximum size for the system partition/boot files be 4k like on XP?
 

Terry60

Knows where his towel is.
Staff member
#8
I can't find a definitive statement, but I think you might be correct that it's your problem.
 

65535

New Member
#9
It seems the allocation unit size was the problem. Nice of Microsoft to not notice and give you an error or anything.

I shrunk the partition, created a new 100MB partition for the boot files with the default allocation unit size, marked it as active, ran startup repair and now everything works fine.
 

Terry60

Knows where his towel is.
Staff member
#10
Well we've all learned something new. Glad you're OK now.