ディスク上のファイルの物理アドレスを見つけることは可能ですか? [コピー]

ディスク上のファイルの物理アドレスを見つけることは可能ですか? [コピー]

パスが指定されたら、ファイルの物理アドレスを見つける方法はありますか?

答え1

あなたはこれを行うことができますhdparm --fibmap

# hdparm --fibmap /var/log/messages

/var/log/messages:
 filesystem blocksize 4096, begins at LBA 360720384; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0  413190576  413190583          8
        4096  409598016  409598135        120
       65536  371059584  371059711        128
      131072  371060224  371060359        136
      200704  360802936  360803567        632
      524288  399259648  399260047        400
      729088  360797952  360798207        256
      860160  413419968  413420335        368
     1048576  413421568  413422199        632

# echo LOL >/tmp/lol
# hdparm --fibmap /tmp/lol

/tmp/lol:
 filesystem blocksize 4096, begins at LBA 360720384; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0  413374584  413374591          8
# dd if=/dev/sda skip=413374584 count=8 status=none | hexdump -C
00000000  4c 4f 4c 0a 00 00 00 00  00 00 00 00 00 00 00 00  |LOL.............|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00001000

hdparmioctlを使用して使用できない場合は/FS_IOC_FIEMAPに置き換えます。FIGETBSZFIBMAP

関連情報