如何在 Linux 下 read/write 0 - 2048 范围内的扇区?

How to read/write sectors in range 0 - 2048 under Linux?

我有一个小任务要处理 "free area" 中的 read/write 个扇区,这是 MBR 扇区 (LBA=0) 和第一个分区的第一个扇区 (tipicaly LBA=2048) 之间的空闲区域。

所以,我可以 read/write 前 128 个扇区。 LBA=127 后写操作成功结束但没有真正写入磁盘。

那么是否存在一些内核限制?

是C代码的逻辑bug,所以问题解决了。 作为 vfs_read() 例程的输入,文件偏移量计算不正确。