Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
ata1.00: failed to execute command (DRDY ERR / UNC status) Linux / DevOps

ata1.00: failed to execute command (DRDY ERR / UNC status) — Решение ошибки диска в Linux

Обновлено: 18.08.2026  ·  Официальная база знаний

Архитектура ошибки и симптомы сбоя

Сообщение «ata1.00: failed to execute command (DRDY ERR / UNC status)» генерируется подсистемой ядра libata. Оно означает, что накопитель, подключенный к первому SATA-порту (ata1.00), не смог выполнить команду чтения/записи (обычно READ FPDMA QUEUED или WRITE FPDMA QUEUED). Флаг DRDY (Device Ready) подтверждает готовность контроллера диска к обмену, однако статус UNC (Uncorrectable Error) указывает на физическую невозможность прочитать данные из сектора даже с применением встроенных аппаратных алгоритмов ECC-коррекции накопителя.

Диагностическая таблица параметров сбоя

ПараметрЗначениеИнженерный смысл сбоя
ata1.00Target Device (Port 1, Master)Идентификатор контроллера и целевого SATA-накопителя в нумерации ядра.
DRDY (Device Ready)ATA Status Register FlagУстройство находится в рабочем состоянии и принимает входящие команды.
UNC (Uncorrectable)ATA Error Register FlagКонтроллер накопителя зафиксировал повреждение данных в секторе (Unrecoverable Read Error).
res 51/40:...Taskfile RegistersДетальный код ответа устройства, содержащий биты ошибки 0x40 (UNC) и состояние 0x51.

Пошаговое дерево решений и сценарии траблшутинга

Сценарий 1: Экспресс-анализ SMART сбойного накопителя

Определите имя устройства и проверьте счетчики физических дефектов:

# Определение соответствующего имени блочного устройства (например, /dev/sda):
ls -l /sys/block/sd*

# Проверка атрибутов деградации пластин/чипов:
sudo smartctl -A /dev/sda | grep -E "(Current_Pending_Sector|Reallocated_Sector_Ct|Offline_Uncorrectable|UDMA_CRC_Error_Count)"

Если значения Current_Pending_Sector или Offline_Uncorrectable превышают 0, на диске есть физические бэд-блоки.

Сценарий 2: Отключение NCQ (Native Command Queuing) для стабилизации связи

Если сбой вызван багами в прошивке контроллера диска или кабеле, временное отключение очереди команд NCQ предотвратит падение ядра:

# Временное снижение глубины очереди NCQ до 1 (отключение очередей):
echo 1 | sudo tee /sys/block/sda/device/queue_depth

# Перманентное отключение NCQ через параметры загрузки в /etc/default/grub:
GRUB_CMDLINE_LINUX="libata.force=noncq"
sudo update-grub

Сценарий 3: Локализация сбойного LBA и снятие посекторного образа

# Создание дампа диска через GNU ddrescue (без добивания битых секторов):
sudo ddrescue -d -n /dev/sda /mnt/backup/sda_rescue.raw /mnt/backup/sda_rescue.log

# Повторный проход только по проблемным блокам:
sudo ddrescue -d -r 2 /dev/sda /mnt/backup/sda_rescue.raw /mnt/backup/sda_rescue.log
Диск на сервере выдает UNC ошибки и зависает?
Не дожидайтесь окончательного разрушения магнитных головок или контроллера. Системные инженеры ITSTM оперативно снимут посекторный слепок, заменят накопитель в RAID-массиве и восстановят базы данных.
Практический опыт инженера: При возникновении ошибок UNC на SSD потребительского класса немедленно проверяйте процент износа (Media Wearout Indicator / Percentage Used). Контроллеры без DRAM-буфера при исчерпании резервных блоков выпадают в UNC лавинообразно.

Частые вопросы (FAQ)

Что конкретно означает статус UNC (Uncorrectable Error) в ATA-терминологии?

Статус UNC означает, что контроллер диска обнаружил в запрашиваемом секторе математическую ошибку контрольной суммы ECC, которую внутренний процессор накопителя не смог восстановить. Для операционной системы это означает невозможность получить данные из сектора (I/O Error).

Поможет ли форматирование диска избавиться от ошибок UNC?

Полное низкоуровневое форматирование (или перезапись нулями через dd) заставит контроллер диска выполнить процедуру Remap (переназначение сектора из резервной области). Однако если деградация поверхности продолжится, новые UNC ошибки появятся снова в ближайшее время.

Чем отличаются ошибки DRDY ERR от ошибок ICRC (Interface CRC)?

DRDY ERR с флагом UNC указывает на проблему чтения с самой поверхности диска или ячеек флеш-памяти. Флаг ICRC (Interface CRC Error) указывает на помехи и повреждение данных в процессе передачи по кабелю между диском и материнской платой.

Почему после ошибки libata ядро понижает скорость диска с SATA 6.0 Gbps до 3.0 или 1.5 Gbps?

Подсистема libata в ядре Linux использует ступенчатый механизм восстановления (Error Handling). При повторяющихся сбоях передачи ядро последовательно сбрасывает скорость линка (speed down) и отключает NCQ, пытаясь сохранить работоспособность устройства.