PDA

View Full Version : Windows crash: how to recover?



TideMan
01-04-2006, 03:57 PM
I've had a Win XP crash. After booting, I get a black screen with:
<Windows root>system32\hal.dll
missing or corrupt

I've tried using the MS recovery procedure using my Win XP CD ROM, but when I try doing anything in recovery mode I get Access Denied. I was never asked for a password.

What should I do now?

Speedy Gonzales
01-04-2006, 04:14 PM
Follow some of the suggestions here (http://www.kellys-korner-xp.com/xp_haldll_missing.htm) or near the bottom. Connect it as a slave to a working system, and check the boot.ini file.

TideMan
01-04-2006, 04:38 PM
Instead of pulling the HD out and putting it into another computer (which scares me), could I boot up in Linux (from a CD) and simply copy hal.dll from c:\windows\ServicePackFiles\i386\ into Windows?

Would that work?

Graham L
01-04-2006, 04:46 PM
That's probably no more dangerous than moving the disk. ;) You will have to get a command window and become root, then do a mount -o rw,remount the_name_of_the_windows_disk's_mount_point to be able to write to the disk.
Then to be quite sure the directory is updated do a couple of sync commands. After that you might umount the_name.... it.

TideMan
01-04-2006, 04:57 PM
I'm not too familiar with Linux. Would you help me please?
I've opened a shell and I've got a window with a ....[knoppix]$
When I type
mount -o rw
it gives me a whole lot of stuff about mount, but -o is not an option -O (upper case) works though.
And remount doesn't appear to be available.
man remount says there is no entry

????

TideMan
01-04-2006, 05:09 PM
ooops, I see, it's all one line

Now, I need to figure out how to point to hda1, which is sitting on the Desktop

mount -o rw,remount Dektop/hda1
says:
can't find /ramdisk/home/knoppix/Desktop/hda1 in /etc/fstab or /etc/mtab

Terry Porritt
01-04-2006, 05:17 PM
Instead of pulling the HD out and putting it into another computer (which scares me), could I boot up in Linux (from a CD) and simply copy hal.dll from c:\windows\ServicePackFiles\i386\ into Windows?

Would that work?

You can't do that, the hal.dll file is built up to suit your hardware during install.

What you need to do is a Repair Install:

http://www.michaelstevenstech.com/XPrepairinstall.htm

TideMan
01-04-2006, 05:41 PM
I've got an interesting dilemma..........

1. I have a 4-yr old machine that has been thrashed, but the hardware seems to be just fine. However, it has developed a software fault that prevents Windows loading. But Linux works just fine from a CD (Knoppix) and we can email ourselves the files that we need.

2. Screwing around with repairs and reloading Windows is almost bound to stuff up the HD and we'll likely lose files.

3. We already have other machines that we can use, so we don't actually need this old machine.

The dilemma is:
Should I leave it alone and use it to learn Linux, recovering files as and when necessary? And perhaps turning it into a server (if I can learn Linux).
Or should I try to reinstate it as a Windows machine?

My inclination is to leave the old girl alone and use her as a learning machine.

Terry Porritt
01-04-2006, 06:18 PM
:) If somehow you can get the files you need backed up/transfered to another HDD or CD or whathave you then you can do whatever you like :thumbs:

Just as a matter of interest, the reason you can't just extract hal.dll from i386 is that hal.dll is actually 6 different files including hal.dll to suit different systems, though the hal.dll in i386 is most likely to be the one if you have a 'standard PC'.

The one selected gets renamed to hal.dll during installation detection of your system:

http://altirisbe.blogspot.com/2005_12_01_altirisbe_archive.html

gibler
01-04-2006, 08:20 PM
this webpage (http://www.kellys-korner-xp.com/xp_haldll_missing.htm) looks good.