디스크에 있는 파일의 물리적 주소를 찾는 것이 가능합니까? [복사]

디스크에 있는 파일의 물리적 주소를 찾는 것이 가능합니까? [복사]

경로가 제공되면 파일의 실제 주소를 찾을 수 있는 방법이 있습니까?

답변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

관련 정보