linux的⼀boot和grub和MBR和boot sector是什么关系

2025-12-17 20:49:09
推荐回答(1个)
回答1:

MBR包括三部分内容:
分区表:指出有几个分区,每个分区的起始扇区号、大小和操作系统类型及其他特性。
自举装入程序:PC机启动时由BIOS装入内存执行。 如果装了多个操作系统,将根据选择去读出对应分区的boot sector程序装入内存,执行该操作系统的自举程序。
校验信息:检验是否正确。

boot sector应当包含如下信息:
本分区操作系统类型
数据区大小
根目录区允许最大目录项(在根目录区最多创建多少个文件)
如果该分区安装了操作系统并被设置为活动分区,那还会包含一段“引导程序”;如果没安装系统,则该分区引导扇区为空或其中的数据是无效的。

首先要知道活动分区是什么:系统默认的操作系统启动文件所在的分区,windows下默认为C.
接下来说对这两者区别的个人理解。
MBR和boot sector应该是由上至下的关系:
1 启动顺序有先后。PC机启动时,先执行MBR,再根据选择执行某个分区下的boot sector。
(选择执行的boot sector所在分区就是活动分区。“用户选择一个操作系统” 实际上也就是选择一个分区作为活动分区。)
2 boot sector可以为空(没装系统),但MBR必须包含内容。
3 MBR必须被读取并执行;引导扇区根据选择执行,有的甚至可以不执行(即上文中的”数据是无效的”)。
4 MBR实际上包含的内容也比boot sector广泛,MBR中相当于包含了硬盘整体层面上的引导扇区(自举装入程序)、根目录区(分区表)。所以楼主也许是在拿“自举装入程序 Boot Loader"和"boot sector"做比较。

既然是由上至下的组织关系,所以可以举很多通俗点的例子来类比,我随便举个吧:
MBR是某社团的老大,他知道社团有多少个部门(分区表),某天他接了个活(开电脑了!),比如宣传XX讲座,于是他开始寻找(启动自举装入程序!)一个部门(某个分区)来干这活。当然他选择了宣传部(把宣传部设置为活动扇区!)。这时候,宣传部长(boot sector)粗线并出动了!很遗憾,他的部门只有一个部员(操作系统),而他只会当宣传部长不会宣传,于是他毫不犹豫地把活交给了那个部员!(于是操作系统启动了)。