- Dec 17, 2001
- 3,566
- 3
- 81
I'm trying to multiboot 98/XP/Linux on an onboard IDE RAID 0 array. Originally, I had 98 on partition 1 of the array, XP on partition 2, and free space at the end. Linux was on a separate disk, which I could boot to either with a floppy or by changing my boot order to find LILO on the linux partition's MBR. After getting my kernel configured to understand the array, I used cfdisk to create two partitions (linux and swap) in the remaining space on the array. Then I setup the reiserfs and swap, and unpacked a backup onto the new linux partition.
It was during some rebooting at this point (I think it was after the partitioning but before unpacking the backup) that I noticed a problem - if I switched back to booting off the array, I could no longer boot XP - I got an error that Windows\System32\hal.dll was corrupted or missing and that I should reinstall it. I thought this was a little strange, since I hadn't actually touched the windows partitions or even any of the boot records on the array. I continued on regardless... probably not too bright.
Eventually got Linux booting entirely off the array using LILO in the array MBR - exactly what I was shooting for. So now LILO points to the linux partition (#3) and the 98 partition (#1). Linux works fine, and the 98 option feeds back into the XP boot loader, as I expected to. I can still boot to 98, but choosing XP gives me the same hal.dll error message. I've tried booting to the recovery console and copying hal.dll back to the system32 directory, as the error message suggested, but that didn't help. I've also tried letting the XP disc try to auto-repair the installation, but no luck there either. I haven't tried fixing the MBR because I don't think it's broken - I got the same error before and after installing LILO to the MBR. So I just need to figure out this hal.dll error - I don't understand how my partitioning of the array's free space could cause a windows file error. Any ideas?
It was during some rebooting at this point (I think it was after the partitioning but before unpacking the backup) that I noticed a problem - if I switched back to booting off the array, I could no longer boot XP - I got an error that Windows\System32\hal.dll was corrupted or missing and that I should reinstall it. I thought this was a little strange, since I hadn't actually touched the windows partitions or even any of the boot records on the array. I continued on regardless... probably not too bright.
Eventually got Linux booting entirely off the array using LILO in the array MBR - exactly what I was shooting for. So now LILO points to the linux partition (#3) and the 98 partition (#1). Linux works fine, and the 98 option feeds back into the XP boot loader, as I expected to. I can still boot to 98, but choosing XP gives me the same hal.dll error message. I've tried booting to the recovery console and copying hal.dll back to the system32 directory, as the error message suggested, but that didn't help. I've also tried letting the XP disc try to auto-repair the installation, but no luck there either. I haven't tried fixing the MBR because I don't think it's broken - I got the same error before and after installing LILO to the MBR. So I just need to figure out this hal.dll error - I don't understand how my partitioning of the array's free space could cause a windows file error. Any ideas?