GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Reverse-Lookup von Inode/Datei vom Offset im Raw-Gerät unter Linux und ext3/4?

Ich musste einfach etwas Ähnliches tun, also dachte ich, ich teile meine Lösung.

Sie können sehen, zu welcher Partition ein Byte-Offset eines Laufwerks gehört, indem Sie die Elemente „offset“ und „size“ der Ausgabe von udisks --show-info überprüfen; zB

[email protected]:~$ sudo udisks --show-info /dev/sda1 | grep -i 'offset'
    offset:                    1048576
    alignment offset:          0

Subtrahieren Sie diesen Offset vom Datenträger-Offset, um den Byte-Offset in die Partition zu bekommen. Der Festplatten-Offset (10000000) in /dev/sda ist also der Partitions-Offset (10000000 - 1048576) =8951424 in /dev/sda1

Wie groß die Blöcke in einer Partition sind, können Sie mit folgendem Befehl herausfinden:

[email protected]:~$ sudo tune2fs -l /dev/sda1  | grep -i 'block size'
Block size:               4096

Teilen Sie den Byte-Offset der Partition durch die Blockgröße, um den Block-Offset zu bestimmen, in diesem Fall 8951424 / 4096 =2185

Führen Sie den folgenden Befehl aus, um herauszufinden, welcher Inode diesen Block belegt:

[email protected]:~$ sudo debugfs -R "icheck 2185" /dev/sda1
debugfs 1.41.11 (14-Mar-2010)
Block   Inode number
2185    123456 

dann den folgenden Befehl, um herauszufinden, wie der Dateiname für diesen Inode lautet:

[email protected]:~$ sudo debugfs -R "ncheck 123456" /dev/sda1
debugfs 1.41.11 (14-Mar-2010)
Inode   Pathname
123456  /tmp/some-filename.txt

Eine längere Beschreibung dazu finden Sie unter http://www.randomnoun.com/wp/2013/09/12/determining-the-file-at-a-specific-vmdk-offset


Linux
  1. Grundlegendes Linux-Dateisystem-Tutorial – ext2, ext3, ext4, JFS und XFS

  2. Unterschied zwischen dem von fdisk erstellten Dateisystem und dem von mkfs - linux erstellten Dateisystem

  3. Erstellen und formatieren Sie eine exFAT-Partition von Linux aus

  4. Wie unterscheidet Linux zwischen echten und nicht existierenden (z. B. Geräte-) Dateien?

  5. Android - Linux-Programm zum Übertragen von Dateien von/auf ein Android-Gerät?

Unter Linux ist alles eine Datei – Teil 2

Unter Linux ist alles eine Datei – Teil 1

Verhindern Sie, dass Dateien und Ordner unter Linux versehentlich gelöscht oder geändert werden

Wie überprüfe ich die Inode-Nutzung über cPanel und die Befehlszeile?

So installieren Sie Java 8 JRE und JDK aus einer RPM-Datei unter Linux

Wie erstelle ich eine Datei in Linux aus dem Terminalfenster?