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

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

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.


In my case (Dell Latitude 5501), the solution was to change SATA option from RAID to AHCI in BIOS settings.


The solution for me, when other approaches failed, was to run a BIOS update from Windows.

I was struggling with installing new Ubuntu alongside Windows 10 for one evening. The installer never found any other disks other than the USB drive. Tried everything that I could find posted as viable solutions in the interwebs:

  1. Disabling Windows fast boot (and hibernation).
  2. Disabling secure boot from BIOS.
  3. Changing SATA settings to ACHI.
  4. Removing Linux partitions (along all of my personal data) using tools in Windows.

...until I decided to run a BIOS update in Windows. That finally did the trick.