我使用 fdisk 将 Ubuntu Mate 分区从 1M 边界移动到 SD 卡上的 4M 边界。
“boot”分区现在从块 8192 开始。
这就是 Raspbian 发行版的配置方式,这对于分区与擦除块组对齐非常有意义。
这工作正常,但 gparted 在“启动”分区之前显示了 4M 未使用的块,而 Raspbian 则没有显示该块。
我的问题是系统如何“知道”第一个 4M 被保留用于在一个磁盘上启动,但认为在我修改的磁盘上只保留 1M。
编辑
我刚刚购买了一张全新的8GiB SDHC存储卡,它有一个从块8192开始的FAT32Lba分区。我转储了第一个4MiB,其中包含00,除了包含分区表的16字节,所以这里似乎没有什么特别的。
答案1
我建议您:
- 对齐
DOS-partitions
从扇区开始64
。 - 如果只需要一个分区且不需要引导扇区,请避免使用分区表。
62
的引导加载程序只需要扇区DOS-partition tables
。从我的角度来看,没有充分的理由将分区对齐到4M
,而只是对齐到4K
。
我的问题是系统如何“知道”第一个 4M 被保留用于在一个磁盘上启动,但认为在我修改的磁盘上只保留 1M。
从技术上讲,它们4M
不保留用于引导。它们没有被使用。 (第一个除外32256 bytes
)。
我刚刚购买了一张全新的8GiB SDHC存储卡,它有一个从块8192开始的FAT32Lba分区。我转储了第一个4MiB,其中包含00,除了包含分区表的16字节,所以这里似乎没有什么特别的。
require和 onlyMaster Boot Record
对于定义分区表很有用。512 bytes
16 bytes
除此之外512 bytes
,62 sectors
可能会被使用bootloader
,因此不超过32256 bytes (63 sectors)
a 所需的内容,DOS bootloader with MBR
其余的是技术上的unused
。