[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: grub with sata drives? - Success



Thomas H. George wrote:
On Tue, Nov 04, 2008 at 08:21:45AM +0530, Raj Kiran Grandhi wrote:
Thomas H. George wrote:
On Mon, Nov 03, 2008 at 03:00:56PM -0600, elijah rutschman wrote:
On Mon, Nov 3, 2008 at 2:28 PM, Thomas H. George <lists@tomgeorge.info> wrote:
I have two sata drives, sda and sdb with the root partition on sdb.  I
installed grub on sdb and made the following entries in
/boot/grub/menu.lst:
As far as I know, grub doesn't use the Linux /dev/ nodes to access
disks.  The syntax for both IDE and SATA drives should be the same for
your menu.lst, so something along the lines of groot=(hd0,0).  Since
you are using the secondary drive (in Linux, /dev/sdb) I guess it
would probably be groot=(hd1,0).  You'd still want kopt=root=/dev/sdb1
as it is though, since that parameter is intended for the kernel and
not the bootloader.

-Elijah

Well groot=(hd2,0) works - that is, when trying to boot I now get a
message:

root  (hd2,0)
 Filesystem type is ext2fs, partition type 0x83
kernel /boot/vmlinuz-2.6.26-1-amd64 root=/dev/sdb1 ro

Error 15: File not found
Is your /boot on a separate partition?

Please post more information on your partition layout. At the very least mention the partition of your /boot and the total number of disks in your system. You mentioned having two SATA drives, but do you also have any IDE drives?

The 'groot=<dev>' line in menu.lst should be commented out with a single '#'. update-grub uses this line to figure out the partition where your /boot is located. If your /boot is on a dedicated partition, then the kernel would be found in the root of that filesystem. So the kernel line should read:

kernel /vmlinuz-2.6.26-1-amd64 root=/dev/sdb1

If you are able to get to a grub prompt while booting, you can manually specify the kernel and vmlinuz and use <tab> for autocomplete.

At the grub prompt, press 'c' to get to the console.

type root (hd<tab>

This command I had found before and the result was hd0,hd1,hd2.  I have
three hard drives, one ide and two sata.  In BIOS MAIN they are
identified as Primary IDE Master, Sata 1 and Sata 3 (Sata 2 is an
optical drive).  In the distant past the IDE drive contained Windoz but
I reformated it as ext3 for data storage.  Sata 1 has a vfat partition
with some Windoz data files and a ext3 partition with an earlier Debian
installation.  Sata 3 has a single ext3 partition with my current Debian
installation, Lenny.

that should list all the drives. Select the appropriate number, and press <tab> to list the paritions. Select the partition that makes most sense.

type 'kernel /<tab>' and use tabcompletion to point grub to the correct kernel and initrd.

This command - which I had not used before - provided the solution to
the mystery.  After setting root (hd0,0) the result of kernel /<tab>
produced information known to be on Sata 1!  Why?  In BIOS Boot Hard
Drives I had set the sequence as Sata 3, IDE, Sata 1 and grub was using
this order, not the order in BIOS MAIN.  Therefore the correct entry for
groot has to be (hd0,0).

But with SGD http://www.supergrubdisk.org/index.php this problem is solved thru the 'filef <file>' command which returns where he found that file.

So you put a unique file in each of the partitions of the disks and he returns the right device to use for 'root' without you having to dig for it.

I have 2 USB disks and they keep switching addresses on me but with 'filef' what they are in particular is not my worry.

Hugo


















Reply to: