如何解决如果扇区大小大于 512 字节,MBR 如何存储?
据我所知,MBR 大小为 512 字节,以 0x55AA 结尾。
我的问题是:
-
磁盘扇区大小大于 512 字节的情况有多常见? (例如服务器中使用的磁盘等)
-
如果扇区大小为 4096,MBR 将如何存储?第 4095 个字节等于 0x55 还是第 511 个字节?
-
在我的 C 代码中读取 MBR 之前是否需要检查扇区大小?这是我需要担心的事情,还是只读取磁盘的第 512 个字节就足够了?
解决方法
即使底层硬件使用更长的块,大多数设备也提供“标准”接口,其中块大小为 512 字节。
如果扇区的大小大于 512 字节,则 MBR 将看起来完全相同的字节。所有数据都将处于相同的偏移量。只是扇区的剩余部分不会被使用。
如果扇区大小小于 512 字节,则 MBR 将占用多个扇区。
在我的 C 代码中读取 MBR 之前是否需要检查扇区大小?
通常单个扇区是您需要读取的最小块,因此最好知道它的大小,因为您需要分配一个缓冲区来存储这些数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。