出于调试目的,我想在特定的预定义块上打开一个文件。例如,如果我怀疑特定块被损坏,我想写它并从中读取,而我宁愿在用户模式下执行此操作,同时安装分区。
有没有办法告诉Linux,“嘿!如果它是免费的,请在块4579打开这个新文件。”
是的,我可以直接编辑块设备,但如果安装了驱动器,则可能会丢弃文件系统。
欢迎使用通用答案,但即使是ext文件系统系列的答案也足够了。
答案 0 :(得分:2)
例如,如果我怀疑特定块被损坏,我想写它并从中读取 ... 有没有办法告诉Linux,“嘿!如果它是免费的,请在块4579打开这个新文件。”
是的,您可以将底层块设备用作文件并在文件上寻找该位置。鉴于您的“调试”用例,这似乎是合适的。请注意,写入此块可能会破坏上面文件系统的完整性(甚至回写刚刚读取的内容)。
否则,不,文件系统被设计为隐藏经常掩盖真实几何底层设备的布局,因此没有这样的机制来提供关于文件所在位置的提示应该被创造。