deepmojoman

New Member
Joined
Sep 14, 2011
Messages
46
So I have a computer that now has XP/32 and Win7 64, installed all on the same disk, with two partitions that, while in XP, are id'd as C (XP) and H (Win7). Whenever I boot up and choose XP from the Boot Manager I get into XP, no problem. But if I choose Win7 from the Boot Manager, then I get the message: "<windows root> System32\NTOSKRNL.EX is missing or corrupt".

I have read several things on this matter-a lot of them point to problems with the XP boot.ini file, and I have been trying to alter it correctly, but to no avail. The present boot.ini reads as follows:

"[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Win7" /noexecute=optin /fastdetect". If you'll note, on the second OS line, I have already changed the partition # from a 1 to a 3 (because that disk has 3 partitions: C (upon which XP is located, then H where there is a lot of audio files and then the newest partition: H) but this has not helped anything.

The only way for me to get to Win7 currently is to put my XP disk into the computer before startup, and then, for some reason, if I just let the disk stay in there, without booting from it, and instead just let the boot up process continue on then I get a different looking Boot Manager, which gives me the same choices for OSs: XP and Win7. If I choose Win7 then it goes there just fine. But-get this-if I choose XP then it gives me the same error message: "<windows root> System32\NTOSKRNL.EX is missing or corrupt"!

Something is telling me that there is something wrong with the way the partitions are identified on the boot.ini level, and I have just not yet understood how to fix it, but I could be wrong.

