包含“MBR”的块的大小是如何确定的

Mil*_*ays 6 partition fdisk

我使用 fdisk 将 Ubuntu Mate 分区从 1M 边界移动到 SD 卡上的 4M 边界上。

“引导”分区现在从块 8192 开始。

这就是 Raspbian 发行版的配置方式,这对于分区与擦除块组对齐非常有意义。

这工作正常,但 gparted 在“引导”分区之前显示了一个 4M 未使用的块,它没有为 Raspbian 显示。

我的问题是系统如何“知道”第一个 4M 保留用于在一个磁盘上启动,但认为我修改后的磁盘上只保留了 1M。

编辑

我刚刚购买了一个全新的 8GiB SDHC 存储卡,它有一个 FAT32Lba 分区,从块 8192 开始。我转储了第一个 4MiB,其中包含 00,除了包含分区表的 16 字节,所以这里似乎没有什么特别的。

nco*_*ers 2

我建议您:

  1. 对齐DOS-partitions从扇区开始64
  2. 如果只需要一个分区且不需要引导扇区,请避免使用分区表。

的引导加载程序只62需要扇区DOS-partition tables。从我的角度来看,没有充分的理由将分区对齐到4M,而只是对齐到4K

我的问题是系统如何“知道”第一个 4M 被保留用于在一个磁盘上启动,但认为在我修改的磁盘上只保留 1M。

从技术上讲,它们4M不保留用于引导。它们没有被使用。(第一个除外32256 bytes)。

我刚刚购买了一张全新的8GiB SDHC存储卡,它有一个从块8192开始的FAT32Lba分区。我转储了第一个4MiB,其中包含00,除了包含分区表的16字节,所以这里似乎没有什么特别的。

require和 only对于定义分区表很有用Master Boot Record512 bytes16 bytes

除此之外512 bytes62 sectors可能会被使用bootloader,因此不超过32256 bytes (63 sectors)a 所需的内容DOS bootloader with MBR,其余的是技术上的unused