[SOLUTIONS] load needed DLLs for kernel

Here is the error message:

Windows could not start because of an error in the software. Please report this problem as: load needed DLLs for kernel. Please contact your support person to report this problem.

What programmer wrote these lines of code??  Could it be any LESS helpful.  I’ll try to shed some light to help.  This post is for professionals and experts, so I didn’t find an easy solution and some methods here are beyond a normal home user.

Some results on Google suggest messing with the MBR and Boot Record, but I suggest waiting to do that until other troubleshooting is completed.

Here is my own troubleshooting method for this problem after dealing with it:

1. Check the motherboard for bad capacitors.  Some reports of users replacing the hard drive, reinstalling Windows and still having the problem (no it’s not a scratched CD!).

a. The best case scenario would be to put swap hard drives with a working second identical computer to see if the problem is something other than the hard drive.

2. Run a chkdsk on the problem computer.  Sorry, I will leave that to you to look up.

3. Hook up the bad hard drive to another computer (or use something like the Ultimate Boot CD) to check the WINDOWS\SYSTEM32  directory for these files plus check their size and version against other computer with the identical OS and Service Pack:

bootvid.dll    (source)  — this was the source of my problem

kdcom.dll      (source)

hal.dll             (source)

ntoskrnl.exe  (source)

Sadly for me, this wasn’t the only missing files, so it was indicative of a loss of a group of files.  This may indicate that you have a failing hard drive. When I replaced bootvid.dll, my computer did boot.

4. Now to more extreme measures.  Microsoft suggests doing an in-place reinstall, which I never liked.  Here are a few links for the things I tried, but wasn’t my root cause:

a. http://www.computing.net/answers/windows-xp/load-needed-dlls-for-kernel/133655.html

b. http://answers.yahoo.com/question/index?qid=20061112202439AAwbirg

Please help others by commenting here on what worked for you or other advice I can add.

8 replies
  1. Alexey Loukianov says:

    Thanks for your post, it really saved me a day doing reinstalls on a bunch of computers at the client’s office – they all had been experiencing “load needed DLLs for kernel” error as a result of malware destructive behavior.

  2. Mike says:

    Windows XP – “load needed DLLs for kernel” I had a backup cloned drive for my computer and used that to boot up, and put my corrupt main drive as the second drive. Then opened the C:drive root from the working clone, found the folder called i386. This folder contains all the original windows files. Then I copied both hal.dll and ntoskrnl.exe. Then opened the windows folder from my corrupt drive, which is now seen as a data drive, and then opened System 32 folder. Then pasted those two files into it. It asked if I wanted to replace those files, since they are already there. I clicked Yes. Then closed everything out and shut down the computer. Put my corrupt drive back as the main drive and it works.

    If you don’t have a previously cloned drive, you can buy a SATA to USB adapter from eBay for under $10. Remove your corrupt drive from your computer, connect it to any working computer (with the USB connector) running the same OS (mine is XP) and find the i386 folder from the root drive of the working computer, copy and paste those files to your corrupt drive to the windows/system32 folder. Safely remove hardware, shut down and then reinstall your drive in your computer. It should work.

  3. Blair McFarlain says:

    All, I had this exact same error, and was ready to copy those 4 files above. I booted up with a Linux live cd but was unable to access the system32 directory. I thought the drive was corrupted, so I loaded up Spinrite, but it would just reboot and wouldn’t go into Spinrite. The system was a Dell 790 optiplex. I went into the bios and for some reason the SATA operation type was set on RAID. I changed it to RAID/Autodetect and it booted right up. The user didn’t go into the bios to change it, but we have encountered this once or twice before. Hope this helps!

  4. Julian says:


    I had same problem – “load needed DLLs for kernel”. Couldn’t get into machine at all. What worked for me (but you do need a working pc and internet access to do this) was:-

    1. Download and burn “Hiren’s boot cd”.
    2. Change BIOS in affected machine to boot from CD
    3. Startup from CD (this at least gets you into the machine)
    4. Navigate to C: Windows – System32 – DLLcache
    5. Copy all DLLs to C: Windows – System32
    6. Remove CD
    7. Restart

  5. brmorris says:


    I would be cautious with that approach — this would be a last resort for me and you must be careful that the operating systems match EXACTLY.

  6. Craig says:

    I changed the sata settings in BIOS as mentioned By Blair McFarlain on Apr 18, 2012. I changed them from AHCI to IDE, and the machine booted again.

  7. FerbzS says:

    I had gotten this same error message: Windows could not start because of an error in the software. Please report this problem as: load needed DLLs for kernel. I do have the original winXp installation cd. Is it wise to do a repair install to fix this issue without harming my installed applications or programs? All of my info is on that hard disk, i cannot loose it. Julians approach seems simple but i now have a windows files, windows.old (which has all my original info),windows.old0001, windows.old 0002 and windows.old0003 none of which have any info. The windows.old fils has a file that has a DLLcache folder with nothing in it. The other do not even have that folder in system32. Id greatly appreciate any suggestions.

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *