ubuntuusers.de

welche Dateien nutzen bestimmte Festplattenblöcke

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

bjedpcrt

Anmeldungsdatum:
8. Februar 2011

Beiträge: 90

Hallo Community,

ich hatte vor n paar Jahren eine kleine shell-Umgebung genutzt mit einer Auswahl von Kommandos, wo man feststellen konnte, welche Dateien bestimmte Festplattenblöcke nutzen. Ich hatte diese Tools benutzt, um bei defekten Blöcken die angeschlossenen Dateien herauszufinden und durch Umbenennen so kenntlich zu machen, dass man sie nicht mehr anfassen soll.

Leider weiß ich nicht mehr, wie diese kleine Shellumgebung heißt.

Weiß jemand Rat?

Danke im Voraus

jug Team-Icon

Ehemalige
Avatar von jug

Anmeldungsdatum:
19. März 2007

Beiträge: 12335

Wohnort: Berlin

bjedpcrt schrieb:

Ich hatte diese Tools benutzt, um bei defekten Blöcken die angeschlossenen Dateien herauszufinden und durch Umbenennen so kenntlich zu machen, dass man sie nicht mehr anfassen soll.

Zwei Punkte:

  1. Eine Festplatte verwaltet ihre defekten Sektoren und die Reserve selbständig. Wird ein Fehler festgestellt, werden die Blöcke automatisch als defekt markiert und zukünftig nicht mehr verwendet. Statdessen werden diese Sektoren durch eine Reserve ersetzt. ▶ Festplattenstatus kann helfen darüber einen Überblick zu behalten.

  2. Wenn eine Festplatte defekte Sektoren meldet und du meinst dort eingreifen zu müssen, dann ist der logisch richtige und notwendige Eingriff deinerseits: die kaputte Festplatte ersetzen! Und dazu gibt es keine Alternative, wenn dir deine Daten irgendwas wert sind.

~jug

bjedpcrt

(Themenstarter)

Anmeldungsdatum:
8. Februar 2011

Beiträge: 90

Ich bin darüber informiert, mir geht es nur darum, diese Dateien zu identifizieren, von außen umzubenennen und wenns geht zu ersetzen, sodass sie andere "gesunde" Blöcke belegen können. Ich hab festgestellt, dass seit einem halben Jahr keine weiteren defekte Blöcke hinzugekommen sind.

Also bitte exakt meine Frage beantworten.

Eine neue Festplatte ist geplant, ich brauch nur dieses (noch) unbekannte Tool, um auch später mal, wenn so etwas woanders vorkommt, schnell betroffene Dateien aufzudecken, die defekte Blöcke verwenden.

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5057

bjedpcrt schrieb:

Weiß jemand Rat?

man stat.

bjedpcrt

(Themenstarter)

Anmeldungsdatum:
8. Februar 2011

Beiträge: 90

hmm... mit stat kann man vom file/directoy auf die Anzahl von Blöcken schließen. ich hab allerdings dort den umgekehrten Weg nicht gefunden: von bestimmten Blöcken zu den files

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

Dateisysteme arbeiten eigentlich nur in die andere Richtung (Datei → Blöcke). Das kannst du mit filefrag oder hdparm--fibmap abfragen.

Für Abfragen in die andere Richtung gibt es keinen Standard, du kannst also entweder: für alle Dateien im Dateisystem mit filefrag abfragen und dann schauen ob der gesuchte Block dabei ist. Oder du nimmst ein spezielles Tool fürs jeweilige Dateisystem.

Bei ext* kann man es glaube ich mit debugfs herausfinden, genauer Befehl fällt mir gerade nicht ein.

bjedpcrt

(Themenstarter)

Anmeldungsdatum:
8. Februar 2011

Beiträge: 90

hdparm --fibmap klappt gut soweit. Da könnte man es herausfinden, muss allerdings alle Dateien "abklopfen" was offenbar sehr lange dauert. Hmmm...

Frage: wie werden die Daten bei der Ausgabe ermittelt? geht das tool physikalisch die Sektoren durch oder wird ein zentraler Bereich ausgelesen, wo die Dateiinformationen gespeichert sind und was passiert, wenn hdparm eine Datei abklopft die einen defekten Sektor nutzt? Hängt sich das tool auf?

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

Das sind Dateisystem-Metadaten. Das Dateisystem weiß welchen Block es für eine gegebene Datei lesen muss. Das Dateisystem weiß nicht (unbedingt), welcher Datei ein gegebener Block gehört. Dateisysteme brauchen diese Operation normalerweise nicht, da gibts nur eine Block ist frei oder nicht frei.

Was du eigentlich gesucht hast war wahrscheinlich debugfs icheck <blocknummer> Print a listing of the inodes which use the one or more blocks specified on the command line.

und ncheck <inodenummer> um dann den Dateinamen

bjedpcrt

(Themenstarter)

Anmeldungsdatum:
8. Februar 2011

Beiträge: 90

Ich hab n ntfs-filesystem auf der angeschlagenen Partition und konnte mit debugfs sie nicht öffnen. Hab aber ntfscluster entdeckt und mit "ntfscluster -c clusternummer-clusternummer device" ein file gelistet bekommen, was offenbar die defekten Blöcke=cluster nutzt.

Ich hoffe, dass "badblocks" die selben Zahlen benutzt wegen cluster=block, was ich vermutet habe

Antworten |