Обновлено 8 ноября 2026
Как узнать свой контроллер и драйвер
lspci -nnk | grep -iA3 -E "sata|ahci|raid|ide"
Строка Kernel driver in use показывает, какой драйвер занял контроллер. Возможности контроллера AHCI видны в журнале загрузки:
dmesg | grep -i ahci
ahci 0000:00:17.0: AHCI 0001.0301 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
ahci 0000:00:17.0: flags: 64bit ncq sntf pm led clo only pio slum part ems deso sadm sds apst
Флаг ncq означает поддержку NCQ, pm поддержку port multiplier, part и slum состояния энергосбережения линка, sds и sadm поддержку DevSleep.
Таблица поддержки
| Контроллер | Драйвер | NCQ | Примечание |
|---|---|---|---|
| Intel ICH6-ICH10, PCH (AHCI) | ahci | да | Самый распространённый вариант. Горячая замена работает, если порт отмечен в BIOS как Hot Plug. |
| Intel ICH5-ICH10 (режим IDE) | ata_piix | нет | Режим совместимости: NCQ и горячая замена недоступны. Переключите контроллер в AHCI. |
| Intel RST (режим RAID) | ahci | да | Массивы Intel RST собираются через mdadm с метаданными IMSM. Часть установщиков Linux не видит диск в этом режиме, проще включить AHCI. |
| AMD SB600-SB950, FCH (AHCI) | ahci | да | Для ранних ревизий SB600 и SB700 в драйвере есть обходы аппаратных ошибок, настраивать ничего не нужно. |
| NVIDIA nForce 4 (CK804, MCP04) | sata_nv | с оговорками | NCQ работает только в режиме ADMA (параметр sata_nv.adma). |
| NVIDIA MCP51, MCP55, MCP61 | sata_nv | с оговорками | NCQ доступен через программный режим SWNCQ (параметр sata_nv.swncq). |
| NVIDIA MCP65-MCP89 | ahci | да | Чипсеты этого поколения работают как обычный AHCI-контроллер. |
| JMicron JMB36x | ahci | да | SATA-порты обслуживает ahci, порт IDE (если он есть) обслуживает pata_jmicron. |
| ASMedia ASM1061, ASM1062, ASM1166 | ahci | да | Частый контроллер на платах расширения PCIe. ASM1166 даёт шесть портов на одной плате. |
| Marvell 88SE91xx, 88SE92xx | ahci | да | При включённом IOMMU у части моделей были ошибки DMA, в ядре для них есть исправления. |
| Marvell 88SX50xx | sata_mv | нет | Первое поколение серверных контроллеров Marvell, NCQ в sata_mv для них нет. |
| Marvell 88SX60xx, 88SX7042 | sata_mv | да | Второе поколение серверных контроллеров Marvell, NCQ поддерживается. |
| Silicon Image SiI 3112, 3114, 3512 | sata_sil | нет | Простые контроллеры без NCQ. С частью старых дисков Seagate драйвер ограничивает размер запроса. |
| Silicon Image SiI 3124, 3132, 3531 | sata_sil24 | да | Поддерживают NCQ и port multiplier, поэтому часто стоят в корзинах eSATA. |
| VIA VT6420, VT6421, VT8237 | sata_via | нет | Старые контроллеры без NCQ. У VT6421 есть дополнительный порт IDE. |
| Promise SATA150 и SATA300 TX | sata_promise | нет | Аппаратного RAID у этих плат нет, массивы собираются программно через mdadm. |
| SiS 180, 964, 965 | sata_sis | нет | Старые чипсеты SiS. |
| ULi M5281, M5287, M5289 | sata_uli | нет | Старые чипсеты ULi (бывшая ALi). |
| AHCI в SoC: i.MX, Armada, Allwinner | ahci | с оговорками | Платформенные варианты драйвера: ahci_imx, ahci_mvebu, ahci_sunxi и другие. Возможности зависят от чипа. |
Почему почти везде ahci
AHCI это стандартный интерфейс SATA-контроллера. Если чип ему следует, ему подходит общий драйвер ahci, и производитель не важен. Отдельные драйверы sata_* нужны контроллерам, выпущенным до массового перехода на AHCI, и серверным чипам со своей архитектурой.
Если диск не виден
- Проверьте режим контроллера в BIOS. В режиме RAID часть установщиков диск не показывает: переключите на AHCI.
- Посмотрите журнал:
dmesg | grep -iE "ata[0-9]". СтрокаSATA link downзначит, что диск не отвечает: проверьте кабели и питание. - Строка
SATA link upбез последующего описания устройства значит, что линк есть, но диск не прошёл инициализацию. Попробуйте другой порт. - Для плат расширения проверьте, что модуль драйвера загружен:
lsmod | grep -E "ahci|sata".
Что умеет libata поверх драйвера (TRIM, горячая замена, энергосбережение), собрано на странице возможностей libata.