Link to home
Start Free TrialLog in
Avatar of RogueAce
RogueAce

asked on

Cannot find ntoskrnl on first boot but locates it on second

Hey, I'm hoping this is the best place to ask because I'm not sure if it's a Windows 2000 problem or a disk problem. But hopefully I can get help here.

I recently changed my hard disks around in order to better utilize my space. Now, when I turn my computer on and try to boot into Windows 2000, I get a message saying that <boot path>/system32/ntoskrnl.dll cannot be found. However, when I restart (either by pressing the reset button or the three-finger salute) it boots up fine.

I thought that it might be a problem with the hard drive not initializing itself, so I added a boot delay of 10 seconds in boot.ini, but that didn't help. Note that this is the same drive I loaded Win2k off before I messed around with the order and it booted just fine.

My CURRENT configuration:
Primary IDE (off motherboard):
-Master: 80GB Western Digital drive, one partition (NTFS) (Boot drive)
-Slave: 300GB Maxtor drive, one partition (NTFS)

Secondary IDE (off motherboard):
-Master: Pioneer DVD-ROM
-No slave

RAID channel 0 (off PCI card):
-Master: 80GB IBM drive, two partitions (NTFS) (Win2k drive)
-Slave: 120GB Seagate drive, two partitions (NTFS)
(Note that these drives are not in a RAID, they are just run off of a RAID card)

As you can see, it's a rather motley assortment of disks. The main changes I made to get this configuration were:
-Removed a non-working optical drive from Secondary IDE slave
-Removed the 15GB drive that was the boot drive (IDE channel 0 slave) and put the 80GB drive in its place.

Here is my boot.ini:
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(2)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(2)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect /bootlog
C:\CMDCONS\BOOTSECT.DAT="Microsoft Windows 2000 Recovery Console" /cmdcons

That last line allows me to access the recovery console without the Win2k CD. I've been including that option for a while and it shouldn't be the problem.

This problem is really confusing me and any help would be appreciated. Thanks.
Avatar of huntersvcs
huntersvcs
Flag of Germany image

Mine looks like this:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect

I'm betting (based on your comments) the problem is the HDD.  Sounds like it's not initializing properly, that's why a WARM START works whereas a COLD START doesn't.  Check the cables and consider replacing the SYSTEM HDD.

Hope this helps.

Rick
Avatar of RogueAce
RogueAce

ASKER

Thanks for the quick comment.

The cables are firmly plugged in. I tried switching the molex power connectors around just in case the one it was using isn't delivering enough juice or something odd like that, but no luck. It may be that the IBM drive is going bad (it's maybe 3 years old, so not ancient by any means), but it was working fine before I changed the 15GB out for the 80GB western digital. I'll see if I can run some diagnostics and maybe check the SMART status and see if that sheds any light.
Far as I can tell, the disk is OK. Any other thoughts?
RoqueAce, are the jumper settings correct? 'rdisk(2)' stands for 'look for the boot files on the master drive of the secondary IDE controller' while your system should boot from the primary controller. You could try out this:

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(2)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(2)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect /bootlog
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 200X Professional" /fastdetect
C:\CMDCONS\BOOTSECT.DAT="Microsoft Windows 2000 Recovery Console" /cmdcons

and see whether the 200X boots too.

If the initialization were the problem, there would be no system disk found (different message). Do you have a working Windows on the RAID disks as well?

Regards,
has.
The only working Windows install is on the first RAID disk (80gb IBM Deskstar). I boot off the first disk on the IDE channel (i.e. NTLDR, NTDETECT.COM, and boot.ini are on the 80gb WD running off IDE0), but Windows is on the disk running off RAID0 (hence the boot.ini).

My jumper settings should be correct.
80gb WD on IDE0.0 = Master
300gb Maxtor on IDE0.1 = Slave

Pioneer DVD-ROM on IDE1.0 = Master

80gb IBM on RAID0.0 = Master
120gb Seagate on RAID0.1 = Slave
Okay, so the first disk and primary IDE adapter should be fine. Otherwise the boot.ini (and the menue to select the OS) would not show up. boot.ini loads the ntdetect.com and the ntoskernel.exe, not the ntoskernel.dll. There is either a problem with one of these two files, or with both. Another possibility is that the IDE-RAID adapter is not addressed correctly. Here I would experiment with settings like scsi(1) and scsi(2) as well as the rdisk(0) and rdisk(2) in the boot.ini, in additional lines. (The correct number depends on how the BIOS addresses the PCI slots.)
Here is some information about the boot.ini which corrects my statement of yesterday:
http://support.microsoft.com/?kbid=99743
Sorry for this, and hope it helps.

