wrote:
> HI
>
> I broke my mobo and my HD. I've replaced them and installed win7 then
> I restored an image of the broken drive.
>
> All I got was this error message.
>
> Does anyone know how I can overcome this?
>
> Thank you
>
> Me
My guess is:
1) The restoration overwrote the MBR. The MBR is the first sector on
the disk, and it consists of
446 bytes code
4*16 byte primary partition table
2 byte flag
When you install Windows 7, the "446 bytes code" is loaded with
details on the loader for Windows 7.
When you restore the MBR of some other setup, the 446 bytes could be
asking for NTLDR.
If all 512 bytes were overwritten, then the partition table would be
destroyed. And it doesn't sound like that happened (at least, I don't
see evidence in your posting). If only the 446 bytes got written,
then the partition table would be left alone. You can make fine
manipulations of the MBR, via a "read-modify-write" approach. That's
how you change 446 bytes out of the 512 bytes, and then put it back.
2) The MBR code has the option of searching for the partition that
has the boot flag set to active (0x80). The Windows 7 "SYSTEM RESERVED"
partition, is a small 100MB partition, which contains boot related stuff.
I think when you install Windows 7, that partition is active and the boot
flag should be on that partition. The main Windows 7 C: partition, contains
the rest of the OS and files.
If the 446 bytes of code in the MBR are for WinXP, then it looks in the
active partition for NTLDR. The SYSTEM RESERVED that belongs to Windows 7
doesn't have an NTLDR, thus the error message.
To make it look in the new, restored WinXP partition, you'd move the boot
flag to the WinXP partition. One way to do that, might be from a system
recovery command prompt, using a tool like "diskpart". There are other
ways to do that as well (I'd probably do it from Linux).
3) If the restored WinXP partition is in the wrong numerical partition slot
(because Windows 7 is hogging those spots), the restoration tool should at
the very least, have mentioned it. For example, when I use my ancient copy
of Partition Magic, if I move partition 3 from disk A to disk B, it puts
the partition in the third slot on disk B. And that's so the boot.ini information
is still value. The information in a WinXP boot.ini contains an ARC path,
which is a string that says what partition to look at. If you restore a
partition, into the wrong slot, all that needs to be done, is edit boot.ini
to point to the correct place. I've done that a few times from a Linux LiveCD
when I fouled that up with one of my "experiments". But there are other ways
to do that as well.
The devil is in the details.
Depending on the importance of the various partitions on your system,
you'll either be able to "take a hammer to it", or move with more caution,
depending on what your final objectives are. For example, you might be able
to set up the system as "dual boot", by getting the Windows 7 restore CD
to fix up the booting. And then, add WinXP using bcdedit or EasyBCD, once
Windows 7 is running again. That effectively makes Windows 7 in control
of starting the boot process for either Windows 7 partition or WinXP partition.
As an amateur, if I was working on this, the first thing I'd do is examine
the MBR with my hex editor, to better understand what's in there right now,
and whether it's the right material for the job. Using a Linux LiveCD for
the forensics stage of the problem, allows figuring out exactly what needs
to be fixed. (I can print the partition table using "fdisk" for example.)
Then, some fixes can be done from the WinXP installer CD, or some other kinds
of fixes can be done from the Win7 installer CD or the Win7 recovery CD. So
with about three discs out of my collection, I could probably take a stab
at fixing it.
Paul