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
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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.
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


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

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

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

rdate is a Linux command and the network time protocol for immediate date and time setup from another machine. The clocks are synchronized by entering rdate with the -s switch (command without switch just checks the time but does not set anything). …
SSH (Secure Shell) - Tips and Tricks As you all know SSH(Secure Shell) is a network protocol, which we use to access/transfer files securely between two networked devices. SSH was actually designed as a replacement for insecure protocols that sen…
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

717 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