在Linux中的特定块上打开文件

时间:2012-07-04 11:35:07

标签: linux filesystems ext4

出于调试目的,我想在特定的预定义块上打开一个文件。例如,如果我怀疑特定块被损坏,我想写它并从中读取,而我宁愿在用户模式下执行此操作,同时安装分区。

有没有办法告诉Linux,“嘿!如果它是免费的,请在块4579打开这个新文件。”

是的,我可以直接编辑块设备,但如果安装了驱动器,则可能会丢弃文件系统。

欢迎使用通用答案,但即使是ext文件系统系列的答案也足够了。

1 个答案:

答案 0 :(得分:2)

  

例如,如果我怀疑特定块被损坏,我想写它并从中读取   ...   有没有办法告诉Linux,“嘿!如果它是免费的,请在块4579打开这个新文件。”

是的,您可以将底层块设备用作文件并在文件上寻找该位置。鉴于您的“调试”用例,这似乎是合适的。请注意,写入此块可能会破坏上面文件系统的完整性(甚至回写刚刚读取的内容)。

否则,不,文件系统被设计为隐藏经常掩盖真实几何底层设备的布局,因此没有这样的机制来提供关于文件所在位置的提示应该被创造。