Operating system 引导程序如何实现操作系统的双重引导

Operating system 引导程序如何实现操作系统的双重引导,operating-system,bootloader,bios,Operating System,Bootloader,Bios,我知道引导程序运行初始诊断,然后从固定位置调用引导加载程序。 当我的系统只有两个windows操作系统(例如windows 7和windows XP)时,windows引导加载程序用于提供在两个操作系统之间切换的选项。一旦我安装了Ubuntu(grub成为引导程序),我首先被要求在windows和linux之间进行选择,然后一旦我选择了windows,我就会在windows引导程序屏幕上选择两个窗口。 我的理解是,在引导程序已知的固定位置只能有一个引导程序。那么在这种特殊情况下,windows和

我知道引导程序运行初始诊断,然后从固定位置调用引导加载程序。
当我的系统只有两个windows操作系统(例如windows 7和windows XP)时,windows引导加载程序用于提供在两个操作系统之间切换的选项。一旦我安装了Ubuntu(grub成为引导程序),我首先被要求在windows和linux之间进行选择,然后一旦我选择了windows,我就会在windows引导程序屏幕上选择两个窗口。
我的理解是,在引导程序已知的固定位置只能有一个引导程序。那么在这种特殊情况下,windows和linux引导加载程序是如何共存的呢

引导加载程序可以存在于多个位置

有一个MBR(主引导记录),但有多个分区。每个分区的卷引导记录(VBR)中都可以有一个引导加载程序,这是可引导分区的第一个扇区。您可以在MBR上和/或在VBR中拥有引导加载程序,因此MBR将链接到VBR中的辅助引导加载程序。这是您首先看到Grub的方式,然后是Windows7。Grub在MBR上。但是如果你重新安装Windows,它会踩在MBR上,并将其引导加载程序放回原处


mrjoltcola的答案非常好,适用于传统MBR风格的引导加载程序。关于UEFI引导的一些注意事项:

  • 与特定于设备的MBR系统不同,UEFI使用引导路径:指向任何OS引导加载程序文件的完全限定路径
  • UEFI对您可以在系统上配置的OS引导加载程序的数量没有实际限制——只需添加路径即可;相反,硬盘驱动器每个分区只能有一个MBR和一个VBR

关于UEFI引导还有很多话要说——我只是想回答最初的问题,即UEFI系统将如何处理它。

它被称为BIOS,不是引导程序…因此,当我安装一个新操作系统时,驻留在MBR中的现有操作系统的引导加载程序被移动到不同的分区,新操作系统的引导加载程序被放置在MBR中?不。MBR只是被覆盖,或者被单独放置,这取决于新操作系统引导加载程序的安装位置。Linux很友好,可以让您选择。Windows不是很友好,它创建了一个特殊的100MB分区,并在那里安装了它的引导加载程序,但也编写了MBR。这意味着Windows7MBR只是特殊分区中VBR的链引导。