From: JonT on
I have a very strange GRUB problem. GRUB is installed in the MBR of
the first hard disc on my system, /dev/hda as far as linux is
concerned, and primary master from a BIOS point of view. There are no
SCSI or SATA discs in the system, just two other PATA IDEs and an IDE
CDROM. /dev/hda has a boot partition /dev/hda1 containing the usual
grub subdirectory, as well as a linux kernel. The linux root partition
is /dev/hda2. In the grub subdirectory of the boot partition the
device.map files contains the correspondence

hd0 /dev/hda

The menu.lst file correctly lists the kernel, the boot root (hd0,0)
and the initrd. Yet grub will not boot the kernel. Instead it drops
into its shell, with no error displayed. From there I can type the
usual (using filename completion to get it right)

root (hd0,0)
kernel /vmlinuz-2.6.30-2-686 root=/dev/hda2 ro
initrd /initrd.img-2.6.30-2-686
boot

and the system boots. Yet GRUB refuses to do this itself, despite the
above info being identical to that contained in menu.lst I can even
attempt to install GRUB from its shell above, and succeed without
error, but end up with the same effect.

Where do I go from here?
From: Nico Kadel-Garcia on
On Apr 4, 6:40 am, JonT <j...(a)pobox.com> wrote:
> I have a very strange GRUB problem. GRUB is installed in the MBR of
> the first hard disc on my system, /dev/hda as far as linux is
> concerned, and primary master from a BIOS point of view. There are no
> SCSI or SATA discs in the system, just two other PATA IDEs and an IDE
> CDROM. /dev/hda has a boot partition /dev/hda1 containing the usual
> grub subdirectory, as well as a linux kernel. The linux root partition
> is /dev/hda2. In the grub subdirectory of the boot partition the
> device.map files contains the correspondence
>
> hd0 /dev/hda
>
> The menu.lst file correctly lists the kernel, the boot root (hd0,0)
> and the initrd. Yet grub will not boot the kernel. Instead it drops
> into its shell, with no error displayed. From there I can type the
> usual (using filename completion to get it right)
>
> root (hd0,0)
> kernel /vmlinuz-2.6.30-2-686 root=/dev/hda2 ro
> initrd /initrd.img-2.6.30-2-686
> boot
>
> and the system boots. Yet GRUB refuses to do this itself, despite the
> above info being identical to that contained in menu.lst I can even
> attempt to install GRUB from its shell above, and succeed without
> error, but end up with the same effect.
>
> Where do I go from here?

Well, you could mention what version of Linux you installed. The
"vmlinuz-2.6.30-2-686" is a good hint that you're using a Debian
distribution, just from the age of the kernel. Did this grub *ever*
work for you? Is it part of something you installed yourself, or part
of a common distribution and normally installed machine and you've
been tweaking kernels? How did you build this initrd?
From: Tauno Voipio on
JonT wrote:
> I have a very strange GRUB problem. GRUB is installed in the MBR of
> the first hard disc on my system, /dev/hda as far as linux is
> concerned, and primary master from a BIOS point of view. There are no
> SCSI or SATA discs in the system, just two other PATA IDEs and an IDE
> CDROM. /dev/hda has a boot partition /dev/hda1 containing the usual
> grub subdirectory, as well as a linux kernel. The linux root partition
> is /dev/hda2. In the grub subdirectory of the boot partition the
> device.map files contains the correspondence
>
> hd0 /dev/hda
>
> The menu.lst file correctly lists the kernel, the boot root (hd0,0)
> and the initrd. Yet grub will not boot the kernel. Instead it drops
> into its shell, with no error displayed. From there I can type the
> usual (using filename completion to get it right)
>
> root (hd0,0)
> kernel /vmlinuz-2.6.30-2-686 root=/dev/hda2 ro
> initrd /initrd.img-2.6.30-2-686
> boot
>
> and the system boots. Yet GRUB refuses to do this itself, despite the
> above info being identical to that contained in menu.lst I can even
> attempt to install GRUB from its shell above, and succeed without
> error, but end up with the same effect.
>
> Where do I go from here?


Is menu.lst on the boot partition?

The symptoms point to that GRUB does not find menu.lst.
GRUB may have problems findong it from other partitions.

--

Tauno Voipio
tauno voipio (at) iki fi
From: JonT on
On 4 Apr, 20:58, Nico Kadel-Garcia <nka...(a)gmail.com> wrote:
> On Apr 4, 6:40 am, JonT <j...(a)pobox.com> wrote:
>
>
>
> > I have a very strange GRUB problem. GRUB is installed in the MBR of
> > the first hard disc on my system, /dev/hda as far as linux is
> > concerned, and primary master from a BIOS point of view. There are no
> > SCSI or SATA discs in the system, just two other PATA IDEs and an IDE
> > CDROM. /dev/hda has a boot partition /dev/hda1 containing the usual
> > grub subdirectory, as well as a linux kernel. The linux root partition
> > is /dev/hda2. In the grub subdirectory of the boot partition the
> > device.map files contains the correspondence
>
> > hd0 /dev/hda
>
> > The menu.lst file correctly lists the kernel, the boot root (hd0,0)
> > and the initrd. Yet grub will not boot the kernel. Instead it drops
> > into its shell, with no error displayed. From there I can type the
> > usual (using filename completion to get it right)
>
> > root (hd0,0)
> > kernel /vmlinuz-2.6.30-2-686 root=/dev/hda2 ro
> > initrd /initrd.img-2.6.30-2-686
> > boot
>
> > and the system boots. Yet GRUB refuses to do this itself, despite the
> > above info being identical to that contained in menu.lst I can even
> > attempt to install GRUB from its shell above, and succeed without
> > error, but end up with the same effect.
>
> > Where do I go from here?
>
> Well, you could mention what version of Linux you installed. The
> "vmlinuz-2.6.30-2-686" is a good hint that you're using a Debian
> distribution, just from the age of the kernel. Did this grub *ever*
> work for you? Is it part of something you installed yourself, or part
> of a common distribution and normally installed machine and you've
> been tweaking kernels? How did  you build this initrd?

Yes, it's Debian Linux. The disc I have was created by cloning an
existing disc using gparted. The reason for doing this is that when I
created the original I only allocated 50Mb to the boot partition and
500Mb to /, which was quite adequate at the time. But, it's no longer
adequate when updating (in particular I can't get two kernel versions
on /boot at the same time any more). So, I used gparted to clone it
but expanding all the vital partitions at the same time. /boot is now
500Mb, / is 5Gb, /usr is 10Gb etc. Apart from this, the kernel and
initrd are exactly as was on the original disc, which boots fine. I
installed grub using the Ubuntu live CD, by mount /dev/hda1 on /boot,
then running grub, letting it find /boot/grub/stage1 to tell me
(hd0,0), then doing the usual root (hd0,0), setup (hd0).

So, no tweaks to kernel or initrd, only slight oddity is getting grub
from ubuntu hardy live CD.
From: JonT on
On 5 Apr, 17:05, Tauno Voipio <tauno.voi...(a)notused.fi.invalid> wrote:
> JonT wrote:
> > I have a very strange GRUB problem. GRUB is installed in the MBR of
> > the first hard disc on my system, /dev/hda as far as linux is
> > concerned, and primary master from a BIOS point of view. There are no
> > SCSI or SATA discs in the system, just two other PATA IDEs and an IDE
> > CDROM. /dev/hda has a boot partition /dev/hda1 containing the usual
> > grub subdirectory, as well as a linux kernel. The linux root partition
> > is /dev/hda2. In the grub subdirectory of the boot partition the
> > device.map files contains the correspondence
>
> > hd0 /dev/hda
>
> > The menu.lst file correctly lists the kernel, the boot root (hd0,0)
> > and the initrd. Yet grub will not boot the kernel. Instead it drops
> > into its shell, with no error displayed. From there I can type the
> > usual (using filename completion to get it right)
>
> > root (hd0,0)
> > kernel /vmlinuz-2.6.30-2-686 root=/dev/hda2 ro
> > initrd /initrd.img-2.6.30-2-686
> > boot
>
> > and the system boots. Yet GRUB refuses to do this itself, despite the
> > above info being identical to that contained in menu.lst I can even
> > attempt to install GRUB from its shell above, and succeed without
> > error, but end up with the same effect.
>
> > Where do I go from here?
>
> Is menu.lst on the boot partition?
>
> The symptoms point to that GRUB does not find menu.lst.
> GRUB may have problems findong it from other partitions.
>
> --
>
> Tauno Voipio
> tauno voipio (at) iki fi

Yes, the disc has /dev/hda1 as /boot, and menu.lst is in the standard /
boot/grub/menu.lst. device.map is also located in /boot/grub. I agree
that it looks as though GRUB doesn't find menu.lst, but I have no
means of finding out why, unless there's some way of debugging what
it's up to whilst it's booting. Is it possible that gub wants menu.lst
to be somewhere else?