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:
CONFIG_SATA_AHCI=m CONFIG_SATA_INIC162X=m CONFIG_SATA_MV=m CONFIG_SATA_NV=m CONFIG_SATA_PMP=y CONFIG_SATA_PROMISE=m CONFIG_SATA_QSTOR=m CONFIG_SATA_SIL=m CONFIG_SATA_SIL24=m CONFIG_SATA_SIS=m CONFIG_SATA_SVW=m CONFIG_SATA_SX4=m CONFIG_SATA_ULI=m CONFIG_SATA_VIA=m CONFIG_SATA_VITESSE=m
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
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop













{ 5 comments… read them below or add one }
On openSuSE all drives are shown as /dev/sd? no matter what kind of drives they are including usb drives.
no never Becoz system automatically generated partition name . if u want to change then u can change becouz linux is open sources
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! :)
Ed.
Thanks a lot, Vivek,
Following option works for me:
set SATA Controller Mode option to “Enhanced”
It also increases the performance of my HDD.
Rahul
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.