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

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

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

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

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

最佳答案

For instance, if I suspect a specific block is damaged, I want to write and read from it

Is there a way to tell Linux, “hey! open this new file on block 4579 if it’s free”.

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

否则,不,文件系统被设计为隐藏经常掩盖设备布局下的真实几何体,因此没有这样的机制来提供关于应该在何处创建文件的提示.

点赞