Click to See Complete Forum and Search --> : why can't I boot from a grub boot cd (or at all for that matter)


KieranCorkBoy
04-18-2006, 08:22 PM
Hi everyone, dose anyone thing this is strange?
my partition table looks something like this

/dev/hda1 winxp
/dev/hda2 cut down redhat supplied by manufacturer
/dev/hda5 boot
/dev/had6 swap
/dev/hda7 root

I booted a live cd, and from the command line I invoked grub-install:
grub-install --root-directory=/boot /dev/hda2
this should install grub to the boot sector of /dev/hda2

I know that I can't boot from this partition directly but this is the way that I want it.

my grub menu.lst is:

default 0
timeout 10

#for booting GNU/Linux
title GNU/Linux
kernel (hd0,4)/vmlinuz root=/dev/hda7

#for booting Redhat_Targa
title Redhat_Targa
kernel (hd0,1)/boot/bzimage root=/dev/hda2

#for booting WinXp
title WinXp
root (hd0,0)
makeactive
chainloader+1
I booted a grub boot cd, and entered the following command:
configfile (hd0,4)/grub/menu.lst

when I try to select any of the options in this file, two if which I know are perfectly bootable (hda1 and hda2), I get the following error:

error 25: disk read error

I don't understand why there might be a read error, the grub cd can read menu.lst, and I can mount each of the partitions from a live cd

I have also tried to bootstrap from the boot prompt of a install cd:

boot: <kernel image on cd> root=/dev/hda7 noinitrd ro

I get a kernel panic when i do this:

ACPI: (supports s0 s1 s2 s3 s4)
VFS: cannot open root device "hda7" or unknown-block(0,0) please append a correct "root=" boot option
kernel panic - not syncing:VFS unable to mount root fs on unknown-block(0,0)

I get the same error when I try to boot hda2


Dose anyone know what is going wrong here, because I don't

saikee
04-18-2006, 09:32 PM
Well the matter can be resolved very quickly since you know how to use a Grub prompt to do a "configfile".

You can enter the menu.lst comand line by line less the "title" line and end each booting choice with a "boot" command. For example if I boot your hda2 I would be using
kernel (hd0,1)/boot/bzimage root=/dev/hda2
boot
This way if Grub gives no error warning after the kernel line that means it finds the required file.

If the kernel panic after issuing the boot command then Grub has done its job and your kernel may need more work.

Also it pays to do a
geometry (hd0)
at the Grub prompt to see if Grub has a problem with your hard disk.

To me if Grub accepts the kernel statement then it finishes its work and the failure of the kernel to load is outside Grub's control, unless your kernel needs some parameters passed by Grub.

My own Red Hat 9 and the 4 Fedoras (from FC2 to FC5) all use initrd so not supplying it may be an indirect cause for not booting up, if you are using the standard distros.

Also your Grub menu boots the 2 Linux directly and XP indirectly. I can't understand why you say you can't boot hda2 directly. To boot indirectly is to use the chainloading and no kernel command is involved as far as I am aware.

You can also try to boot the two Linux indirectly to see if they work.

KieranCorkBoy
04-19-2006, 09:40 PM
Ok, I've got grub to boot using the command line, but when I get into the kernel it panics like I said above:

.
.
.
ACPI: (supports s0 s1 s2 s3 s4)
VFS: cannot open root device "hda7" or unknown-block(0,0) please append a correct "root=" boot option
kernel panic - not syncing:VFS unable to mount root fs on unknown-block(0,0)

I have kubuntu64 installed on an Amd Turion
using the standard kernel

I don't see why the kernel would not be able to read from the harddrive