Právě jsem musel udělat podobnou věc, a tak jsem si řekl, že se podělím o své řešení.
Můžete vidět, ke kterému oddílu patří offset bajtů jednotky kontrolou prvků 'offset' a 'size' ve výstupu udisks --show-info; např.
[email protected]:~$ sudo udisks --show-info /dev/sda1 | grep -i 'offset'
offset: 1048576
alignment offset: 0
Odečtěte tento offset od offsetu disku, abyste získali bajtový offset do oddílu. Takže offset disku (10000000) v /dev/sda je offset oddílu (10000000 - 1048576) =8951424 v /dev/sda1
Jak velké bloky jsou v oddílu, můžete zjistit pomocí následujícího příkazu:
[email protected]:~$ sudo tune2fs -l /dev/sda1 | grep -i 'block size'
Block size: 4096
Vydělte posun bajtů oddílu velikostí bloku, abyste určili posun bloku, v tomto případě 8951424 / 4096 =2185
Spusťte následující příkaz a zjistěte, jaký inode zabírá tento blok:
[email protected]:~$ sudo debugfs -R "icheck 2185" /dev/sda1
debugfs 1.41.11 (14-Mar-2010)
Block Inode number
2185 123456
pak následující příkaz, abyste zjistili, jaký je název souboru pro tento inode:
[email protected]:~$ sudo debugfs -R "ncheck 123456" /dev/sda1
debugfs 1.41.11 (14-Mar-2010)
Inode Pathname
123456 /tmp/some-filename.txt
Je zde delší popis jak na to na http://www.randomnoun.com/wp/2013/09/12/determining-the-file-at-a-specific-vmdk-offset