出于调试目的,我想在特定的预定义 block 上打开一个文件。例如,如果我怀疑某个特定 block 已损坏,我想对其进行写入和读取,我宁愿在挂载分区时在用户模式下执行此操作。
有没有办法告诉 Linux,“嘿!如果它是空闲的,请在 block 4579 上打开这个新文件”。
是的,我可以直接编辑 block 设备,但是如果安装了驱动器,这可能会破坏文件系统。
欢迎提供通用答案,但即使是 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".
是的,您可以将底层 block 设备用作文件并查找文件上的那个位置。考虑到您的“调试”用例,这似乎是合适的。请注意,写入此 block 可能会破坏上面文件系统的完整性(甚至写回刚刚读取的内容)。
否则,不,文件系统旨在隐藏,通常会掩盖设备布局下的真实几何形状,因此没有这种机制可以提示文件的位置应该创建。
关于linux - 在 Linux 中打开特定 block 上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11328315/