Regards,
has.
I'm wondering if there might be a delay with the 80GB HDD connected to the RAID controller (Note that these drives are not in a RAID, they are just run off of a RAID card).  If a system check starts  when you cold start, this might take longer with the 80GB HDD than with the old 15GB HDD.  The drives are all in the same places as they were before, and the boot.ini is the same!  Your statement: only changed out the 15GB for the 80GB.  Open the RAID settings, change nothing, just save again and reboot.  The old 15GB may still be registered - OR - an automatic setting must first proof the new 80GB HDD each time you cold start.
Actually, it's the OTHER 80GB that replaced the 15. It's confusing because there are two 80gb disks, but the one I added is the one on the primary IDE channel. The one with Win2k (and ntoskrnl.exe, sorry for the mistake with .dll) hasn't been changed at all.
By the way, based on the article at http://support.microsoft.com/?kbid=102873 I figure the syntax I'm using is probably the best. I may play around with using scsi() instead, but I think multi() is the best bet.
RoqueAce: we try to close in on the problem. Is it a hardware problem, like huntersvcs suggests, or is it a software problem? Your system boots up until it loads boot.ini, each time, with no problems, yes?
Then it _sometimes_ hangs (or always? or only after the cold start? you mention that the monkey grip lets it boot up nicely)?

If there is a genuine problem with the boot.ini file, or the other boot files of Windows, then it should never boot up at all. So the cause for your problems should be located around the RAID controller or its configuration. Did you ever try to copy your whole Windows installation onto the new 80 GB disk and see whether it works flawlessly there (with the ridsk(0) setting)? In this case we can rule out any software problem.

Regards,
has.
The error message is always displayed once, after the cold boot. Just for amusement, this morning I turned my computer on and right after it POSTed, I pressed reset (i.e. before it even got to boot.ini). It booted up just fine.

In addition to this PCI RAID controller that I have, this motherboard has an (IMHO) somewhat poor-quality RAID controller built in. To test and see if it's a problem with the controller itself I plugged the drives into it instead of the PCI one, and I saw the same problem. So I don't think it's the RAID card. Quite frankly, if the disk isn't going bad (and it tests out OK) and it's not the controller, I don't know what it could be in the hardware. But it LOOKS like a hardware problem to me.

I doubt Windows would boot if I copied it to the other 80gb. The drive it's on now has letter E:, and the other 80GB has letter C:. I think it would expect everything to be on a different drive. Since the software works perfectly on second boot, I suspect it's not a software problem either. I can try copying Windows if you really think it will prove something, but I have my doubts.

Thanks for working with me on this. Hopefully we can get this confusing problem sorted out...
RoqueAce: sorry, but slowly I am at a loss too. If it boots on the second try always with no problem, it is neither a hard- nor a software problem. Sounds more like an initialization problem - IMHO of the RAID part. I already considered maybe you had a driver file on the C:\-drive before you replaced it, but in this case it should not boot at all.

Are you sure all your devices get enough electricity when booting? If you have a power hungry CPU, a powerful video card and four drives booting up at the same time, a weak power supply unit might be low on ampere for the late participants of the boot process - the hard disks. If you unplug the 300 GB and 120 GB disks and it works flawless, we would be a step ahead.

Wish I could help you more,
has.
I am well aware that I run power-hungry components--my PSU is 500W.

One thing that I haven't thought about really at all is that, as mentioned above, I removed a CDRW from the secondary slave slot. I don't see how this could be a problem, but maybe next time I boot up I will plug it back in to see if that somehow fixes the problem.
Yep - I think we're getting closer.  Sounds more and more like hardware mangel.  When you pressed the reset button and it booted fine, you basically just initiated a warm start.  Your MOBO is still active, processor - HDD - memory all fired up and ready to go.  You say you removed a CDRW from the secondary slave slot - is the secondary master set to "Master w/slave" or cable select?

You also said "To test and see if it's a problem with the controller itself I plugged the drives into it instead of the PCI one, and I saw the same problem."  When you did this, did you remove the PCI card before you tested, or just left it in?  Try removing it and retesting.
I just left the card in. I'll try removing and retesting this weekend.

