fresh install for dual boot with winxp : grub hangs

Phil Schaffner Philip.R.Schaffner at NASA.gov
Thu Jul 1 17:37:54 UTC 2004


On Thu, 2004-07-01 at 09:02 -0700, Hans Horn wrote:
> All drives use 'auto' on everything in the bios.
> 
> After making all the changes you recommend and issuing 'grub-install 
> /dev/hda', it tells me
> '/dev/hdd3 does not have any corresponding BIOS drive'.
> 
> Did I miss something?

Apparently, but I fail to see it.  There's obviously still a reference
to hdd somewhere. ???

> 
> here's what fdisk tells me now and the content of the few files that I have 
> edited:
> 
> ------------------------------
> fdisk /dev/hda <p>
> 
> Disk /dev/hdb: 200.0 GB, 200049647616 bytes
> 150 heads, 63 sectors/track, 41346 cylinders
> Units = cylinders of 9450 * 512 = 4838400 bytes
> 
>   Device  Boot    Start    End      Blocks    Id    System
> /dev/hda1             1     991    4682553+   1b    Hidden W95 FAT32
> /dev/hda2  *        991   41346  190680210+    7    HPFS/NTFS
> 
> ------------------------------
> fdisk /dev/hdb <p>
> 
> Disk /dev/hdb: 46.1 GB, 46115758080 bytes
> 16 heads, 63 sectors/track, 89355 cylinders
> Units = cylinders of 1008 * 512 = 516096 bytes
> 
>   Device  Boot    Start    End      Blocks    Id    System
> /dev/hdb1         85282   89346    2048287+   82    Linux swap
> /dev/hdb2             1   50793   25599640+    c    W95 FAT32 (LBA)
> /dev/hdb3  *      50793   85282   17382330+   83    Linux

Pretty odd partition table.  Start block of each partition should
generally be one greater than the end block of the previous one, but
have seen cases where they are the same - apparently the partitions are
not on cylinder boundaries - possibly problematic.  The first partition
generally starts at the beginning of the disk with cylinder 1, again odd
but not necessarily illegal.

> ------------------------------
> /boot/grub/device.map:
> 
> (fd0) /dev/fd0
> (hd0) /dev/hdb
> (hd1) /dev/hda

This should be:

(fd0) /dev/fd0
(hd0) /dev/hda
(hd1) /dev/hdb

But don't see how that gets hdd into the picture.

> 
> ------------------------------
> /etc/fstab:
> 
> LABEL=LINUX   /         ext3    defaults        1 1

This is inconsistent with the entry "root=LABEL=/" in grub.conf below.
use "tune2fs /dev/hdb3 to see what the real entry is.  I would expect

Filesystem volume name:   /

not LINUX as fstab indicates.

> none          /dev/pts  devpts  gid=5,mode=620  0 0
> none          /dev/shm  tmpfs   defaults        0 0
> none          /proc     proc    defaults        0 0
> none          /sys      sysfs   defaults        0 0
> none          /proc     sysfs   defaults        0 0
> /dev/hdb1     swap      swap    defaults        0 0
> 
> ------------------------------
> /boot/grub/grub.conf:
> 
> # 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 /vmlinuz-version ro root=/dev/hdb2
> #          initrd /initrd-version.img
> #
> #boot=/dev/hda
> default=1
> timeout=10
> splashimage=(hd0,2)/grub/splash.xpm.gz
> title Fedora Core (2.6.5-1.358)
>         root (hd0,2)

This should be (hd1,2) after change to device-map.

>         kernel /vmlinuz-2.6.5-1.358 ro root=LABEL=/ rhgb quiet
>         initrd /initrd-2.6.5-1.358.img
> title WinXP
>         rootnoverify (hd1,1)
>         chainloader +1
> 
> 
...
> > Sooooo, boot to rescue mode (presumably - after HW change of 2nd HD from
> > IDE0 slave to IDE1 slave and given assumption of / now on hdb3) and
> > with /dev/hdb3 mounted on /mnt/sysimage, "chroot /mnt/sysimage", edit
> > /etc/fstab and /boot/grub/grub.conf and /boot/grub/device.map as above,
> > (or adjusted for reality), and "grub-install /dev/hda" (may not really
> > be necessary but could help).  Reboot and hope for the best!

After the chroot, fix the above anomalies as best you can and try again.
If that fails, then try a manual approach (after recovery boot and
chroot):

# grub --device-map=/boot/grub/device.map

Then at the grub> prompt:

grub> find /boot/grub/stage1

It should return:

(hd1,2)

Exit grub and repeat without the device-map:

# grub
grub> find /boot/grub/stage1

If it returns other than (hd1,2) then the BIOS mapping does not match
that seen on the running system.  If it does match, then:

grub> root (hd1,2)
grub> setup (hd0)

Exit and try a reboot.

Just read you other posts...

On Thu, 2004-07-01 at 09:42 -0700, Hans Horn wrote:
> fixed the mount hdd3 thingy by invoking /etc/rc.sysinit, which gets me
> into 
> rw mode.

Ahh - was the old /etc/mtab!

> 
> now grub-install is happy.
> 
> however, after reboot, all I get is 'GRUB'
> 
> cluelessly,
> H. 

If all the above fails it may be time to re-install with the new
hardware configuration. :-(

Phil






More information about the users mailing list