如何使用原始磁盘块复制文件?

如何使用原始磁盘块复制文件?

可以使用命令 filefrag 查看文件使用的底层原始磁盘块。在下面的示例中,我可以使用 dd 复制所有 11 个块并将它们 cat 在一起以构建 sample.avi 的精确副本。

我认为应该已经有一个可以做到这一点的工具,但我找不到。有这样的工具吗?或者你如何以编程方式从块片段重建文件?

# filefrag -b512 -v  '/mnt/Shared Videos/sample.avi'                                              
Filesystem type is: ef53
File size of /mnt/Shared Videos/sample.avi is 1425879476 (2784928 blocks of 512 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..  262143:   15990784..  16252927: 262144:
   1:   262144..  524287:   16252928..  16515071: 262144:
   2:   524288..  786431:   16515072..  16777215: 262144:
   3:   786432.. 1048575:   17039360..  17301503: 262144:   16777216:
   4:  1048576.. 1310719:   17301504..  17563647: 262144:
   5:  1310720.. 1572863:   17563648..  17825791: 262144:
   6:  1572864.. 1835007:   17825792..  18087935: 262144:
   7:  1835008.. 2097151:   18087936..  18350079: 262144:
   8:  2097152.. 2359295:   18350080..  18612223: 262144:
   9:  2359296.. 2621439:   18612224..  18874367: 262144:
  10:  2621440.. 2784927:   18874368..  19037855: 163488:             last,eof
/mnt/Shared Videos/sample.avi: 2 extents found

相关内容