Need Help: Grub Error 19: on partially working triple boot PC.

Associate
Joined
28 Jun 2003
Posts
456
Location
The Moon
Hi all,
I have recently added CENT OS to my pc.
The PC was already dual booting with Windows 2000 and Ubuntu using GRUB.
I had to modify the GRUB.conf to get windows to boot sucessfully but that was no problem at all.

Since I added CENT OS I can no longer boot Ubuntu from GRUB.
It is listed as an option alongside Windows 2000 and Cent OS.
When Ubuntu is selected I get the following message,
Root (hd0,1)
File system type unknown, partition type 0xf
initrd /boot/initrd.img-2.6.12-9-k7
Error 19: Linux kernel must be loaded before initrd


I have an AMD powered pc with 2 ide HD's inside it.
I have it triple booting windows 2000, Ubuntu and Cent OS.

The linux installs go on hda.
Windows 2000 is installed on hdb only.
I can still successfully boot to Windows and Cent OS.

I will post my GRUB.conf in my next post.

can you help?
 
Last edited:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,2)
# kernel /boot/vmlinuz-version ro root=/dev/hda3
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,2)/boot/grub/splash.xpm.gz
hiddenmenu
title Ubuntu, kernal 2.6.12-9-k7
root (hd0,1)
kernal /boot/vmlinuz-2.6.12-9-k7 ro root=LABEL=/1 quiet splash
initrd /boot/initrd.img-2.6.12-9-k7
savedefault
title CentOS (2.6.9-34.EL)
root (hd0,2)
kernel /boot/vmlinuz-2.6.9-34.EL ro root=LABEL=/1 rhgb quiet
initrd /boot/initrd-2.6.9-34.EL.img
savedefault
#title CentOS-4 i386 (2.6.9-22.EL)
# root (hd0,2)
# kernel /boot/vmlinuz-2.6.9-22.EL ro root=LABEL=/1 rhgb quiet
# initrd /boot/initrd-2.6.9-22.EL.img
# savedefault
title Windows 2000, SP4, IE6.x
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
chainloader +1
savedefault
 
Last edited:
My drives are as follows:

Disk 0

N - TYPE ---- FS --- SIZE - LABEL - DEVICE - MOUNT
0 - Primary - Ext3fs - 9.8gb - / - /dev/hda1 - /mnt/disk/c
1 - Primary - Ext3fs - 28.4gb - /1 - /dev/hda3 - /mnt/disk/d
2 - Primary - FAT32 - 16.8gb - N/A - /dev/hda4 - /mnt/disk/e
3 - Extended - N/A - 2.4gb - N/A - /dev/hda2 - N/A
4 - Logical UnForm - N/A - 2.4gb - N/A - /dev/hda5 - N/A

Disk 1
Dont think i need to write this one out. its all windows partitions hdb.

I hope that is enough info.
 
This might not be it, but:
"
title Ubuntu, kernal 2.6.12-9-k7
root (hd0,1)
kernal /boot/vmlinuz-2.6.12-9-k7 ro root=LABEL=/1 quiet splash
initrd /boot/initrd.img-2.6.12-9-k7
savedefault"

You misspelt "kernel"

p.s. what file system type are you using for ubuntu? is it standard ext3 or another fs?
 
I did that a when I first started using Gentoo, misspelled Kernel as Kernal and it wouldn't work. Someone on the Gentoo forums pointed out to me. :p
 
I think that was the problem, but its been 1 month since i did the install and i cant remember what went where.

I have messed with the drive numbers so much i am no longer sure.

I think that Ubunto is on (hd0,1) but since i have made the correction to the spelling mistake i now get a new error message telling me...

root (hd0,1)
Filesystem type unknown, partition type 0xf
kernal /boot/vmlinuz-2.6.12-9-k7 ro root-LABEL=/ quiet splash
Error 17: Cannot mount selected partition
 
Last edited:
M0KUJ1N said:
This might not be it, but:
p.s. what file system type are you using for ubuntu? is it standard ext3 or another fs?

I am now confused. I used paragon's recue kit which is a bootable cd. It reads both Windows and Linux files systems etc.

