Can no longer start XP

#1
I've had XP and Win7, on two different disks, installed for years and running fine. I recently added a new drive (for backups only), and while I was at it, I merged the XP partition with another, unused partition on the same disk. Since then, I've been unable to start XP; when I select that option during the boot, it just goes to a black screen.

Per the attached Disk Management file, the System partition and Win7 are on Drive 0. XP is on Drive 2. No changes were made to Drive 0, and the only change to Drive 2 was the merging just mentioned. (By the way, partitions 1 and 3 on Drive 2 are image backups of Drives 0 and 3.)

In EasyBCD, I tried deleting the XP reference and adding it back, with no success.

The first time I tried booting to XP I got a "missing ntoskrnl.exe" message. I checked in XP's system32 folder and sure enough, no ntoskrnl.exe. So I copied it from the backup drive; since then I get no ntoskrnl message, only the black screen.

Thanks for any suggestions!
Frank
 

Attachments

Terry60

Knows where his towel is.
Staff member
#2
#3
How did you merge XP ?
Check that you haven't fallen foul of this
Goodells.Net :: Understanding MultiBooting
Looks like that's what I might have done. I did the merge by extending partition D (XP's) into an adjacent, unused partition (which I first removed, I think).

I've downloaded the utility recommended on the site you referred me to -- savepart.exe -- but before I run it, I'd like to check something with you. As shown in Disk Management, the current drive letter for XP is D, which is also what it was before. Is it possible that Disk Mgt. says one thing but some registry entries might be contrary?

I'm also including a shot of savepart's menu. Am I correct in assuming that "update registry" is what I want (rather than the next item down, "update boot configuration")?

Many thanks, Terry!
 

Attachments

Terry60

Knows where his towel is.
Staff member
#4
That's W7's Disk Management, and hence its registry. It's irrelevant what W7 calls the partition to the way XP tries to boot. The W7 registry has its own unique map of partitions/devices to letters which only exist as transient virtual labels while W7 is running.
When you power down your PC, there are no letter labels at all. They don't physically exist in association with the partition/device.
When you boot XP, it tries to use its map, which doesn't fit the topology. Rather like you trying to use London A-Z when you'd accidentally boarded Eurostar and were really in Paris.
You need to get into the XP registry hive and correct or remove the erroneous entries.
 
#5
That's W7's Disk Management, and hence its registry. It's irrelevant what W7 calls the partition to the way XP tries to boot. The W7 registry has its own unique map of partitions/devices to letters which only exist as transient virtual labels while W7 is running.
When you power down your PC, there are no letter labels at all. They don't physically exist in association with the partition/device.
When you boot XP, it tries to use its map, which doesn't fit the topology. Rather like you trying to use London A-Z when you'd accidentally boarded Eurostar and were really in Paris.
You need to get into the XP registry hive and correct or remove the erroneous entries.
Got it (the analogies really help).

But now I'm stuck. Using savepart, I'm able to get to the target disk OK where it presents a list of 8 or so drive letters to choose from for the new assignment . . . but unfortunately, mine isn't one of them! Any ideas?

Thanks again.
Frank
 

Terry60

Knows where his towel is.
Staff member
#6
If XP used to be C and you can't work out which entries to change, do as specified in method 2 and delete them all.
The first reboot of XP will then regenerate all the labels from scratch with itself as C.
If XP used to call itself something other than C, then you are going to have to work out which entries to change. (probably C to whatever it used to be)
 
