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

781
NullPointer666

Ich versuche, DMA auf meinem SATA-3,5-Zoll-Festplattenlaufwerk zu deaktivieren, um im PIO-Modus zu arbeiten, da einige fehlerhafte Sektoren von einer defekten Festplatte mit GNU ddrescue wiederhergestellt werden

Ich verwende PartedMagic Linux Live-CD und habe versucht, sie mit hdparm zu ändern. Die Festplatte verwendet UDMA6, so dass ich Folgendes ausführen kann:

hdparm -p4 /dev/sda 

Es zeigte mir den folgenden Fehler (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 

Ich habe auch andere Linux-Live-Systeme wie SystemRescueCD ausprobiert, die den Kernel-Parameter libata.dma = 0 beim Booten hinzugefügt haben. Gleiche Ergebnisse und es zeigt mir immer noch, dass UDMA6 verwendet wird ...

Ich las über libata.force, verstehe den Befehl jedoch nicht sehr gut. Ich habe die folgenden Parameter beim Systemstart von SystemRescueCD ausprobiert und das System hat die Festplatte dieses Mal nicht erkannt (also habe ich den Befehl erst einmal neu gestartet).

libata.dma=0 libata.force= 

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

Irgendwelche Vorschläge?

Off the record:

Es ist ein alter Desktop-Computer (13 Jahre x64 AMD), und ich habe keinen anderen Computer, der die Wiederherstellung durchführt (mein anderer Computer ist ein Laptop und ich kann die Festplatte nicht direkt mit dem Motherboard verbinden, ohne ein Durcheinander zu verursachen. .)

0
1. Sie deaktivieren das normalerweise nicht auf einer Festplatte. Sie ändern ihn am Controller, der dann den alten PIO-Modus auf die Festplatte überträgt. Wenn Ihr alter Desktop nur klassische IDE spricht, wird diese automatisch verwendet, jedoch sowohl Controller (Desktop) als auch Datenträger. 2. Warum willst du das? Ich habe den Satz gelesen, in dem es heißt: "Einige schlechte Sektoren wiederherstellen", aber warum sollte man das nicht im normalen AHCI-Modus tun? Hennes vor 6 Jahren 0
Welchen Hinweis haben Sie, dass Sie den PIO-Modus benötigen? Soweit ich weiß, sollte ddrescue ** in beiden arbeiten. cybernard vor 6 Jahren 0
Ja, ddrescue funktioniert perfekt im DMA-Modus. Eigentlich habe ich viele erfolgreiche Bilder auf Multiples HDD gemacht. Die Sache ist: In Festplatten-Image-Forensik gibt es einige Fälle, in denen Sie sich mit dem Ausfall von Festplatten in ganz unterschiedlichen Ansätzen auseinandergesetzt haben, um eine bessere Chance zu haben, die Lesechancen von Badblocks zu verbessern. NullPointer666 vor 6 Jahren 0
Dies ist einer dieser Fälle ... Ich habe 86% der Festplatte wiederhergestellt, stecke jedoch in einem Bereich fest, in dem jedes Mal, wenn ich einen Badblock fand, die Verbindung mit einem E / A-Fehler getrennt wurde und ddrescue alle Sektoren als nicht verschrottet markiert. Ich habe verschiedene Optionen (vorwärts, rückwärts, kein Cache, springende Blöcke ...) und kann das bestätigen: Jedes Mal, wenn ich einen Badblock gefunden habe, trennt sich meine Festplatte. Ich weiß, dass viele Experten von foresincs in den PIO-Modus wechseln, weil Sie in einigen Fällen, in denen Ihre Festplatte ausfällt (z. B. E / A-Fehler), bessere Ergebnisse erhalten. Ich habe nie versucht, PIO einzustellen, weil ich beim Erstellen des Images nie Probleme hatte, aber jede Festplatte ist eine Welt NullPointer666 vor 6 Jahren 0
Vielen Dank auch für Ihre Zeit. @ Hennes Es ist alt, aber nicht so alt. Das Motherboard ist wirklich schön und wurde mit sechs SATA-Anschlüssen geliefert. Im BIOS werden die primäre Master-IDE, die sekundäre IDE und die 6 SATA-Optionen angezeigt. Die Festplatte wird als SATA5-Diskette erkannt. Im SATA5-Menüeintrag kann ich die Option "Extended IDE" (auto) sehen. Wenn ich sie ausschalte, ist die Platte immer noch im allgemeinen Menü des BIOS aufgeführt, aber ihre Attribute verschwinden innerhalb dieses Menüs (Größe, Zylinder ...). In primären und sekundären IDE-Einträgen habe ich die UDMA-Option aufgehoben (sie erscheint nicht in den SATAs-Einträgen). NullPointer666 vor 6 Jahren 0
Nur aus Neugier: Warum wird der PIO-Modus besser gelesen? Wenn der eingebettete Controller der Festplatte den Block nicht lesen kann, spielt es keine Rolle, mit welcher Methode er Daten an den Host überträgt. Der PIO-Modus würde helfen, wenn das EC beschädigt wird und schlechte Übertragungen über DMA stattfinden. Dies ist jedoch ein sehr seltener Fehlermodus. dirkt vor 6 Jahren 0

1 Antwort auf die Frage

0
LawrenceC

Nicht sicher, wie sich der PIO / DMA-Modus darauf auswirkt, wie ein Laufwerk fehlerhafte Sektoren liest.

Aber versuch es mal.

  • Deaktivieren Sie AHCI im BIOS.

  • Was ist die Kernel-Version auf Ihrer Live-CD? Versuchen Sie, etwas so aktuelles wie möglich zu verwenden, wie eine Debian-Live-CD (sollte ddrescueund sollte hdparmdarauf vorhanden sein - wenn nicht, können Sie apt-get installsie.) Einige hdparmFunktionen sind möglicherweise etwas ausgefallen, wenn der Linux-Kernel zu alt ist.

  • Bootsystem mit offenem Gehäuse und nicht angeschlossenem Netzkabel. Warten Sie, bis die CD live ist, und schließen Sie das Netzkabel vorsichtig an. Dies ist für SATA-Laufwerke sicher, wenn Sie die Laufwerksplatine nicht berühren (nur an den Kanten anfassen und auf einer nicht statischen, erhöhten Oberfläche wie z. B. auf der Oberseite des Computers ablegen) und frei von statischer Elektrizität sind ). Dadurch werden alle ATA-Sicherheitsbefehle umgangen, die das BIOS beim Booten möglicherweise sendet und eingreift. Versuchen Sie zu tun, was die akzeptierte Antwort für diese Frage aussagt, wenn das Laufwerk nach dem Herstellen der Verbindung nicht sichtbar ist.

