While installing Gentoo AMD64 onto my machine, I had an encounter with this problem. A friend helped me solve the issue by teaching me this command.
dmesg | grep hd
Now when I ran it on my computer we realized that my problem wasn't the hardware configuration but it was hitting the wrong device.
testing NMI watchdog ... OK.
ide0: BM-DMA at 0x20b0-0x20b7, BIOS settings: hda
hda: ATAPI DVD DD 2X16X4X16, ATAPI CD/DVD-ROM drive
hdb: HDS722580VLAT20, ATA DISK drive
hdb: max request size: 512KiB
hdb: 160836480 sectors (82348 MB) w/1794KiB Cache, CHS=16383/255/63, UDMA(100)
hdb: cache flushes supported
hda: ATAPI 63X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex
e1000: eth0: e1000_watchdog: 10/100 speed: disabling TSO
What this means is that most likely your harddrive is linked to the ide cable in the slave position instead of the master, and another device such as your cd-rom (my case) is on the master of the ide cable.
The best way to resolve this issue is to seperate the two devices and put each on there own ide and both on master. However, if that is not possible in your situation as it is in mine, you might have to leave it as is and just use "fdisk /dev/hdb" instead of "fdisk /dev/hda"