That is where the drive details have come from. What confuses me is that it lists hda 2 as an extended file. Is hda2 the same thing as (hd0,2)?
Also when i boot cent os it tells me the files system is ext2!

If i remember correctly i installed Ubunto to the 9.8gb partition and i guess i installed CENT OS to the 28.4gb partition. My reasoning based on the paragon output is that these are the only two Primary ETX3FS file structures.

Can anyone tell me about the keys/switches in use here.

title Ubuntu, kernal 2.6.12-9-k7
root (hd0,1)
kernal /boot/vmlinuz-2.6.12-9-k7 ro root=LABEL=/ quiet splash
initrd /boot/initrd.img-2.6.12-9-k7
 
Last edited:
james_blonde007 said:
root (hd0,1)
Filesystem type unknown, partition type 0xf
kernal /boot/vmlinuz-2.6.12-9-k7 ro root-LABEL=/ quiet splash
Error 17: Cannot mount selected partition

As someone said above you still have spelled kernel wrong if thats an up to date error message.
 
Also surely hd0,1 is the second partition on the first drive, if Ubuntu was on the 9.8Gb partition wouldn't it be hd0,0? (eg first partition on the first hard drive)
 
I'm not sure if the same applies to the other distros as I've only ever used Gentoo, but here's the link to the GRUB configuring section in the Gentoo handbook.
 
Hi all,
I have been on holiday for a couple of days sorry about the delayed response.

Una said:
As someone said above you still have spelled kernel wrong if thats an up to date error message.

Sorry the mispelt text was cut from the original text not the updated text. i had corrected the spelling mistake that has now lead to the new error message telling me the partition cannot be mounted.

Is there an application that will give me a clear indication what has been installed on what partition.

I have been using partition magic (installed on the windows hdb) and also
a bootable cd called Paragon, rescue kit four which i am sure is linux based.
 
SKILL said:
Also surely hd0,1 is the second partition on the first drive, if Ubuntu was on the 9.8Gb partition wouldn't it be hd0,0? (eg first partition on the first hard drive)

Its NEARLY WORKING!!

My three mistakes were as follows.
First up, when I installed Cent OS it did not recognise or see Ubuntu so I had to add the correct text to the GRUB boot loader manually. I misspell the word 'kernel' so I think grub ignored the kernel command and went on to read the next line of code. It then attempted to run the next line of code but could not because it required the command in the unread line to function.
So thanks to M0KUJ1N for spotting that one. (I was never a good speller).

Second Up.
I think this area may or may not be still causing a problem. Is the ROOT= /.

Third Up. Because of the first error I got confused as to where the partition was that I had installed Ubuntu and so kept changing it around, (including 0,0) but due to error one none of the drive partition changes would have had any effect at this point.
Thanks to SKILL for noting the correct drive partition.
 
Ok guys and gals,

GOOD WORK! so far we have now got to Ubuntu boot screen appearing.

- The Ubuntu logo is on screen and the progress bar is static at 0.
- The text 'LOADING MODULES' is at the bottom of the screen.

The lights on the mouse and keyboard flash once, like when you boot windows etc and then the system seems to halt.

Is there more to fix in the grub.conf ? or has Ubuntu become corrupt since CENT OS went on?
 
This is how the new '.conf' file looks.

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,2)
# kernel /boot/vmlinuz-version ro root=/dev/hda3
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,2)/boot/grub/splash.xpm.gz
hiddenmenu
title Ubuntu, kernel 2.6.12-9-k7
root (hd0,0)
kernel /boot/vmlinuz-2.6.12-9-k7 ro root=LABEL=/ quiet splash
initrd /boot/initrd.img-2.6.12-9-k7
savedefault
title CentOS (2.6.9-34.EL)
root (hd0,2)
kernel /boot/vmlinuz-2.6.9-34.EL ro root=LABEL=/1 rhgb quiet
initrd /boot/initrd-2.6.9-34.EL.img
savedefault
#title CentOS-4 i386 (2.6.9-22.EL)
# root (hd0,2)
# kernel /boot/vmlinuz-2.6.9-22.EL ro root=LABEL=/1 rhgb quiet
# initrd /boot/initrd-2.6.9-22.EL.img
# savedefault
title Windows 2000, SP4, IE6.x
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
chainloader +1
savedefault
 
