Link to home
Start Free TrialLog in
Avatar of cwest1
cwest1Flag for United States of America

asked on

Ntoskrnl.exe file is missing or corrupt

I read through this Q&A: https://www.experts-exchange.com/questions/20460218/Ntoskrnl-exe-file-is-missing-or-corrupt.html, however, it didn’t provide a solution as any replacement ntoskrnl.exe has to be a version that's right for the updated version of W2K.

If service packs and upgrades have been added to W2K server, expanding ntoskrnl.ex_ from the original CD seems to leave you with an out of date ntoskrnl.exe. I thought a solution might be to copy the version of ntoskrnl.exe from winnt/servicepackfiles/ to winnt/system32/ but when booting I get the same error (Ntoskrnl.exe file is missing or corrupt). Repairing from the consol with the limited tools/commands provided (by MS) is of little use. Also the W2K CD won't eject while the console is loaded, and other versions of ntoskrnl.exe can't be copied to WINNT/ to see they're compatible.

A solution that could possibly work is to install W2K into a different folder tree and when the system is booted, update it, and try repairing the earlier version of W2K with different versions of ntoskrnl.exe. This approach could be a lot of work though :(

I hope someone has some good ideas.
Thanks in advance

By the way, I checked the boot.ini file and it defaults to the right partition and folder.
Avatar of _grubygrub
_grubygrub

well i xcan send you a windows 2000 service pack 4 one if you really need it wat service pack do you have?
You can always bung in your windows 2000 cd, reinstall on the same disk to the same folder, then when installed reapply your servicepacks.  As the os will be reinstalled the registry will be preserved and so will users settings (stored under c:\documents and settings).  1 or 2 of your applications might not respond too well but your data will be fine, you can simply reinstall the troublesome apps.  I know from doing this myself things such as ms office, visual studio and anti virus tools are happy with it.  My firewall even survived with all my old security settings.  NB I did this on Windows 200 Professional, I don't know how server or advanced server will respond to that treatment.
Avatar of cwest1

ASKER

I do have an SP4 version of ntoskrnl.exe, but I can’t copy it to C:\ from the repair console as I can’t eject the W2K CD from the drive and insert another with the file on it. It seems the drive “locks” during installation. I don’t know of a 3rd party bootable CD iso to which I can add additional files before burning so that I could copy files to C:\.

As I recall the installation process warns that reinstalling W2K server in the same folder (C:\WINNT\) will delete the existing files first. If that happens, there goes the registry!
http://www.ultimatebootcd.com/

has many tools and can boot from cd , also load cd-rom drivers , and has ntfs reader, but iam not
aware if ntfs reader will allow you to copy files.

if you have fat32 just load dos from that cd

or use a  win98 boot disk
Active@ NTFS Reader for DOS Publisher's Description:
NTFS Reader provides read access to NTFS drives from MS DOS environment. The FREEWARE utility supports long filenames, compressed and fragmented files.You can preview files on NTFS and copy them from NTFS to FAT volumes or network drives.

heres its limitations on freeware

heres a little tutorial

http://www.pcstats.com/articleview.cfm?articleid=1139&page=7
check here..

How many HDs do you have in your computer? Your boot.ini says to look for
WinXP in the first partition on your FIRST HD (rdisk(0)), and for WinLH in
\Windows in the first partition on your SECOND HD (rdisk(1)). Do you really
have 2 HDs? Is WinLH installed on HDD-1?

There may be multiple boot.ini files in your computer, but only one matters.
This is the one in the "system partition" - the first partition on the first
HD the computer sees as it starts to boot - normally, Drive C:. The boot
sector on this partition tells the computer to look in this partition for
the file C:\ntldr, which reads C:\boot.ini to find out where the rest of
Win2K/XP/LH resides. Your boot.ini says to find WinLH on the second HD. It
refers to locations by HD number (rdisk(#), starting with zero) and
partition number (starting with one on each HD). The "partition" number
actually means "volume" number, including both primary partitions and
logical drives (without counting the extended partition itself).

Most likely, ntoskrnl.exe is right where it should be and undamaged, but
C:\boot.ini is causing ntldr (and C:\ntdetect.com) to look for it in the
wrong place.

Are you using the WinLH version of ntldr (282,736 bytes, dated 10/01/03)?
And ntdetect.com (47,724, 10/01/03)? The WinXP versions might not be able
to recognize Longhorn's files. I'm only guessing about this; maybe some
real guru can explain it to both of us.

R.K
Avatar of cwest1

ASKER

It is difficult to accept that different versions of ntoskrnl.exe are so critical that a system is prevented from booting, which makes you think that the default reference in boot.ini to ntoskrnl.exe might be incorrect. Although the error message certainly doesn’t imply that, it wouldn’t be the first time MS’ error messages weren’t as helpful as they could be. This is what’s in boot.ini:

[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT=”Microsoft Windows 2000 Server” /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT=”Microsoft Windows 2000 Server” /fastdetect

If the entries in boot.ini file are incorrect, then obviously “something” (malicious) changed them. I believe they’re correct though. boot.ini resides at C:\boot.ini. and WINNT resides at C:\WINNT. The disks are a RAID1, but that’s loaded from the BIOS and looks like a single drive by the time boot.ini is read during the booting process. However, RAIDs usually thwart the usefulness of several tools such as EditBINI, which is a boot.ini NTFS editor, which makes the system recovery much tougher (for me at least). For example, most of the tools on the Ultimate Boot CD aren’t helpful in a server/RAID world, in my opinion. What would be very helpful is a bootable CD (in an NTFS world) that included an editor and that let you change files such as boot.ini to try stuff.

Perhaps a sledge hammer approach is eventually the only way. That is, install W2K in a new folder (C:\WINNT2), add a service pack so that it’s at least at the same version level as the original installation, and compare the two. Eventually I’d expect to track down the problem, but as I said earlier, that’s a lot of work to recover a system.
If you are running 2000 server you should have support from microsoft.  Might be worth asking them, they will certainly have seen more 2000 server raid 1 configurations in their time than I and may even be able to send you tools to rectify this?
Avatar of cwest1

ASKER

Microsoft’s point of view with problems of this nature is that if the tools and workarounds packaged with their releases don’t work for you, then you should take yet another “advanced” system administrator’s course, or you could hire them for several hundred dollars an hour! Frankly, unless someone pops up on a forum like experts-exchange that’s actually solved this problem in the same environment, in my opinion you just have to experiment until you find a solution. Usually the suggestions and ideas from subscribers to experts-exchange are helpful in terms of a sounding-board.
Concur with cwest1... you're chasing the wrong problem because of a poor error message
You may wish to try Winternals Administrator Pak 4.1
http://www.winternals.com/products/repairandrecovery/

or ERD Commander 2003:Emergency Download Version
http://www.winternals.com/products/repairandrecovery/erdcommander2002.asp?pid=erd

It is not free but it 's money well spent (if required).
Avatar of cwest1

ASKER

I purchased ERD Commander last week. Winternals have agreed to a refund. ERDC assumes that interrupt 13h is used for the bootstrap, which isn’t the case for most RAID controllers. Therefore it doesn't offer much help (if any) in most server environments. Conceptually they're good products, but I considered them limited to simple installations.
You can slipstream the SP4 in the Installation CD, if you then do an installation from that CD it is W2k SP4 right from the start.
You can do this in W2k, W2k Server, XP....

Have a look at this website
http://old.bink.nu/bootcd/

Then try to do a repair installation from the burned CD
ASKER CERTIFIED SOLUTION
Avatar of L0n3W0lf
L0n3W0lf
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
Avatar of cwest1

ASKER

Thanks for pointing me to bink.nu. The site has some very helpful information. I've stepped through their suggestions, but (as luck probably has it this weekend), nero.com are about to publish a new version of their burning software. Nero obviously provides some options needed to generate an image that'll work for W2K that other burner software doesn't. At least that's what I've discovered after trying to burn a windows compatible boot CD with another program.

Bink.nu explains that when service packs are installed, the repair folder is then out of sync, which is most likely why it doesn't work and the error (Ntoskrnl.exe file is missing or corrupt) persists. Once I get a CD burned that's (virtually) W2K/SP4, I can see if the repair process will resolve the error. I'll post again when I finish going down this track.
Avatar of cwest1

ASKER

After getting my hands on nero's CD burner I was able to generate a new W2K Server CD that's slipstreamed to include SP4. It booted and I was able to run Repair. During the repair process, several messages popped up saying that there were corrupt or missing keys in a .SIF file, which Repair reads. However, I suspect most of them related to the java engine. The good news is that the system booted after Repair completed. There are a few corrupt ordinals to SQL Manager and other minor stuff, but it's an easy clean up from here.

In a nutshell, if you've added service packs to a system, the solution to the error message "Ntoskrnl.exe file is missing or corrupt" is to run Repair from a CD that contains the latest SP. If anyone (ever) needs a "W2K Server SP4" image to burn, I'd be happy to put it online so it can be downloaded. Again thanks to L0n3W0lf for pointing me to http://old.bink.nu/bootcd/, which provided a slipstreaming tutorial.
While this doesn't answer your question, I think you may want to step back a moment because I suspect that a bad NTOSKRNL.EXE is not really your problem.

I'm the serious-problem-support person for a network of about 5000 machines, and I've seen that error many times.  In my experience, despite what the error message and all of the Microsoft Knowledge Base articles say, the problem is not with the NTOSKRNL.EXE file nor BOOT.INI.

I've seen a few causes of this error message:

-- Under Windows NT, the boot partition is limited to about 8 GB.  If it's larger, and NTOSKRNL.EXE is upgraded, it can be put in a different position on the disk past the 8 GB barrier, causing this boot failure.  I'm not sure if that's an issue under Windows 2000 or not, but I suspect not.

-- The System Registry is corrupted.  Load the disk as a secondary disk on another machine.  Run REGEDT32.EXE and Load Hive of <secondary>\Windows\System32\Config\system, and if it gives an error, then that's your issue.  Try the same with the Software registry hive as well.  Fixing a registry corruption is another issue, however.

-- There is file system corruption causing problems accessing the system registry.  Again, load the disk as a secondary and do a CHKDSK /F on it.  The few times I've hit this case, it's been able to fix the problem with no data loss.

Hope that helps!
cwest1,

Glad you resolved it. As an alternate solution, you can always stick the bad drive into another PC running Win2K or WinXP. It would be a secondary drive and then you can copy, move or delete whatever files you need.

---------------

Also, I was getting the ntoskrnl.exe error on Win 2K Pro SP4 (not server) and wanted to add my fix in case it can help someone else...

Symptoms:
1. Win 2K SP4 getting ntoskrnl.exe file missing or corrupt at boot up.
2. When going into the Recovery Console, it does NOT ask for me to log into an instance of windows (ie. C:\WINNT), but it DOES give me a C: prompt.
3. When doing a DIR command at the C: prompt, there is no WINNT directory.
4. Attempting to repair with or without an Emergency Repair Disk (ERD) tells me that it cannot find a copy of Windows on the PC (in this case a Dell Precision M40 laptop)

Fix:
1. From the C: prompt of the RC, I did a CHKDSK.
2. It "found" 3 "missing" directories and stuck them inside a FOUND.000 directory. They were DIR0000.chk, DIR0001.chk and DIR0002.chk.
3. Upon inspecting their contents, it turned out they were the WINNT, SYSTEM32 and CONFIG directories.
4. I put the laptop harddrive into a working PC as a secondary drive (you need to use a $5 pinout converter), renamed and moved the directories to their proper locations (CONFIG goes inside SYSTEM32 which goes inside WINNT which is at the root - in my case, at least), performed a SCANDISK (it found 48k of bad sectors), shutdown the PC, put the laptop drive back in the laptop and everything came up fine.
5. I then backed up all my necessary files and promptly bought a new laptop!