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
- Email FAQ to a friend
- Printable version
- Rss Feed
- Last Updated: 11-18-08

{ 1 comment… read it below or add one }
On openSuSE all drives are shown as /dev/sd? no matter what kind of drives they are including usb drives.