I plugged the CDRW back in and still got the message. As additional evidince, I turned the computer off, unplugged the CDRW, then turned it back on--and got the message again. So it's obviously, as you suggest, a cold start/warm start issue.
Let me know what happens!
It doesn't appear to have changed anything.
RoqueAce: what happens when you unplug the 120GB and the 300GB drives and the CD-drive too? Do you have the same problem with the cold boot-up?

And maybe you could copy the files ntdetect.com and ntoskernel.exe to the 120Gb drive, front partition, and try whether it boots a step further with such an entry into boot.ini:
multi(0)disk(0)rdisk(3)partition(1)\WINNT="Microsoft Windows 2000 on 120"
Not sure about the rdisk(3) value, but you can try out. If a cold boot yields a different error message, which shows the ntoskernel.exe is found, the RAID card should still be okay and we have to look after the disk.

With SCSI disks I know you can configure a spin-up delay. The controller starts one after another, and the POST waits until they all have registered with the BIOS. As huntersvcs suggested in the first post, the proper initialization could be the problem. And if such a spin-up delay would be possible, the disks on the RAID controller would be ready once Windows accesses them.

Finally, if there is really a hardware problem, all our reasoning was in vain.
Let us hear what you are doing, and whether there are any improvements.

Best regards,
has.
I don't think it's an initialization problem, because even if I add a boot.ini delay the problem still persists. I can leave it sitting on the screen before it tries to boot for a whole minute and it still produces the message.

I have copied the files to the first partition on the 120 and I will try booting it tomorrow to see what it says.
I'm beginning to wonder if it's not a problem with the HDD itself.  You might consider imaging the drive to another HDD, just to rule out HDD defects.  I don't think it's the OS - it was working before.  "So it's obviously, as you suggest, a cold start/warm start issue."  That only leaves:

HDD
Controller
MOBO
PowerSupply

Try another HDD and see what happens.
That will take some time, since the only spare drive I have is 15gb. I can do it, but I'll have to move some stuff around. I'll get back to you once I have more news.
Interesting (?) bit of news: there was a power outage at my apartment today and I powered back up afterwards. Just for fun I entered the RAID BIOS and looked to see if there was anything I missed. There wasn't, so I rebooted. Then when it tried to load Windows it gave me a different error: the progress bar displayed at the bottom but then it said something like "Windows could not be loaded: could not load the kernel file". I should have written it down, but I didn't. Anwyay, I rebooted again and it loaded fine. I don't know if this is relevant or not, but I thought I'd mention it.
Sometimes the OS "coughs" during a boot and can be attributed to many factors:  improper transfer of BIOS data to the OS, Power Supply fluctuations, on and on . . .

If it only happens once, no bit deal - but keep an eye on it.  If it happens more often you may have just seen the start of other problems.  If you entered the RAID BIOS and (changing nothing) and clicked CANCEL that may have done it.  Power outages and/or surges can cause all kinds of damage.  Don't you have a surge-protector on you equipment?

Last question for now:  any further with the 15GB HDD?

Rick
Yes, I use a surge protector.

OK, so last night I was copying everything from the system drive to other partitions in preparation for transferring the stuff to the 15GB and booting from it. However, this morning the problem just sort of didn't happen. I don't know if this will continue to be a trend, but we shall see.  It would be fitting if a mysterious problem mysteriously disappeared. Meanwhile, I will try to copy the boot files to the 15GB this evening.
Sounds like a one-time glich.  Let me know what happens with the 15GB HDD.  If the booting problem was the other HDD, it should disappear when you get the new one up and running.
Interestingly, it appears to not matter which HDD I boot from...I tried a couple permutations, and I still saw the same or similar error either way. Sometimes instead of displaying the error it will now go to the progress bar (the first one that displays when the kernel and kernel drivers are loading) but it will stop before it gets filled up at all and not progress further. A logged boot doesn't shed any more light on the situation.
Well, I guess we can eliminate the HDD as the problem!  Unless the OS somehow took a hit and one of the drivers is causing the problem.  Try taking one of the HDDs, connect it to the standard IDE controller, remove the RAID PCI controller, and just install a minimum XP version on it (without drivers).  If that still results in the delay, that still leaves:

Controller
MOBO
PowerSupply

Let me know what happens.
ASKER CERTIFIED SOLUTION
Avatar of huntersvcs
huntersvcs
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial