MBR 之后和分区起点之前的磁盘区域

Mar*_*tin 11 partition mbr

如果我使用 MBR 分区方案并使用fdisk(版本 2.20.1)创建主分区或扩展分区,那么它从扇区 2048 开始。如果我没记错,那么旧版本的fdisk第一个分区在扇区 63 上启动。如果 MBR 只需要512 字节,那么为什么第一个分区不在扇区 2 上开始?那些 2047 个扇区中保存了什么?引导加载程序的某个阶段?

Bor*_*kov 18

MBR 和文件系统第一个扇区之间的旧 32KiB 间隙称为 DOS 兼容区域或 MBR 间隙,因为 DOS 要求分区从柱面边界开始(每个柱面有 64 个扇区,即 64 个扇区 * 512 字节/扇区 = 32KiB 空间) .

在此处输入图片说明

Legacy GRUB (GRUB1) 可以用它在那里安装 GRUB1 1.5-stage bootloader:http ://www.gnu.org/software/grub/manual/grub.html#BIOS-installation 。

附加链接:

  1. http://www.pixelbeat.org/docs/disk/
  2. https://superuser.com/questions/107235/how-do-boot-sectors-and-multiple-drives-works/108152#108152
  3. http://www.dedoimedo.com/computers/grub.html


Hau*_*ing 6

这是一种性能优化,与 Linux 完全无关,仅与硬件有关。现代磁盘(所谓的“4K”磁盘)使用 4096 字节而不是 512 的物理扇区。您仍然可以寻址单个 512 字节的扇区,但如果分区(或者更确切地说:文件系统)未与 4K 对齐,这可能会严重影响性能.

起始扇区 64 足以满足此要求。增加到 2048 似乎是预防性的(例如,如果稍后应将磁盘转换为 GPT,则允许将 UEFI 引导分区放在那里)。

  • @Martin 问题是内核总是将 4K 块(页面大小)写入磁盘(因为页面被缓存)。与单个扇区相比,4K 页面可以是两个扇区的一部分。在那种情况下,不是 4K,而是 8K 必须写入。更糟糕的是:可能必须首先读取磁盘上的一个或什至两个 4K 块。 (2认同)