Dual boot WinXp With Linux RH9 through Grub. <Windows root> \system32\hal.dll Error

Hi, I'v read many Threads about similar problems but couldn't fix mine though.

I have one hard drive, 80G, partitioned into 7 parts as followed: (from pm8)

Partition Information for Disk 1:    76,316.6 Megabytes
Volume         PartType    Status    Size MB    PartSect  #   StartSect  TotalSects
I:             NTFS        Pri,Boot  5,577.2           0  0          63  11,422,152
               Linux Ext3  Pri         196.1           0  1  11,422,215     401,625
*:SWAPSPACE2   Linux Swap  Pri       1,200.2           0  2  11,823,840   2,457,945
               ExtendedX   Pri      69,343.1           0  3  14,281,785 142,014,600
               EPBR        Log       7,703.0        None --  14,281,785  15,775,830
C:             FAT32       Log       7,703.0  14,281,785  0  14,281,848  15,775,767
               EPBR        Log      15,006.0  14,281,785  1  30,057,615  30,732,345
               Linux Ext3  Log      15,006.0  30,057,615  0  30,057,678  30,732,282
               EPBR        Log      23,399.4  30,057,615  1  60,789,960  47,921,895
D:             NTFS        Log      23,399.3  60,789,960  0  60,790,023  47,921,832
               EPBR        Log      23,234.6  60,789,960  1 108,711,855  47,584,530
F:NO NAME      FAT32       Log      23,234.6 108,711,855  0 108,711,918  47,584,467

I Installed WinXp on Drive I (NTFS) and then install RH9.
I followed the instructions on this link in order to dual boot those Os's:

Now I have the option to choose winXp or RH9. When I choose WinXp everything works fine.
When I choose Linux RH9 I get the following error:
<Windows root> \system32\hal.dll
My boot.ini file :

[boot loader]
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro" /fastdetect
I:\linux.bin="Linux RH9"
My "grub.conf" file is configured as followed (Only the WinXp part):

title WinXp
     rootnoverify (hd0,0)
     chainloader +1

I didn't write here the fdisk partition for u to see but I tried all numbers instead of the "zero" in (hd0,0) although I know winXp is No.1 . (Thus supposed to be 0 in Grub).
If it's important I can write that too.
pls pls help because I'm very frustrated and tired from this RH installation :)


Who is Participating?
Karl Heinz KremerConnect With a Mentor Commented:
If I interpret the PM output correctly (and I don't have a lot of experience with this), the correct command line for grub-install should be:
grub-install /dev/hda2

(and this seems to be also what the RH installer used when it wrote the menu.lst file)

I would boot the Linux system with the boot floppy and follow the instructions on the web page that you quoted again. The instructions look correct, it's possible that you made one small mistake (e.g. copied the wrong boot sector). Make sure that you check and double-check all device names that you use. Don't use the ones from the example, always use the correct names for your system.
I don't know grub. But what's happening here is that your RedHat boot does not boot RedHat.

You should boot your rescue disk, check your grub config and re-apply it to your boot sector.
Karl Heinz KremerCommented:
What's in your grub.conf (or menu.lst) file for your Linux partition?
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Karl Heinz KremerCommented:
Do you have a boot floppy for your Linux system?
You can always use Grub in the MBR to boot both your operating systems. If this fails, you can restore your MBR using the fixmbr function from your WinXP install CD.
karomonAuthor Commented:
yes I have a bot disk for linux.  Here is my grub.conf:
# grub.conf generated by anaconda
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,1)
#          kernel /vmlinuz-version ro root=/dev/hda6
#          initrd /initrd-version.img
title Red Hat Linux (2.4.20-30.9smp)
      root (hd0,1)
      kernel /vmlinuz-2.4.20-30.9smp ro root=LABEL=/
      initrd /initrd-2.4.20-30.9smp.img
title Red Hat Linux (2.4.20-30.9bigmem)
      root (hd0,1)
      kernel /vmlinuz-2.4.20-30.9bigmem ro root=LABEL=/
      initrd /initrd-2.4.20-30.9bigmem.img
title Red Hat Linux (2.4.20-30.9BOOT)
      root (hd0,1)
      kernel /vmlinuz-2.4.20-30.9BOOT ro root=LABEL=/
      initrd /initrd-2.4.20-30.9BOOT.img
title Red Hat Linux (2.4.20-30.9)
      root (hd0,1)
      kernel /vmlinuz-2.4.20-30.9 ro root=LABEL=/
      initrd /initrd-2.4.20-30.9.img
title Red Hat Linux (2.4.20-8smp)
      root (hd0,1)
      kernel /vmlinuz-2.4.20-8smp ro root=LABEL=/
      initrd /initrd-2.4.20-8smp.img
title Red Hat Linux (2.4.20-8)
      root (hd0,1)
      kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
      initrd /initrd-2.4.20-8.img
title Red Hat Linux (2.4.20-8bigmem)
      root (hd0,1)
      kernel /vmlinuz-2.4.20-8bigmem ro root=LABEL=/
      initrd /initrd-2.4.20-8bigmem.img
title Red Hat Linux (2.4.20-8BOOT)
      root (hd0,1)
      kernel /vmlinuz-2.4.20-8BOOT ro root=LABEL=/
      initrd /initrd-2.4.20-8BOOT.img
title WinXP
      rootnoverify (hd0,0)
      chainloader +1

If I have to use GRUB for Both Os's (as u said) please tell me  how to do this. Of course, if u can tell me how to fix my current configuration it's better for me.

Alf666 - What should I check in Grub.conf and how do I re-apply it to my boot sector.
thanks a lot,
Karl Heinz KremerCommented:
To re-install Grub run this command (as root):
grub-install /dev/hdaX
- with hdX replaced by your actual boot device.
I suspect that grub has not been installed at all on the boot sector.

When you boot, do you get grub or the standard windows boot selector menu ? (I suspect windows).

In this case, do as khkremer says.

karomonAuthor Commented:
Ok, it works (partially)
I changed the boot .ini to call linux.bin from c:\
At first I wrote  I:\linux.bin="Linux RH9" (As I wrote before) because 'I' is my WinXp drive so I thought it should be he same.
Anyway, I'm getting to grub but I get all the options that are written in my grub.conf file (above).
What option should I choose to enter my red hat 9 installation? Why do I have all this options and how can I delete the one's I don't need.(and what are the one's I can delete).
Can I only delete them from the grub.conf file or are there additional components that should be removed?
Btw - it's a RH9 updated from RH8.

thank u very much,
Karl Heinz KremerCommented:
Select the first one. You can delete the others. When RedHat adds a new kernel (or a new configuration), it will add an entry to the Grub file. This way you may end up with lots of entries that you don't need anymore. Once you know that your default configuration is working, you can edit the grub.conf (or menu.lst) file and remove the ones you don't need. Just keep the first one. You don't have to do anything else but to delete the records from the file.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.