Last edited:
Una said:
There's fdisk for CLI or gparted if you got a GUI.

Una, still getting to grips with linux, I just play with it and learn a bit hear and there each time i do.

I have downloaded the gparted tar.gz.
I dont know how to install it.
Why do you have to compile stuff in Linux?
Is there not a standard installer style executable?
 
Whoo hooo!! i messed around with the Root= line and got it working!

I changed the line to....
kernel /boot/vmlinuz-2.6.12-9-k7 ro root=/dev/hda1 quiet splash

Thanks so much to all your responses. With out your help i would still be just messing around.

Finally can you help me understand where everything is located.

Is it as follows or am i talking tosh...

hd 0,0 is where the boot strap is for Ubuntu (partition 0)?
the Kernal (op sys) for Ubunto is on hda1 (partition 1)?
hd 0,2 is where the boot strap for CENT OS (partition 2)?
What does root= label mean then?

Finally finally, (i know i have already posted to many questions) why is ubuntu so much quicker to respond to mouse clicks etc in general use as opposed to cent os?
 
Last edited:
james_blonde007 said:
N - TYPE ---- FS --- SIZE - LABEL - DEVICE - MOUNT
0 - Primary - Ext3fs - 9.8gb - / - /dev/hda1 - /mnt/disk/c
1 - Primary - Ext3fs - 28.4gb - /1 - /dev/hda3 - /mnt/disk/d
2 - Primary - FAT32 - 16.8gb - N/A - /dev/hda4 - /mnt/disk/e
3 - Extended - N/A - 2.4gb - N/A - /dev/hda2 - N/A
4 - Logical UnForm - N/A - 2.4gb - N/A - /dev/hda5 - N/A

Basically it seems your confusion is down to the 'odd' way in which GRUB refers to drives/partitions, now looking at the above diagram and some of the other stuff here is how i think the partitions go:

/dev/hda1 - Ubuntu partition
/dev/hda2 - an extended partition, never directly accessed
/dev/hda3 - CentOS partition
/dev/hda4 - a ~17gb fat32 partition (guessing your storage?)
/dev/hda5 - not sure about this one really, but it's 2.4Gb of your space :p

So basically everything to run ubuntu is on /dev/hda1 and everything to run CentOS is on /dev/hda3...

now to confuse things in comes GRUB, now grub uses the 'hd0,0' notation rather than /dev/hdax. The way it works this out is the first number being the drive, the second the partition, both counting from 0. Just to add a little quirk to this we have the fact that only hard drives are included in this count from 0, so for example:

if you had:
hda - ide drive
hdb - cdrom
hdc - ide drive

then
hda would be hd0,x
and hdc would be hd1,x
and GRUB would ignore the cdrom completely...

putting this into context of your system:
/dev/hda is an ide drive, so grub calls it hd0,x
/dev/hda1 is the ubuntu partition, but as grub counts from 0 this becomes hd0,0
/dev/hda3 is the CentOS partition, again from 0 so subtract 1 and you get hd0,2

Hopefully that explains the GRUB notation ok for you...


as for the ROOT bit that, as far as i can remember that is basically passed to the kernel as a parameter, so basically you are telling the kernel that the device on which the 'root' partition ('/') resides is /dev/hda1, hopefully that makes sense...
 
Thanks for the update Skill.

Am well chuffed. Roll on tonight with the fourth disto going on.

I checked out Mepis on LIVE CD but i wanna check out FEDORA core 5 now.

There are so many distos that its hard to choose, so I guess that i will plough through them and mess about with the ones that detect my hardware and network best with minimal fuss.

Ubuntu sees my windows network and allows me access to my files no problem after the user rights promt but CENT OS only sees the PCs on the network and does not allow me to see the shared folders. I am wondering if that is Samba related. oh well.

Cheers everyone, I am well chuffed that i can add OS's at my command now!

Oh by the way, how do i remove a distro successfully? just format the correct partition?
 
Back
Top Bottom