4

出于调试目的,我想在特定的预定义块上打开一个文件。例如,如果我怀疑某个特定块已损坏,我想对其进行写入和读取,我宁愿在挂载分区时在用户模式下执行此操作。

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

是的,我可以直接编辑块设备,但如果驱动器已安装,这可能会破坏文件系统。

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

4

1 回答 1

2

例如,如果我怀疑某个特定块已损坏,我想对其进行写入和读取……有没有办法告诉 Linux,“嘿!如果它是空闲的,请打开块 4579 上的这个新文件”。

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

否则,不,文件系统被设计为隐藏经常掩盖设备布局下的真实几何图形,因此没有这样的机制来提示应该在哪里创建文件。

于 2012-07-04T17:52:51.460 回答