hal.dll
One of the most typical problem with hal.dll file can occur after installation new operating system. But in fact the problem is that the amount of partitions has changed and because of this it is necessery to modify boot.ini file. If you have problem with hal.dll file after try to boot windows XP you see on the screen the text like this:
Windows could not start because the following file is missing or corrupt
Windows root>\system32\hal.dll
Please re-install a copy of the above file
If you have linux go to console and log in as root and then write in console cfdisk and press enter (To exit programm use right and left arrows on keyboard and select quit:) My cfdisk screen looks like this:
Name Flags Part Type FS Type [Label] Size (MB) - - - - - - - - - - - - - - - - - - - - - - - - - - - hda1 Boot Primary NTFS [^A] 10618.84 hda5 Logical NTFS 1488.78 hda6 Logical NTFS [^A] 15414.18 hda7 Logical Linux ext3 14451.82 hda8 Logical Linux swap 649.80 hda9 Logical Linux ext3 15274.35 hda10 Logical Linux ext3 15002.92 hda11 Logical W95 FAT32 6975.04 hda12 Logical NTFS [^A] 13382.54 hda13 Logical NTFS [^A] 14566.98 hda14 Logical NTFS [^A] 12206.32
When I deleted one partition and then I created 2 partitions hda10 and hda11 windows which is now on partition hda12 moved for one position
To fix problem with hal.dll open boot.ini file (it is in main directory (c:\boot.ini) and modify line which affects partitions which number has changed. Line which will be modify:
multi(0)disk(0)rdisk(0)partition(8)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
The only thing to do is to change partition(8) to partition(9) because this is how partition with windows moved. boot.ini file after modification in my configuration (I have 3 windows operating systems) looks like this:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(9)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(9)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
Of course every entry is in one line - so there are three lines in [operation systems] section
If you do not know how the partitions changed you can count them in cfdisk programm or in fstab file.
The last option when you really do not know on which partiton is your WIndows you can test it by modyfying boot.ini file like this:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(9)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(9)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(10)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(11)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
And then test every position if it is possible to run from then Windows. On my hard disk this means that for posiotion 4 and 5 I will see on the screen that I do not have hal.dll file, so I can remove this lines.
13.03.2007
Please feel free to vote this article:
No votes yet.