Why does the Ubuntu installer not detect the hard drive during installation?

I have exactly the same problem. I have the same ASRock motherboard and I tried different Linux distros without success. Finally Ubuntu 12.10 live usb booted correctly but my hard drive wasn't read.

The solution for me was to switch SATA connector: The hard disk was connected to the SATA3_0 connector and I switch it to one of the SATA2 connectors (SATA2_1 to be exact). It works now. I didn't check if Windows (which is installed in a partition of that disk) complains about this.


As workaround I went in the BIOS and set the SATA Mode to "IDE" and the SATA3 Mode to "AHCI". After doing this the installer did detect the hard drive and installed Ubuntu alongside the other operating system.

I called it a workaround and not a fix because the other operating system won't load with the SATA3 Mode set to AHCI, so every time I need to switch OS I am forced to go in the BIOS and change the SATA3 Mode.

Another problem I had after applying the workaround was that the boot loader didn't show up on the next boot but the other operating started booting without any prompt. I've fixed this other problem by identifying the Ubuntu partition with:

sudo fdisk -l

(which was sda6) and then running:

sudo mount /dev/sda6 /mnt
sudo grub-install --root-directory=/mnt/ /dev/sda

Some SATA ports have different controllers on the motherboard. Often times these extra ports are for eSATA, SATA3, SATA6, etc. When these ports are operating in new-ish modes then it is possible that Ubuntu wont understand how to use them. Switching SATA ports and changing the modes to the most universal often solves these types of problems.