Я не могу перевести жесткий диск SATA (работающий в UDMA) в режим PIO в Linux

Я не могу перевести жесткий диск SATA (работающий в UDMA) в режим PIO в Linux

Я пытаюсь отключить DMA на моем жестком диске SATA 3,5", чтобы он работал в режиме PIO, поскольку для восстановления некоторых поврежденных секторов с неисправного диска с помощью GNU ddrescue

Я использую PartedMagic Linux live CD и попытался изменить его с помощью hdparm. Диск использует UDMA6, поэтому я запускаю:

hdparm -p4 /dev/sda  

Он показал мне следующую ошибку (я пробовал в нескольких режимах, не только PIO4):

Attempting to set PIO mode to 0
HDIO_SET_PIO_MODE failed: Inappropriate ioctl for device

Также я пробовал другие системы Linux Live, такие как SystemRescueCD, добавляя параметр ядраlibata.dma=0во время загрузки. Тот же результат, и он все еще показывает мне, что используется с UDMA6...

Я читал о libata.force, но не очень хорошо понимаю эту команду. Я попробовал следующие параметры во время загрузки SystemRescueCD, и на этот раз система не распознала жесткий диск LOL (поэтому я снова перезагрузил систему после этого, но оставляю эту команду в стороне).

libata.dma=0 libata.force=

Я посмотрел на параметры BIOS и не нашел ни одного параметра DMA или чего-то подобного...

Какие-либо предложения?

Не для протокола:

Это старый настольный компьютер (13-летний x64 AMD), и у меня нет другого компьютера, чтобы выполнить восстановление (мой второй компьютер — ноутбук, и я не могу подключить диск напрямую к материнской плате, не натворив кучу дел...)

решение1

Не уверен, как режим PIO/DMA влияет на то, как диск будет считывать поврежденные сектора.

Но попробуйте вот это.

  • Отключите AHCI в BIOS.

  • Какая версия ядра на вашем live CD? Попробуйте использовать что-то как можно более новое, например, Debian live CD (на нем должны быть ddrescueи hdparm- если нет, вы можете apt-get installих использовать.) Некоторые hdparmфункции могут работать странно, если ядро ​​Linux слишком старое.

  • Загрузите систему с открытым корпусом и неподключенным кабелем питания привода. Подождите, пока загрузится Live CD, затем осторожно подключите кабель питания. Это безопасно для приводов SATA, если вы не касаетесь платы привода (беритесь только за края и устанавливайте на нестатическую возвышенную поверхность, например, на верхнюю часть компьютера) и не подвержены статическому электричеству (дотроньтесь до металлической части корпуса перед тем, как брать привод). Это позволит обойти любые команды безопасности ATA, которые BIOS может отправлять при загрузке и мешать работе. Попробуйте сделать то, что принято в качестве ответа наэтот вопросговорит, если диск не виден после подключения.

EDIT: СогласноэтотДиски SATA могут не поддерживать режим PIO (PIO был EIDE до появления SATA). Однако я думаю, что если вы отключите AHCI в BIOS, контроллер по сути эмулирует EIDE, так что он все равно может работать.

Связанный контент