Sie können das FIBMAP-ioctl verwenden, wie hier beispielhaft gezeigt, oder hdparm:
verwenden/ $ sudo /sbin/hdparm --fibmap /etc/X11/xorg.conf
/etc/X11/xorg.conf:
filesystem blocksize 4096, begins at LBA 0; assuming 512 byte sectors.
byte_offset begin_LBA end_LBA sectors
0 1579088 1579095 8
Sie könnten debugfs
verwenden dazu:
debugfs -R "stat ~/myfile" /dev/hda1
Ändern Sie die Festplatte/Partition entsprechend und vergewissern Sie sich, dass das Laufwerk ausgehängt ist. Sie erhalten eine Liste mit allen verwendeten Blöcken:
BLOCKS:
(0):1643532
TOTAL: 1
Dieser Thread kann Ihnen einen Einblick in den Algorithmus zur Platzierung von ext4-Dateien geben.
debugfs
hat einen bmap
Funktion, die die gewünschten Daten zu liefern scheint. Sie sollten in der Lage sein, ihm aufeinanderfolgende Blöcke einer Datei zu geben und die physischen Blocknummern zu erhalten.