≡ Menu

Linux SATA Drive is Being Displayed as /dev/hda Instead Of /dev/sda

Q. My SATA drive is being displayed as /dev/hda instead of /dev/sda. How do I fix this problem and make sure I get /dev/sda and speed of SATA under Linux operating systems?

A. This is usually related to BIOS settings. Reboot your system and enter into BIOS setup:

Check BIOS settings

Make sure Parallel ATA is "Enabled"

Make sure "Native Mode Operation" is set to "Serial ATA"

Also, set SATA Controller Mode option to "Enhanced"

Save the changes and reboot the server. Now Linux should rename the SATA drive from /dev/hda to /dev/sdb.

Make sure kernel is compiled with SATA support

Usually vendor kernel from Debian/RHEL/Rehat/Fedora comes with SATA enabled. Sometime you may compile custom kernel. If this is case run following command to find out if SATA kernel support is compiled:
grep -i SATA /boot/config-$(uname -r)
Sample output:


Make sure ata_piix and libata driver loaded and the disk shows as /dev/sda if DMA is enabled:
lsmod | egrep 'ata_piix|libata'
Sample output:

ata_piix               24580  5
libata                177312  5 pata_acpi,ata_generic,pata_marvell,ata_piix,ahci
scsi_mod              155212  9 ib_iser,iscsi_tcp,libiscsi,scsi_transport_iscsi,sbp2,sr_mod,sd_mod,sg,libata
dock                   16656  1 libata

{ 5 comments… add one }

  • John Jeffers November 29, 2008, 12:29 am

    On openSuSE all drives are shown as /dev/sd? no matter what kind of drives they are including usb drives.

  • ranjeet August 24, 2009, 1:00 pm

    no never Becoz system automatically generated partition name . if u want to change then u can change becouz linux is open sources

  • Edward Quick August 2, 2010, 2:09 pm

    Thanks Vivek, I just installed centos 5.5 which was running like a dog until I spotted I had the same problem you describe above. My bios options for SATA were a bit different to yours but after playing with those, it’s all working. Nice one! :)

  • Rahul Panwar November 20, 2010, 5:55 am

    Thanks a lot, Vivek,
    Following option works for me:
    set SATA Controller Mode option to “Enhanced”

    It also increases the performance of my HDD.


  • Mark December 13, 2011, 6:59 am

    I was having the same symptoms as you, but none of your solutions helped because my hard drive was corrupted. It took almost 3 hours to get to 50% formatted — I wasn’t really paying attention. I’ve formatted IDE133 drives in less than a minute with centos — so I figured something was up. I popped another SATA drive into my box, and I was installing centos, and past formatting in no time.

Leave a Comment

   Tagged with: , , , , , , , , , , , , ,