【问题标题】:Why only one active partition in MBR?为什么 MBR 中只有一个活动分区?
【发布时间】:2018-01-30 04:17:08
【问题描述】:

我正在阅读有关操作系统引导的内容,并详细阅读了有关 MBR 使用的信息。但是无论我提到哪里,他们都提到四个主分区中只能有一个活动分区。并且当执行该活动分区的引导扇区中包含的代码时,会为用户提供一个菜单,用于选择其中一个操作系统(在多重引导的情况下)。

关于我的上述描述,我有以下问题:

  1. 在 MBR 中拥有多个活动分区有什么缺点?
  2. 为什么只有四个主分区? (是不是因为MBR大小的限制)
  3. 主分区除了活动分区有什么用?

【问题讨论】:

  • “此分区处于活动状态”表示“从该分区启动”。拥有两个活动分区到底意味着什么?从两个分区启动?!
  • @Mehrdad 没错,我的意思是,如果有两个活动分区,用户不应该像引导加载程序 (grub) 那样选择分区吗?
  • 我明白你的意思。我认为问题在于可以向用户显示的信息非常少......消息基本上是 “按 1 从分区 1 启动,按 2 表示分区 2,按 3 表示分区 3,和 4用于分区 4"。我想这是可能的,但它并不是很有帮助。 没有 BIOS 可以假设分区本身,因此它无法读取卷标(或类似的东西)......它根本不像 GRUB。
  • 我很确定像 GRUB 和 LILO 这样的引导加载程序会从配置中读取可能的引导分区,并且不太关心活动/非活动分区。好吧,如果你想从 LILO/GRUB 引导 DOS/Windows,那个分区可能必须是活动的(DOS/Windows 的引导部分可能需要它)。
  • @JoAreBy 我确实有一个疑问。活动分区是否包含操作系统的可引导映像?在我看来,一个活动分区有一些数据是可执行代码,可能是一个操作系统,但这个分区主要包含引导加载程序(grub/LILO)的代码

标签: boot


【解决方案1】:

Wikipedia has a nice article on MBR 有很多有用的链接。 “只有一个活动分区”似乎是早期 IBM/DOS 引导加载程序的设计选择,并且从那以后一直保持这种状态。基本上,他们将多个活动分区定义为错误,并在启动时检查此错误。这是有道理的,因为无论如何您一次只能启动一个操作系统,而强制的单个活动分区将防止歧义。如果我没记错的话,LILO 和可能的 GRUB(Linux 引导加载程序)不介意是否有多个活动分区,所以我认为这主要是 DOS/Windows 问题。

至于你的问题。

  1. “活动”分区仅表示第一个字节与“非活动”分区不同。没有优势或劣势,只是一面旗帜。

  2. 分区信息存储在一个固定大小的记录中,它只能容纳4个分区。但是,“扩展”和“逻辑”分区(分别存储)可用于启用 4 个以上的分区。只能使用主分区进行引导。

  3. DOS/Windows 没有特别使用多个分区,但用户可以为方便决定对他的磁盘进行分区。分区是一个逻辑卷,在“我的电脑”中显示为驱动器号和“磁盘”。将分区与操作系统分开的一个优点是您可以在其中存储文件,然后在不丢失所有文件的情况下重新安装操作系统。安装操作系统通常涉及格式化(擦除)分区。

    Linux(或者更确切地说是 Un*x)具有使用分区来提高系统弹性的传统,方法是将基本工具和引导映像保存在单个小分区上。这样,系统的基本部分就不太可能遭受磁盘错误的影响。这可以通过将系统的不同部分分成不同的分区来更精细地完成,目的是隔离可能发生的任何磁盘错误。这样做的一个主要优点是您可以使用基本系统从许多错误中恢复,否则这些错误将无法恢复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-03
    • 2014-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多