Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

HAL.DLL is missing or corrupt 1

Status
Not open for further replies.

cdogg

Technical User
Jul 30, 2001
7,785
US
Perhaps someone can help...

I'm working on a customer's PC which used to have Windows 98 and Windows 2000 in a dual-boot configuration. Everything was fine until he decided to remove the Win98 partition, format it as NTFS, then install XP.

As you can guess, the 2000 partition is no longer bootable. I tried editing the boot.ini file to show Win2K's partition:
[blue]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect[/blue]

This gave me the prompt at startup but anytime Win2K is selected, I get the error message about the HAL.DLL. I'm a bit stumped since this system was working fine before, so it shouldn't be the HAL.DLL, correct?

I've tried using the Windows 2000 setup disk to access the repair options. I first tried the automatic repair which couldn't locate the Win2K installation. Then I tried the manual repair using the recovery console. Interestingly enough, the system sees the Win2K installation and prompts me for an administrator password.

What can I do from this prompt to rebuild critical boot files without damaging the XP installation on the boot partition?

Thanks in advance...

~cdogg
[tab]"All paid jobs absorb and degrade the mind"
[tab][tab]- Aristotle
 
Sounds odd - if system was working fine, installing XP on first partition shouldn't upset 2k on second - and they would normally share a boot sector in dual boot config, so XP boot loader should boot 2k no problem.

Is the 2k partition primary or extended?
Is it definitely being seen as partition 2 by the boot process (worth trying 3 or 4)? I have seen this 'displacement' of partitions a few times.

You could try creating a boot floppy with ntldr & ntdetect.com from the 2k install disk (as current boot sector will have XP versions - which are backwardly compatible, but just another thing to try). Put your boot.ini on the floppy too - and see if it will boot.

If the 2k partition is primary (or you have Partition Magic available and can make it primary), you could try building it a boot sector of its own (copy ntldr, ntdetect.com & boot.ini to its root, then run fixboot x: from recovery console, where x: is 2k drive as seen from recovery console). Then make it active partition & see if it will boot. If it will, try from XP boot loader again.

HTH
 
wolluf,
As always, your help is appreciated.

I haven't yet tried your suggestions, but I have done the following:

- went into recovery console and tried the command expand f:\i386\ntoskrnl.ex_ D:\winnt\system32 replacing the existing file (per MS article: As far as I can tell, everything else in that article has been tried to no avail or doesn't apply.

- tried using PartitionMagic 8 startup disks, but kept getting an "EZ-Drive isn't running" error #89 message. After searching on Powerquest's website, I found a little utility called ezsig.exe that removed the EZ-Drive active signature so that PM could run from floppy.


[idea]

The odd thing is that I originally set this PC up with PartitionMagic and never had this EZ-Drive error message. It must have appeared sometime during the switch from Win98 to WinXP.

Oh well, now that I've resized the partitions the way I want them, I'll give your ideas a shot at my next opportunity.

Thanks again,

~cdogg
[tab]"All paid jobs absorb and degrade the mind"
[tab][tab]- Aristotle
 
[red]Update[/red]

Sorry it's taken so long to post back on this issue. It turns out that indeed the problem was NOT the HAL.DLL file, but instead it had something to do with the way the boot sector was configured.

1) First, I tried bcastner's MS link (replacing startup files and Hal.dll did not help)

2) Next, I used PartitionMagic to set the Win2K partition as Primary

When I used PartitionMagic to change the Win2K drive to from Logical -> Primary, I'd get as far as the Win2K bootup screen with the logo, but then it would abruptly restart before getting to the login prompt. I encountered the same thing using Safe Mode.

Almost out of ideas, I decided to give the Win2K CD setup one more chance to do an autorepair. What do you know...changing the partition from Logical -> Primary allowed Win2K's setup to find the installation and repair it.

Although it was a success, I came to find that it corrupted XP's bootup in the process. I ended up moving all important data off the Win2K partition and formatting it. It was too much of a pain to keep around. Simply replacing XP's main startup files (NTDETECT.COM & ntldr), I was able to boot back into XP. Then XP's system restore feature worked like a charm. From now on, I'm forcing this guy to make an image every week until it hurts, then I'll force it every other day.

Thanks for the suggestions...

~cdogg
[tab]"All paid jobs absorb and degrade the mind"
[tab][tab]- Aristotle

[navy]For general rules and guidelines to get better answers, click here:[/navy] faq219-2884
 
bcastner,
Actually, these are the only bootcfg parameters that I'm aware of:

I used bootcfg /default to set XP as the default OS in boot.ini. When selecting XP at the boot menu, it was still trying to load Win2K. So, I went back into XP's recovery console and manually re-copied NTLDR and NTDETECT.COM replacing the Win2K versions.

Perhaps the command fixboot c: would have saved me some time, but in the end I had the same result either way. I only used the system restore feature to ensure every system file on XP's partition was indeed the XP version. I just want to make it clear that I didn't have to use it. When I repaired Win2K's installation earlier, it did write a dozen or so files onto XP's partition, which had me a bit edgy to revert back to a good image.




~cdogg
[tab]"All paid jobs absorb and degrade the mind"
[tab][tab]- Aristotle

[navy]For general rules and guidelines to get better answers, click here:[/navy] faq219-2884
 
glad you're sorted (one thing you always have to remember with NT based systems is their install - including repair reinstall - process always overwrites the first active boot sector it finds - in your case the XP one. And if the o/s being installed/repaired is older than the one already using the boot sector, you lose ability to boot newer o/s. But as you spotted, simply replacing ntldr & ntdetect.com with later versions fixes this).
 
Yeah, I haven't had too much time to play around with dual-boot configurations. It's always easy to setup, but I never realized until now how much trouble it could be to repair.
 
Would like some help on how to dual boot both W98SE and WinXP Home, with two HDs containing respective OS.

Tried to follow all the basic rules but maybe the problem started with my HP Pavillion PC's WinXP recovery CDs. This set always partitions out a 4.6 GB diagnostic area and then installs the XP on the rest of the HD (on separate partition). After installing my W98SE on the 1st HD, the XP install (in the form of "recovery") seemed to erase the 1st HD (where W98 was) and the process would not really come to an end on the 2nd HD --- as some stuff were copied to the 1st 2GB HD. That's why I had to temporarily disconnect the 1st HD, while installing the XP. But when everything is finished and the 2 HDs are cable-selected (XP's as Primary) with the W98 line added in the Boot.ini file, the W98 is not bootable --- indicating sth like "missing HAL.DLL", etc.

I have tried a couple of means from the web but no fix seemed to work. Really wondering if there is a simple, but critical mistake made for my situation...
 
ss8 - you should start a new t hread for your problem.

If you want to dual boot with having a recovery rather than install CD for XP, then I'd just do this.

1. Use XP recovery CD to install XP (98 drive not connected)
2. Install 98 as normal with XP drive not connected.
3. Connect both drives to machine (doesn't matter which is primary), and boot machine from whichever is primary. Install the boot manager from (free for personal use) in that o/s - and then use it to set up boot menu (I'd save this to floppy, at least till you're happy with it).

Hopefully, problem solved.

PS. Alternative to dual booting is use of virtual machine software to run the second o/s - eg MS virtual machine & vmware - those these are commercial apps of course, and depending on what you want to run in the second o/s, they may or may not do the job (but as you can run them inside your normal o/s, they can be more convenient).
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top