#7
If XP used to be C and you can't work out which entries to change, do as specified in method 2 and delete them all.
The first reboot of XP will then regenerate all the labels from scratch with itself as C.
If XP used to call itself something other than C, then you are going to have to work out which entries to change. (probably C to whatever it used to be)
I can't use Method 2 (XP was D, not C), I've tried Method 1, as reported above, and MS warns against using Method 3 in a dual-boot setup. (I don't want to wind up losing access to Win7, too.) Any other approaches?

Thanks again!
 

Terry60

Knows where his towel is.
Staff member
#8
I think you misunderstood me.
You're using method 1 (not regedit within XP because you can't boot it, but using savepart on XP's registry hive)
What I mentioned in my previous post applied to method 1, what was specified in 2 (i.e deleting the lot if XP were C etc.)
Since you confirm that XP was not C, you have no other choice but to correctly edit the XP hive.
Let's face it, you can't be any worse off than a system that won't boot.
You either make an ineffective change which leaves you where you are anyway, or you guess right and fix your problem.
Just make a thorough note of how everything looked when you started, and you can always get back to square 1 and try again.
Start by changing D to something unused, and C to D.
Anything you do inside XP's registry won't compromise W7.
 
#9
SOLVED

I think you misunderstood me.
You're using method 1 (not regedit within XP because you can't boot it, but using savepart on XP's registry hive)
What I mentioned in my previous post applied to method 1, what was specified in 2 (i.e deleting the lot if XP were C etc.)
Since you confirm that XP was not C, you have no other choice but to correctly edit the XP hive.
Let's face it, you can't be any worse off than a system that won't boot.
You either make an ineffective change which leaves you where you are anyway, or you guess right and fix your problem.
Just make a thorough note of how everything looked when you started, and you can always get back to square 1 and try again.
Start by changing D to something unused, and C to D.
Anything you do inside XP's registry won't compromise W7.
For the benefit of others who find themselves in a similar pickle, here's the solution I used. I disconnected all of the drives except the one with system/Win7 (on which I also added savepart) and the drive with XP. I then used a Win7 repair disk to boot, took the DOS/command line option, and ran savepart. This time -- with only 2 drives present -- one of the change-to-which-drive options was D, my original XP drive. When I rebooted, XP began to load but immediately asked for the install disk, which I inserted - praying that it wouldn't overwrite something wrong. 30 minutes later, XP loaded and ran as if nothing had happened.
Thanks again for the pointers, Terry!
 
#10
Whoa there . . . not so fast! After running XP, I rebooted into Win7, just to be sure, and then shut down for the night.
Today when I powered up, the dual-boot screen was bypassed altogether and it booted directly into XP!
While in XP, I verified that the two drives are still connected (one with System Reserved and Win7, the other with XP).
I retried a few times, but always the same: no dual-boot choice, just a direct boot into XP.
Help! And thanks!
Frank
 

Terry60

Knows where his towel is.
Staff member
#11
#12
OK . . . but what should I do now?

---------- Post added at 08:45 AM ---------- Previous post was at 08:44 AM ----------

Sorry -- didn't see the two links you provided. Will read/try them and get back. Thanks again.
 
#13
Well, I followed the instructions in the linked documents, all the way through "Nuclear Holocaust" . . . and I'm right back where I started. I can boot into Win7 but not into XP (the screen just goes black). Attached is the EasyBCD screen.
 

Attachments

Terry60

Knows where his towel is.
Staff member
#14
Did you ever fix XP's registry with savepart ?
You have now created a set of W7 boot files on your XP drive instead of repairing the boot on W7.
It looks like while you were disconnecting drives to try fixing XP, you've changed the BIOS boot sequence and hence W7 has installed its boot files on the highest priority boot drive (XP)
It could be that there was never a problem with the W7 boot, but you were simply booting from the wrong drive when only XP would come up.
Swap the drives in the BIOS boot sequence and see if your original BCD is still there and working OK.
 
Last edited:
#15
I did fix XP's registry with savepart, but that was several steps before "Nuclear Holocaust" which I assume rewrote everything.

I just changed the boot sequence in BIOS but I get the same results. Should I re-try savepart and just take a stab at what letter to assign? (As I understand from your previous post, as long as I'm making changes only to the drive with XP on it, I can't be worse off than I am.) But before doing so, I'd like to verify that I'm using savepart properly. These are the screens, in sequence, and my response:
1) Update Windows registry
2) Choose element where Windows is installed.
I pick the disk with XP. (There's only 1 partition.)
3) Directory where Windows is installed.
I scroll down to Windows
4) Choose element to modify into registry.
I pick the same disk as in #2 -- the XP disk.
5) Choose element where Windows is installed.
Again, the XP disk
6) Drive letter to affect to this partition.
Here's where I take a stab at a new assignment

Am I doing this right?
 
Last edited:

Terry60

Knows where his towel is.
Staff member
#16
Sounds OK but I can't verify as I've never had cause to use it.
As you said, any change you make is reversible, so as long as you note the start conditions, you should be able to play about until you achieve the desired result.
 
#17
SOLVED. No . . . this time, REALLY!

Sounds OK but I can't verify as I've never had cause to use it.
As you said, any change you make is reversible, so as long as you note the start conditions, you should be able to play about until you achieve the desired result.
After reading many postings on several sites, I was finally able to cobble together a solution that indeed works! I’m now able to boot into either OS normally, just as I was before I made the partitions merge. I’m summarizing the entire process here for the benefit of anyone else who finds himself in a similar quagmire.

  1. Download the Savepart utility. (Follow the link that Terry provided in his first post in this thread.) Copy it into the root directory of the OS that you are still able to access (in my case, Win7).
  2. Disconnect (unplug) ALL disks in your system except the one with the working OS and the one with the OS you can’t run. I.e., you’ll have a maximum of two disks connected (plus your DVD drive).
  3. Using your boot/repair disk for the working OS, select the command prompt, then run Savepart. (See my previous post for how to use Savepart.) Select the disk with the non-working OS on it, then change its drive letter to the lowest available letter.
  4. Keeping your repair disk in the drive, reboot normally (letting it run past the “hit any key” prompt). With some luck, you may have selected the right letter in step 3 and your OS will now load (or at least begin to). If you had such luck, go on to the next step; if not, simply repeat step 3 until you get the letter that works.
  5. Remove the repair disk you were using and replace it with the boot/repair disk for the other OS – the one that wasn’t booting but now is. Reboot into the repair disk, take the command prompt option, and navigate to the drive with this OS – the one that wasn’t booting but now is.
  6. From here on, I’m assuming that the drive letter is “D:” BE SURE to use the drive letter that’s appropriate for you – the one with the OS that wasn’t booting but now is.
  7. Go to D:\windows\system32\config. While there, execute the following commands:
Ren system system.bak
Ren software software.bak
Ren security security.bak
Ren sam sam.bak
Ren default.default.bak

(You’ve made some back-ups, just in case.)


  1. While still in the directory in step 7, execute the following:
Copy D:\windows\repair\system system
Copy D:\windows\repair\software software
Copy D:\windows\repair\security security
Copy D:\windows\repair\sam sam
Copy D:\windows\repair\default default

That’s it . . . at least it was for me. Some of the sites I found gave some additional instructions but I didn’t need them. Now you can reconnect all your drives and make any desired tweaks in EasyBCD.

And if this also works for you, take the same solemn vow that I have: NEVER merge the partition with your boot records with another!