我读到过,我的分区表存储在 MBR 中。写入操作是按扇区执行的,也就是说,即使您只想更改扇区的几个字节,也需要覆盖扇区的全部内容。那么在 MBR 上安装 GRUB 时,为什么它不会破坏我的分区表?
答案1
软件读取原始扇区;在内存中更新它;然后写出更新的扇区。
在 Linux 上,这实际上是由操作系统本身完成的,因此 GRUB 无需担心扇区 - 它只需发出 440 字节写入,操作系统就会相应地读取/修改/写入整个 512 字节扇区。(操作系统的工作是来抽象出不方便的硬件细节。)但是如果操作系统不这样做,那么 GRUB 仍然可以自行执行相同的读取/修改/写入操作。
这种“读取/修改/写入”模式不仅限于 MBR – 它还可以更改文件中的单个字节,即使它们也存储在磁盘扇区中。操作系统将从磁盘读取相应的扇区,使用您的更改进行更新,然后将新扇区写回。