I tried repairing the ntoskrnl.ex in XP through the Recovery Console. I typed in the command: expand d:\i386\ntoskrnl.ex_ c:\windows\system32 (I read on another forum that this was how you'd be able to replace a corrupted ntoskrnl.ex with a fresh copy) but whenever I do this I get back the message: "Access Denied'. Not sure why-I'm the Administrator of this system.

I obtained EasyBCD and installed it onto the Win7 partition, but this has not solved my problem: it just created a boot.ini file that is basically ineffectual in getting me back to XP.

Any insights would be DEEPLY appreciated!
 


Solution
Saltgrass-thanks so much for all your help. Your suggestion that I do more than one Startup Repair finally did the trick. Everything is now operating as it should: both Win7 and XP now boot up through the Boot Manager.
I don't think you're understanding: it's not normal. That disk should have nothing at all to do with any system booting up at any time. That's the sole jobs of XP (E: ), and Win7 (C: ). That disk that I just assigned the letter S to is a backup disk, used by True Image 2009.

You don't think I should just immediately trash all those system/boot files that are currently on S?
 


Last edited:
But my concern is that the boot.ini file that I should be using is on the XP disk. And there is a boot.ini file there. So that alone means somehow there some confusion within my system. The very fact that this S: disk is identified in Disk Management as a "system" disk means there is confusion. It should not be a system disk.
 


Please attach a Disk Management picture from within Windows 7.

Which drive is set primary in the bios?

As I said earlier, when Windows 7 installs, it will put its stuff on an active partition and that partition may not be on the drive your think.......
 


Last edited:
Link RemovedThanks for all the help Saltgrass. Yes, I did note earlier that you mentions that Win7 may put its stuff on an active partition, though this may very well not be the partition that it needs to put its stuff on. I am thinking that, as it is beyond doubt that my Backup Disk should in any way have system or boot files on it, that I should therefore take all these files off-at the very least remove them after making some sort of copies of them, in the event of unforeseen circumstances after their removal. I was wondering what you thought about that strategy.
 


The disk management confirms the Windows 7 boot files are on the S: drive. This is easily fixable.

Open and Administrative command prompt. Type the following and hit enter.

bcdboot c:\Windows /s E:

This will put the boot files on the E: partition.

Since the partition is already active, you do not have to do that.

Go into the bios and set the XP hard drive as primary. This is essential---

Reboot and hopefully you will be able to boot directly into Windows 7. If it boots to XP instead, then the MBR is set to look for an XP boot and needs to be changed. Doing a Windows 7 startup repair should fix it.

An alternative to this is to make the XP drive the primary in the bios, then run a Windows 7 startup repair.

Once again, it is very important to know which drive is primary. You cannot tell from the disk management window. Disk 0 or 1 or 2 is determined by the SATA connectors, not the bios order. But now you know why I suggest removing other drives prior to installing.
 


Yes-thank you for that confirmation. As you were writing all of this I was actually checking into the computer to see which SATA connections were which. The XP drive is, in fact, set as the primary (that is to say, it is on SATA 1-that would make it primary, correct?) and in the BIOS SATA 1 is set to be the boot drive.

So my only other question to you is: all of these things you want me to do with command prompt, is that to be done in XP or Win7?
 


Oh wow! This stuff in bcdedit is serious programmer-speak! This is way above my head! Isn't it possible for me to just manually move all of those files over to the C: drive?
 


The XP drive is, in fact, set as the primary (that is to say, it is on SATA 1-that would make it primary, correct?)

No, not correct, and according to your disk management, it is actually set to a higher number than the other drives, but this might also vary by motherboard. The Drive set in the bios is primary. The fact the boot files were put on the other 1TB drive proves it is set as primary. Anytime you have two drives the same size, be very careful about which one is which. Again, this is why I recommend disconnecting all other drives.

Depending on how you bios is set up, you are looking for the drive listed first under hard drive order or boot order.
 


OK so I need an accurate definition of the term Primary Disk, and Primary Partition (if there is a difference between the two). If by asking me to make sure that the XP disk is set in the BIOS as the primary you mean that you want me to make sure that the XP disk is set as the disk from which my computer is set to boot up from, then that has already been done. You have said that "The Drive set in the bios is primary". That sounds like you're thinking that the S: drive is set in the BIOS as the first disk in the boot order-what I'm assuming you mean when you say "the primary". But this is not correct: S: is not set as the first disk in the boot order. The disk that is listed as Disk 2-the same disk that has XP and Win7 on it-this is the first disk in the boot order in the BIOS. Specifically, it is SATA 1. Disk S:, in its entirety, is SATA 0, and it is actually 3rd in the line of boot order. There is a SCSI drive as #2 in the boot order.

I know all of this because I physically removed a drive just so I could correctly identify whatever was left. As it turned out I removed SATA 0, and the computer booted up normally, on the only remaining disk: SATA 1, and it booted up on one of its two OSs: XP.

I have noted that in Disk Management it lists every single drive on my computer as a Primary partition-with the single exception of C:, which has Win7 on it, and it is listed as a Logical. So the terminology is starting to confuse me, and I need some clarification.

And how would one change the Primary disk in BIOS?
 


Last edited:
Do you know how to get into the bios?

What drive is show a the boot option behind the DVD? Does it say hard drive or mention a specific drive? If there is a Hard drive order section, which drive is listed first? How does the bios identify the 2 1TB drives?

SATA connectors are not involved...........Please, disconnect the other drives until you get your system up and running.......If it won't boot or boots into XP, use the DVD to do a startup repair....

Describing the drive as an XP drive is purely for identification. We are talking about physical hard drives....
 


This is how I get into the BIOS from XP (correct me if I'm wrong, but there's effectively no BIOS for Win7, correct?):

1. I hold down on the Delete key during startup.
2. Up pops the Phoenix Award BIOS.
3. I choose the 2nd option: Advanced BIOS Features.
4. Up comes an entry entitled "Hard Disk Boot Priority", and in paranthenses it says "Press Enter".
5. Up comes the three eligible disks in this order: SATA-1 ST31000528AS, SCSI-0 STY3250620AS, SATA-0 ST31000528AS (note: the id #s for both the first and the last disk are the same, I'd assume, because they are both the same make/model of Quantum disk.)

So I tried to boot up Win7 without the S: disk connected to the system, and after having done a Startup Repair. Still no success: Win7 would still not boot.

I am still wondering if there is another safe way to transfer all those boot files from S: over to E:. This does seem to be the important link in all of it: E: (or SATA-0) is completely necessary in order for Win7 to be booted, so it would stand to reason that we have to get those boot files over to the correct disk and partition.
 


Last edited:
You already have the instructions on how to transfer the boot files to the E: partition. Copying them will make the bcd store incorrect as far as referenced partitions.

Are you sure you know which drive the OS install is on and you disconnected the correct drive. On my system, at least with WD drives, it seems id numbers are just a little different, but if might be just the WD drives.

Did the Startup Repair find a Windows 7 installation?
 


Perhaps bcdboot is the only way to go. If you could interpret for me all the commands that I'd need then I could try to do this myself:

1. If I'm trying to copy the files from S: to E: then would S: be the source (in other words "s:/windows")?
2. Would I need to type in "/1"? It looks like a way to choose a language (and if so, then for what?) If I do need to type it in then I'm assuming I need to leave it as /1 everytime.
3. "/s:" seems like the important part of the command. It seems like this is the command that literally tells the OS where to copy "c:\windows". Am I right? Would this then be the command that I need to use: "bcdboot s:/windows\s e:"? If so would that just simply copy all/any boot files from my S: drive over to my E: partition? Or am I going to have to somehow do this for each individual boot file?
4. Is "/m" really necessary? If so what do I enter for it?
 


I am positive that both XP and Win7 reside on e: (which is SATA-1). I physically disconnected s:, and the computer still booted, albeit only in XP. And as you can see in my included picture of Disk Management, both XP and Win7 (installed on the Logical partition,) are on the same disk. Thus if I have XP, then I have Win7.

Yes, Startup Repair did find a Win7 installation, and did a repair. I was hopeful because of this, but the hope was dashed when, after effecting the repair, Win7 still did not boot.
 


How about we do this. Disconnect the other two drives. Reinstall Windows 7.

If it is booting to XP then the MRB is still looking for an XP boot. A startup repair should have fixed that, so I am out of other ideas.

You do not need to put Windows 7 on a logical partition. A windows drive can hold up to 4 primary partitions.
 


One more thing. When you do a Startup Repair, it may take several, up to four tries, for it to fix some problems.
 


So you said I do not neet a logical drive. If I were to reinstall Win7, how would I get rid of that logical drive and replace it with a primary partition? I had created that partition via XP long ago in anticipation of when I'd finally install Win7. I don't remember ever making it into a logical drive-I don't even know what a logical drive is.
 


Did you try a startup repair 3 more times. I am sorry I had not mentioned that before but it slipped my mind. The reason it needs to run more than once is because it repairs problems in steps. The only time I have needed to run it 4 times was when I was converting an XP boot to a Windows 7, as you are doing.

If you plan on keeping Windows 7, to keep problems from developing later, I would suggest you install it on the other drive. If you keep it where it is, and decide to remove XP later, moving partitions is a real pain.

Do what you want with the logical partition, if you need to, you can convert it later.
 


Saltgrass-thanks so much for all your help. Your suggestion that I do more than one Startup Repair finally did the trick. Everything is now operating as it should: both Win7 and XP now boot up through the Boot Manager.
 


Solution
Back
Top