# Grub gives hd1 cannot get C/H/S values

## jagdpanther

After a motherboard (Asus X99-A) firmware update (1203 from older 1004) my

dual boot system (Gentoo primary, Win7 second) will no longer chainload the 

Windows disk.  I receive the following error from Grub:

hd1 cannot get C/H/S values

Below is my grub.cfg file that was working for both OSes prior to the firmware

update.  (I want the firmware update because it fixed an issue with memory and 

I can now use Corsair's XMP feature to run my memory at a faster clock speed

without boosting voltage.)

I have tried using 'nativedisk' in my grub.cfg  to no avail.

Also, on this motherboard I am using legacy, not uefi boot options.  Using the 

previous BIOS firmware, there always seemed to be a BIOS / Grub drive

numbering issue.  I can boot the windows disk via the BIOS boot menu.

```
# grub2 configuration

set timeout=50

menuentry "Linux 3.17.7-rr02" {

  insmod gzio

  insmod part_gpt

  insmod ext2

  set gfxpayload=1920x1200x8

  # NOTE it appears that grub changes the drive number order

  #   root should be hd1, the second hard drive

  root=hd0,gpt3

  linux /kernel-3.17.7-rr02 root=/dev/sdb2 

}

menuentry 'Windows 7 (bios/msdos loader) (on /dev/sdc2)' {

  # using msdos partition not gpt, because Windows 7 REQUIRES

  #   UEFI boot if using gtp partition

  insmod part_msdos

  insmod ntfs

  insmod chain

  # NOTE it appears that grub changes the drive number order

  #   root should be hd2, the third hard drive

  set root='hd1,msdos1'

  chainloader +1

}

```

Any suggestions on how to get grub and the windows partition working again?

----------

## krinn

I know nothing about grub2, but as nobody gave you an answer:

Are you sure your entry is valid?

if grub2 understand root=hd0,gpt3  on your linux partition ; then shouldn't you use some similar entry for the windows one instead of set root='hd1,msdos1' 

----------

## Naib

C/H/S ... everything should be LBA   :Wink: 

YOu mention a firmware/bios update. It might be worth going into the BIOS and confirming that the drives are still being detected in the correct order. While Linux might be a bit more ... tolerant of moving drives (UUID, LABEL's) windows most certainly isn't

----------

## jagdpanther

Naib,  Thanks for the reply.

Yes I checked BIOS.  The drives according to grub have never been detected properly.  As noted in the comment of my grub.cfg, My Linux hard drive is plugged into the second SATA port (hd1 for grub) but I use hd0 in grub.cfg.  Once the Linux kernel takes over, it is again the second drive.  The windows hard drive should be the third in the system, but grub sees it as the second so I use hd1.  I have tried modifying the drive numbers to no avail.   Because I have no OS on the first hard drive, I wonder if BIOS is not counting that hard drive?

In fstab I am using /dev/sdbX   not uuid's so I don't think this is Linux being tolerant ... 

I still can't get grub to boot windows.  (The bios boot manager will though.)

----------