EDIT: Nach dieser SATA - Laufwerke können nicht PIO - Modus unterstützen (PIO war ein EIDE Sache vor SATA eintraf). Ich denke jedoch, wenn Sie AHCI im BIOS deaktivieren, emuliert der Controller im Wesentlichen EIDE, so dass es trotzdem funktionieren kann.

Wie ich in den Kommentaren oben gesagt habe, werden auf Ihren Festplatten einige Lese- oder E / A-Fehler angezeigt. Durch das Deaktivieren von DMA im Controller können Sie bessere Chancen erhalten, genauso wie Sie mit USB-HDD-Fehlern besser umgehen können, wenn Sie Ihre externe Festplatte direkt an anschließen Ihr SATA-Anschluss Ihres Motherboards. Ist langsamer, aber es kann etwas Licht bringen ... Ich brauche nie alternative Methoden wie diese ... bis jetzt. Übrigens, ich habe keine Option zum Deaktivieren von AHCI im Bios. Ich kann nur ACHI in der JMicron Raid-Controller-Option auswählen (was automatisch ist), aber ich nehme an, dass es mit Raid zu tun hat und ich in diesem Computer kein RAID verwende. NullPointer666 vor 6 Jahren 0
Möglicherweise müssen Sie ddrescue anweisen, nach dem Sektor zu starten (in eine andere Datei schreiben und sie später erneut kombinieren), wodurch das Laufwerk einen Fehler erzeugt. Wenn alle Sektoren danach einen Fehler melden, haben Sie etwas Ungewöhnliches ... LawrenceC vor 6 Jahren 0
Es besteht ein großer Unterschied zwischen dem direkten Anschließen von USB-Festplatten an SATA (dadurch wird die SATA-zu-USB-Brücke entfernt, was insbesondere bei billigen chinesischen Festplatten mit Fehlern in der Firmware im Weg stehen kann) und der Wechsel vom DMA-Modus in den PIO-Modus (was nur beim EC der HDD hilft ist beschädigt). dirkt vor 6 Jahren 0
Ich habe das System neu gestartet, damit meine Festplatte wieder richtig erkannt wird, und ich greife das Problem in eine andere Richtung an, indem ich den ersten fehlerhaften Block durcheinanderbringe und das Ende der Domäne als nicht versucht markiere (weil ich dachte, es sei seltsam und wahrscheinlich war der letzte Block nicht) Ich hatte recht, ich habe alle umgebenden Bereiche wiederhergestellt, aber der erste fehlerhafte Block hat zur Folge, dass sich die CD getrennt hat. Alles lief gut, aber dann fand ich einen anderen fehlerhaften Block und tat dasselbe (den Rest der Domäne als nicht verschrottet kennzeichnen) und als Badblock der letzte Block der Domain) Ich weiß, dass wahrscheinlich nur der erste Block den Badblock blockiert NullPointer666 vor 6 Jahren 0
Was jedoch passiert ist, dass die Festplatte jedes Mal, wenn ein Badblock erkannt wird, nicht erkannt wird (E / A-Fehler) und ddrescue auf seine eigene Weise stoppt, indem der Rest als nicht verschrottet markiert wird ... und natürlich muss ich den Computer neu starten. Übrigens, ich habe mit dieser Image-Recovery-Sache angefangen, weil smart mir gesagt hat, dass ich einen neu zugewiesenen Sektor habe und die Platte eines Tages ausfallen wird ... Ich könnte noch einmal versuchen, die Image-Recovery in den verbleibenden 3 GB zu machen, die ich wollte PIO-Ding und andere Ansätze für das Lernen. Auf jeden Fall ist meine Partitionstabelle wahrscheinlich im Bild und ich habe fast das Bild perfekt. NullPointer666 vor 6 Jahren 0
@LawrenceC Das stimmt, die Analogie war nicht die beste. Ich habe jedoch viele forensische Experten gelesen und gehört, die sagen, dass Sie die Lesemöglichkeiten in Badblocks mit dem PIO-Modus oder sogar mit einer anderen Schnittstelle wie UDMA3 verbessern können. Statt UDMA6 können Sie die Situation verbessern. NullPointer666 vor 6 Jahren 0
@LawrenceC In Bezug auf Ihre aktualisierte Antwort war dies eines der Dinge, von denen angenommen wurde, dass SATA PIO nicht unterstützt. Ich habe über PIO in der Forensik gelesen, aber ich habe nie nichts gelesen, wenn es sich um ein SATA- oder IDE-Diskettenszenario handelt. Dies erklärt, warum die Diskette weiterhin UDMA verwendet. Ich werde die BIOS-Einstellungen noch einmal überprüfen. Ich suche nach der AHCI-Option. NullPointer666 vor 6 Jahren 0