Hda and hdb,GRUB to boot windows

Status
Not open for further replies.

zillah

Posts: 80   +0
I have got two HDs, Segate and Western Digital, each one 40 GB. Connected to one cable to IDE0 (Segate is master and the Western Digital is slave).


First HD Segate (master or hda) is divided to :

15 GB NTFS for XP, 5 GB FAT32 for Storage, and 20 GB NTFS for win2003,,,,I had already installed both windows (XP and 2003).


Second HD Western Digital (slave or hdb) is divided to :

20 GB Solaris (hdb1,,,to be installed later) , 5 GB NTFS for Storage (hdb2) , 500 MB Linux swap (hdb3), 14.5 GB ext3 Linux (hdb4).

I installed Linux FC4 on hdb4 and chose option for GRUB bootloader to be installed on : " /dev/hda Master Boot Record (MBR) ".

When I finished the installation of Linux, I was greeted by GRUB, but when I tried to boot into windows, I received this error message :

Booting "Windows"

rootnoverify (hd1,0)

chaninloader+1


Why was the partition for windows numbered with hd1,0,,,,it should be hd0 because both windows were installed on first hard disk (i.e hd0, not hd1) ?

Why was the root showing hd(0,3), I had installed Linux on hdb (hd1) not hda (hd0) ?



fdisk -l
Code:
Disk /dev/hda: 40.0 GB, 40016019456 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1        1824    14651248+   7  HPFS/NTFS
/dev/hda2            1825        2432     4883760    c  W95 FAT32 (LBA)
/dev/hda3   *        2433        4865    19543072+   7  HPFS/NTFS
 
Disk /dev/hdb: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               1        2432    19535008+  af  Unknown
/dev/hdb2   *        2433        3040     4883760    7  HPFS/NTFS
/dev/hdb3            3041        3101      489982+  82  Linux swap / Solaris
/dev/hdb4            3102        4865    14169330   83  Linux





gedit /boot/grub/menu.lst
Code:
# 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,3)
#          kernel /boot/vmlinuz-version ro root=/dev/hdb4
#          initrd /boot/initrd-version.img
#boot=/dev/hdb
default=0
timeout=15
splashimage=(hd0,3)/boot/grub/splash.xpm.gz
#hiddenmenu
title Fedora Core (2.6.11-1.1369_FC4)
    root ([B]hd0[/B],3)-------I said it should be hd1,3
    kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet
    initrd /boot/initrd-2.6.11-1.1369_FC4.img
title Windows
    rootnoverify ([B]hd1[/B] ,0)-----I said it should be hd0,0
    chainloader +1
 
If you go to GRUB's command line and type root (hd1,0), does it show the correct partition type for Windows?

If so, you probably need to map the drives the other way around in GRUB, by

map (hd0) (hd1)
map (hd1) (hd0)


Add those before root commands.
 
If so, you probably need to map the drives the other way around in GRUB, by

map (hd0) (hd1)
map (hd1) (hd0)

Add those before root commands.
I am going to follow what you suggested, but could you please explain to me what is the map command here ?
 
I checked

#cat /boot/grub/device.map

(fd0) /dev/fd0
(hd1) /dev/hda---------------It should be hdb instead of hda.
(hd0) /dev/hdb---------------It should be hda instaed of hdb.

Drives hav been flipped, what should I do to correct this issue ?

If you go to GRUB's command line and type root (hd1,0), does it show the correct partition type for Windows?
How can I go to grub command ? from Rescue CD or from Terminal ?
 
GRUB manual

Map
Command: map to_drive from_drive

Map the drive from_drive to the drive to_drive. This is necessary when you chain-load some operating systems, such as DOS, if such an OS resides at a non-first drive. Here is an example:

grub> map (hd0) (hd1)
grub> map (hd1) (hd0)


The example exchanges the order between the first hard disk and the second hard disk.


You can get to GRUB's command line by pressing c during its menu.
 
Add those before root commands.
Did you mean I have to add them before this command : root hd(1,0) ?

Is case if the above configuration does not help,,,still I will be able to access Linux OS ?,,,or I have to use rescue CD,,,Any precaution you recognise I have to be aware of it ?
 
zillah said:
Did you mean I have to add them before this command : root hd(1,0) ?
Yes.
Is case if the above configuration does not help,,,still I will be able to access Linux OS ?,,,or I have to use rescue CD,,,Any precaution you recognise I have to be aware of it ?
That's what the command line is for, you can test various settings to see which are correct, and then add them to menu.lst file (or whichever config file you use). When testing in command line, you have to enter boot as the last command to boot.
 
Status
Not open for further replies.
Back