Hal.dll missing, won't boot windows

I’ve seen a few other posts well over a year or 2 old about hal.dll missing, and windows not dual booting with grub, but all of those involved resizing or moving partitions. This install i just did of opensuse 11.4 only involved formatting over a Ubuntu partition which already ran and dual booted windows xp with no problem (no problems during ubuntu install)

I am hesitant to try any previous fixes posted in the forums as my issue doesn’t seem to have come about for the same reasons. I thought windows and linux were playing well these days, guess not

What is hal.dll and why do you think you need it to dual/multi boot anything?

Sorry, i was hoping someone familiar with the error would notice and chime in. Its apparently required by Windows xp to boot. Upon selecting windows boot from grub, get the only message is “file <windows root>/system32/hal.dll is corrupt or not found”, pressing any key after that reboots the machine back to grub. I tried a few suggestions relating to reinstalling grub through yast, and the option “boot from MBR” to no avail. I successfully used grub to boot into windows just prior to the opensuse installation, any only reused the partitions created originally by ubuntu (also happened to be what opensuse recommended for my partition setup (no changes from existing))

My WinXP partition does have a file “HALL.DLL” in the “WINDOWS\system32” directory.

-rwxrwxr-x 1 root users 134400 Apr 13 2008 HAL.DLL

I cannot imagine why installing linux would have any effect on that file. It didn’t cause any problems here.

There’s also the possibility that a linux user accidentally removed that file. Personally, I don’t normally mount my Windows install partitions, and when I do mount them, that defaults to read-only. I do routinely mount a data partition for Windows. But accidental damage to that should not cause Windows booting problems.

On 2011-04-26 02:06, cancerouspete wrote:
> I tried a few suggestions
> relating to reinstalling grub through yast, and the option “boot from
> MBR” to no avail.

I think your problem is coincidental with the recent linux install, but not
caused by it. Your windows install lost a crucial file, perhaps the last
time it run. You need some kind of windows recovery to replace that lost file.


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)

I would do a repair of the windows system with the windows setup media.
Please do not accidentally use the install option, boot from the windows cd
and choose the repair option, it should be able to make the hal.dll and
whatever else may be broken work again.
Be prepared that in the worst case it may happen that you need to reinstall
grub later.


PC: oS 11.3 64 bit | Intel Core2 Quad Q8300@2.50GHz | KDE 4.6.2 | GeForce
9600 GT | 4GB Ram
Eee PC 1201n: oS 11.4 64 bit | Intel Atom 330@1.60GHz | KDE 4.6.0 | nVidia
ION | 3GB Ram

The problem you’re having is not related with Grub itself and reinstalling Grub won’t solve it. Grub only chainloads the Windows bootmanager. After that point, everything doesn’t concern Grub anymore. Notice that it doesn’t mean that the entry booting Windows in your Grub menu is correct. But solving such issues doesn’t require to reinstall Grub (on the contrary!).

Your Windows filesytem could have been corrupted if you - or a Linux setup - resized the Windows partition. That could explain why Windows doesn’t find some files it needs to start.

Notice that in Martin’s post, reinstalling Grub is not presented as a solution but as a consequence of repairing Windows (which in turn seems to be the only solution). :wink:

thanks all, i’ll try to figure out a windows recovery method (no disk) and see what i can get out of that. I’m starting to wonder if i happened to install linux inbetween a reboot cycle of windows automatic update (as in, it half installed an update, but rather than getting the full reboot (where i assume the process is finished) i interrupted it) .

Thinking about it more, the fact that i got to that windows error, does sound like it got past grub. Thanks again!

Post output of ‘fdisk-l’ and the content of XP’s ‘boot.ini’. If there is more then 1 ntfs partition , let us know what is on each.

cancerouspete wrote:

>
> thanks all, i’ll try to figure out a windows recovery method (no disk)
>
There was a time you were able to download a recovery cd from microsoft for
free. I have no clue if something like this is still possible.
Please make a backup of your system before you do anything (standard
warning). The windows repair will not affect the linux partitions but you
never know what can go wrong. If you have a bit of luck it will also not
destroy grub. But the last time I had to repair a dual boot system with win
xp prof. and linux on it the repair disk trashed grub. It is not very
difficult to make grub work again later, I just wanted to give you this
warning before.
I am a bit rusty when it comes to dual boot systems with windows and linux.
So please, if someone else gives you additional info keep that in mind.


PC: oS 11.3 64 bit | Intel Core2 Quad Q8300@2.50GHz | KDE 4.6.2 | GeForce
9600 GT | 4GB Ram
Eee PC 1201n: oS 11.4 64 bit | Intel Atom 330@1.60GHz | KDE 4.6.0 | nVidia
ION | 3GB Ram

I know this thread is old but I’ve just been through the same thing, maybe this will save the next person from pulling out their hair.

I had a Win98 partition (Primary, Active) and 2 XP partitions (Logical, Boot) before installing OpenSUSE 11.4 into 20G of unpartitioned space. After that installation finished, only Win98 and OpenSUSE would boot and selecting either XP drive in the Windows boot.ini resulted in “Hal.dll missing or corrupted”.

Most hal.dll troubleshooting guides will tell you to expand the file by using Windows Recovery Console (ugh!) and/or to reinstall Windows XP. Reinstalling XP will make Grub disappear, and you won’t be able to boot to OpenSUSE.

See how it goes from bad to worse? Ah, if I had only taken a minute to look at boot.ini closely - I wouldn’t have spent hours reloading both XP and OpenSUSE. It turns out that openSUSE renumbered the partitions so boot.ini was no longer referencing the correct drives. For instance, drive (0,1) became (0,4) and (0,2) became (0,5). If you’ve already reinstalled XP and Grub is gone, here’s a link that will get Grub working again in just a couple minutes: Programming and Linux: Solution: Grub issues in opensuse with dual boot(XP, Vista, Win7). Hat tip to mmarif4u for posting the original link on these forums under “Reinstall Grub”.

Btw a OpenSUSE Live CD is the best tool for this fix, though I’ve heard the Rescue CD will work too.

Happy trails…

Just registered so I could post a “Thank You” for this last post.

After having the hal.dll problem after an abortive attempt to install XP on an external USB drive I was beginning to wonder if the problem lay in XP trying to boot the (not there) USB HDD after being fired up by grub.

Quick foray into boot.ini and there it was - two copies of XP and the default the one that was the failed install.

So thanks, Xavier-C for showing me an easy fix.

I was all set to start a repair from the install CD.

Cheers

LGC

I’m getting the Hall.dll missing error although when I asked Windows to locate the file, then it can easily track it under /system32 folder, the file is corrupt as Windows might suggest as I already tried switching the file by another ‘clean’ Hall.dll file, again this hasn’t solved this error. After googling on this I found in a Microsoft support page talking about a similar problem (Error Message: Error Loading Powrprof.dll) and in this page another possible reason that has to do with the path being used by Windows to ‘call’ the Hall.dll - this path might be wrong or corrupted - does anyone knows how I can find an access that path and see if that is the problem?

Since you’re asking this question in a Linux forum, we can not guarantee that you will receive the right answer anytime soon.

Sheesh. I do not know how to say this in a non-offensive manner. All the linux respondents on this thread? You are ignorant, and you are demonstrating your ignorance.

Now, I consider it a marvelous thing that you responded and tried to help - but your best answer should have included: “I do not know, and you should know I do not know. I am guessing what the answer might be.” You guys are mostly way off the mark.

Re-installing windows WILL, without a doubt, no questions, no prisoners - destroy your grub mbr entries. In your case - a dual boot, linux and Windows, the hall.dll error is almost certainly due to something in the linux install. This error also has about 10 jillion permutations - but they mostly point to “boot.ini”, the Windows partition boot record, a real hal.dll error, or hard drive/file system issues.

The Windows “how-to” guides mention the above - boot.ini, partition boot record. etc.

My dual install has, for the first time in my experience, produced this error.

I am still working on fixes - but this much is obvious to me - some people here are posting answers when they should be posting questions.

As for myself, I am still working on answers, and if I find any - I will post them here.

Cheers.

Then don’t!

On Thu, 05 Jan 2012 03:56:03 +0000, spokesinger wrote:

> Sheesh. I do not know how to say this in a non-offensive manner.

Then don’t. It’s one thing to say “that’s not correct”. It’s another to
engage in name calling (and make no mistake about it, calling someone -
specific or generally - “ignorant” is really really close to the line
of engaging in a personal attack - but I won’t say from which side of the
line).

Correcting facts is fine. Demeaning those who provided incorrect
information is not.

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

Why did you set out to offend people? Weird interpersonal skills.

I can’t edit the message now - or I would - I believe I violated rule number one - no personal attacks. It was late at night. I apologize. As I can’t edit it, mods - please delete the original message. I will repost. At that moment - I was simply saying what I was thinking. While I am usually very good at saying things nicely - sometimes I have been known to be obtusely blunt in my opinions. I do not know why - sometimes things just pop out. Again - I apologize.

Let me try this again.

This thread is old - but it came up high in a search - so I want to add some things to it. My Windows dual install has, for the first time in my experience, produced this error. I’ve had to fix the hal.dll errors before, but not in a dual boot environment.

Re-installing windows WILL, without a doubt, no questions, no prisoners - destroy your grub mbr entries. In the OP case - a dual boot, linux and Windows, the hall.dll error has a high possibility of being associated with the linux install. This error also has about 10 jillion permutations - but they mostly point to “boot.ini”, the Windows partition boot record, a real hal.dll error, or hard drive/file system issues.

The Windows “how-to” guides mention the above - boot.ini, partition boot record. etc.

So, if you have this problem - start here:
How To Fix Missing Hal.dll Errors in Windows XP
That particular page covers most of the issues quite well.

The answer could be as simple as the partition pointers in the Windows boot.ini file. Also don’t hesitate to run chkdsk on the Windows volume, even if you are running fsck on the whole hard drive.

However, that page doesn’t cover linux/windows specific possibilities. For one thing - if you have to get to the reinstall stage, plan on fixing your grub (or lilo or grub2). I don’t know of anyone who has ever used the Windows multiple boot loader - so I don’t know how it would be affected. Fixing the MBR portion of grub and grub2 is not hard - but you should start the reinstall knowing how to fix it.

Since I am still in the middle of finding the solution in my case, I will come back and repost when I have found my answer. At the moment I am looking at doing the reinstall - but before I do that I want to try and mess with the boot.ini again. It points to the 2nd partition, which is correct - but I am wondering if it is looking at partitions the way grub does - where the numbering starts at 0.

boot.ini contains pointers like this one
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS

In my current case it says 2, and Windows is on sda2, the 2nd primary partition. Should be good, but I’m still getting the error. So maybe it is seeing the logical partitions in front of it - or is counting like grub does. I don’t know and I still have to find out.

Worst possible case, I will have to reinstall Windows. Blech. Nuisance, but not killer.

As for myself, I am still working on answers, and if I find any - I will post them here.