Bestimmen Sie, welche Sektoren einer Festplatte eine bestimmte Datei belegt.

915
HighCommander4

Gibt es eine Möglichkeit, zu sehen, welche Sektoren der Festplatte eine Datei belegt?

Das Dateisystem ist unter Linux ext3 oder ext4.

2
Natürlich gibt es einen Weg, aber es ist nicht genau das, was man als "leicht" bezeichnen würde. Was versuchst du zu erreichen? msw vor 14 Jahren 0
Ich führe eine Operation aus, die das Lesen einer großen Menge von Eingangsdaten erfordert, und ich möchte die Ursache einiger Anomalien bei der Leseleistung aufzeigen. Ich möchte wissen, ob es einen Zusammenhang zwischen der Leseleistung und dem physischen Layout der Eingabedateien auf der Festplatte gibt. Dies erfordert, dass Sie wissen, wie sich das physische Layout der Eingabedateien auf der Festplatte befindet. HighCommander4 vor 14 Jahren 0

1 Antwort auf die Frage

2
Slartibartfast

Wenn Sie nach Blöcken für die Datei /tmp/squiggle/smurf.tgz im / tmp / -Dateisystem suchen, die von / dev / sdg4 eingehängt werden, geben Sie Folgendes ein:

# debugfs /dev/sdg4 > bmap /squiggle/smurf.tgz 0 > bmap /squiggle/smurf.tgz 1 > bmap /squiggle/smurf.tgz 2 > bmap /squiggle/smurf.tgz 3 .... 

Suchen Sie das?

Ja, das scheint das zu sein, was ich suche. Ich habe ein paar Folgefragen: 1) Gibt es eine Möglichkeit, dies ohne Root-Berechtigungen zu tun? 2) Kann dieses Skript erstellt werden oder können diese Nummern programmgesteuert abgefragt werden? HighCommander4 vor 14 Jahren 0
Es sollte scriptfähig sein. Ich würde sagen, wenn Sie Ihre Befehle in stdin weiterleiten würden, wäre das wahrscheinlich der Trick. Seien Sie jedoch sehr vorsichtig, denn Sie können mit debugfs einem Dateisystem eine Menge Schaden zufügen. Ich weiß nicht, was ich ohne root-Privats tun soll, aber ich vermute nicht. Das Dateisystem soll eine Abstraktion sein, die diese Details vor dem Benutzer verbirgt. Slartibartfast vor 14 Jahren 0