Ich kann die SATA-Festplatte (die in UDMA arbeitet) unter Linux nicht in den PIO-Modus ändern

Ich kann die SATA-Festplatte (die in UDMA arbeitet) unter Linux nicht in den PIO-Modus ändern

Ich versuche, DMA in meiner 3,5-Zoll-SATA-Festplatte zu deaktivieren, um im PIO-Modus zu arbeiten, da ich einige fehlerhafte Sektoren von einer fehlerhaften Festplatte mit GNU ddrescue wiederherstellen möchte

Ich verwende die PartedMagic Linux Live-CD und habe versucht, sie mit hdparm zu modifizieren. Die Festplatte verwendet UDMA6, also führe ich Folgendes aus:

hdparm -p4 /dev/sda  

Mir wurde der folgende Fehler angezeigt (und ich habe es mit mehreren Modi versucht, nicht nur mit PIO4):

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

Außerdem habe ich andere Linux-Livesysteme wie SystemRescueCD ausprobiert und den Kernelparameter hinzugefügtlibata.dma=0beim Booten. Dieselben Ergebnisse und es wird mir immer noch angezeigt, dass es mit UDMA6 verwendet wird ...

Ich habe über libata.force gelesen, aber ich verstehe den Befehl nicht sehr gut. Ich habe die folgenden Parameter beim Booten von SystemRescueCD ausprobiert und das System hat die Festplatte dieses Mal nicht erkannt, LOL (also habe ich danach erneut neu gestartet, ich lasse diesen Befehl beiseite).

libata.dma=0 libata.force=

Ich habe mir die BIOS-Optionen angesehen und keine DMA-Option oder ähnliches gefunden ...

Irgendwelche Vorschläge?

Inoffiziell:

Es handelt sich um einen alten Desktop-Computer (13 Jahre alt, x64 AMD), und ich habe keinen anderen Computer für die Wiederherstellung (mein anderer Computer ist ein Laptop, und ich kann die Festplatte nicht direkt an die Hauptplatine anschließen, ohne ein Chaos anzurichten …).

Antwort1

Ich bin nicht sicher, welchen Einfluss der PIO/DMA-Modus auf das Lesen fehlerhafter Sektoren durch ein Laufwerk hat.

Aber versuchen Sie Folgendes.

  • Deaktivieren Sie AHCI im BIOS.

  • Welche Kernel-Version ist auf Ihrer Live-CD? Versuchen Sie, etwas möglichst Aktuelles zu verwenden, z. B. eine Debian-Live-CD ( darauf sollten ddrescueund vorhanden sein – wenn nicht, können Sie sie verwenden). Einige Funktionen können eigenartig sein, wenn der Linux-Kernel zu alt ist.hdparmapt-get installhdparm

  • Booten Sie das System mit geöffnetem Gehäuse und abgezogenem Laufwerksstromkabel. Warten Sie, bis die Live-CD bootet, und schließen Sie dann vorsichtig das Stromkabel an. Dies ist sicher für SATA-Laufwerke, wenn Sie die Laufwerksplatine nicht berühren (nur an den Kanten anfassen und auf einer nicht statischen, erhöhten Oberfläche wie der Oberseite des Computers ablegen) und frei von statischer Elektrizität sind (berühren Sie den Metallteil des Gehäuses, bevor Sie das Laufwerk anfassen). Dadurch werden alle ATA-Sicherheitsbefehle umgangen, die das BIOS möglicherweise beim Booten sendet und stört. Versuchen Sie, die akzeptierte Antwort fürdiese Fragesagt aus, wenn das Laufwerk nach dem Verbinden nicht sichtbar ist.

EDIT: LautDasSATA-Laufwerke unterstützen den PIO-Modus möglicherweise nicht (PIO war eine EIDE-Sache, bevor SATA auf den Markt kam). Ich denke jedoch, wenn Sie AHCI im BIOS deaktivieren, emuliert der Controller im Wesentlichen EIDE, sodass es möglicherweise trotzdem funktioniert.

verwandte Informationen