可引导分区和不可引导分区之间的区别

Sam*_*Sam 8 linux boot partition linux-kernel

可引导分区和不可引导分区有什么区别?我知道用户无法从标记为不可引导的分区引导系统,而可以从标记为可引导的分区引导系统。

我想知道这些分区标志之间的根本区别。

irr*_*ohn 6

虽然它被否决了......可能是因为有人认为它没有回答这个问题......我认为@Rony的回答是解释boot标志是什么的一个良好开端。(我实际上打算用一个类似于他提供的例子来开始我的回答。)

我已经准备好回答这个boot标志是如何在这个时间点上的,这是一个经常被忽略的(如@Rony 的例子所示)从硬盘驱动器较小且引导加载程序不那么复杂的时期遗留下来的历史遗迹。

但是后来我发现在这个问题的答案中已经说过一点:安装发行版时的“可引导标志”选项是什么?

更重要的是,还有一个关于引导标志简短文章的链接,其中说

  • "它的主要功能是向 MS-DOS/MS Windows 类型的引导加载程序指示要引导哪个分区。在某些情况下,Windows XP/2000 使用它来为活动分区分配字母 "C:"。 "

嗯,很尴尬……

当我声称该boot标志是“历史遗迹”时,我假设情况确实如此,因为显然 GRUB 不需要使用它。当然,微软也会“继续前进”。

在这种情况下,通常归因于奥斯卡王尔德的众所周知的引语被证明是太真实了。

看来,通过在Windows操作系统中使用的MBR和PBR(分区引导记录)装载机不要指望boot标志设置正确。

为了测试这一点,我从 Windows 8 VM 的所有分区中清除了启动标志。(见下文。如果你好奇,这里是完整 BootInfo 脚本结果的 pastebin 链接)

Drive: sda     
Disk /dev/sda: 26.8 GB, 26843545600 bytes
255 heads, 63 sectors/track, 3263 cylinders, total 52428800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1               2,048       718,847       716,800   7 NTFS / exFAT / HPFS
/dev/sda2             718,848    52,426,751    51,707,904   7 NTFS / exFAT / HPFS
Run Code Online (Sandbox Code Playgroud)

当我从两个分区清除标志FATAL: INT18: BOOT FAILURE时,我在尝试启动时收到错误消息。(我不确定这是来自 Windows MBR 引导加载程序还是虚拟机的 BIOS 等价物。)

只是为了看看会发生什么,我还在boot“错误”分区上设置了标志,/dev/sda2而不是/dev/sda1. 这样做会导致下图所示的窗口。

Windows 无法启动错误窗口

<sigh/>

这种经历让我怀疑 Microsoft 是否仍在使用与 MS-DOS 和 Windows 3.0/3.1 相同的 MBR 引导扇区加载程序?


Ruf*_*ufo 1

只是分区表中的一个标志。MBR 在分区中搜索标志并从带有“boot”标志的分区运行。