Linux SATA驱动器显示为/dev/hda而不是/dev/sda

时间:2020-01-09 10:41:55  来源:igfitidea点击:

问题描述:我的SATA驱动器显示为/dev/hda而不是/dev/sda。
如何解决此问题,并确保在Linux操作系统下获得/dev/sda和SATA的速度?

解决方法:这通常与BIOS设置有关。
重新启动系统并进入BIOS设置程序:

检查BIOS设置

确保启用了并行ATA

确保本机模式操作设置为串行ATA

另外,将" SATA Controller Mode"(SATA控制器模式)选项设置为" Enhanced"(增强)

保存更改并重新启动服务器。
现在,Linux应该将SATA驱动器从/dev/hda重命名为/dev/sdb。

确保内核使用SATA支持进行编译

通常,来自Debian/RHEL/Rehat/Fedora的供应商内核都启用了SATA。
有时您可能会编译自定义内核。
如果是这种情况,请运行以下命令以查找是否编译了SATA内核支持:

grep -i SATA /boot/config-$(uname -r)

输出示例:

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

如果启用了DMA,请确保已加载ata_piix和libata驱动程序,并且磁盘显示为/dev/sda:

lsmod | egrep 'ata_piix|libata'

输出示例:

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