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

Posted on 2004-04-03
Last Modified: 2013-12-15
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 :)


Question by:karomon
  • 5
  • 2
  • 2

Expert Comment

ID: 10751496
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.
LVL 44

Expert Comment

by:Karl Heinz Kremer
ID: 10751758
What's in your grub.conf (or menu.lst) file for your Linux partition?
LVL 44

Expert Comment

by:Karl Heinz Kremer
ID: 10751775
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.
The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.


Author Comment

ID: 10752212
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,
LVL 44

Expert Comment

by:Karl Heinz Kremer
ID: 10752238
To re-install Grub run this command (as root):
grub-install /dev/hdaX
- with hdX replaced by your actual boot device.
LVL 44

Accepted Solution

Karl Heinz Kremer earned 250 total points
ID: 10752250
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.

Expert Comment

ID: 10752252
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.


Author Comment

ID: 10752945
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,
LVL 44

Expert Comment

by:Karl Heinz Kremer
ID: 10753369
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.

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Over the last ten+ years I have seen Linux configuration tools come and go. In the early days there was the tried-and-true, all-powerful linuxconf that many thought would remain the one and only Linux configuration tool until the end of times. Well,…
I. Introduction There's an interesting discussion going on now in an Experts Exchange Group — Attachments with no extension ( This reminded me of questions tha…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question