rub位置-是去mbr还是其他地方?


8

我在Linux和Windows 7上使用Grub作为引导程序进行了双重引导。

我的分区表如下所示:

100 MB System Reserved Windows 7
500 GB Windows 7
100 MB /boot - ext2
500 GB linux, swap, etc.

我很好奇,在这里进行此设置后,GRUB会在哪里安装自身。

我以为System Reserved分区是Windows 7的启动分区,但是如果Grub在它上面重写(我假设是在主启动记录上),似乎Windows 7将无法运行。

Grub会在哪里安装自身,并且仍然指向Windows和Linux?是否取决于您如何设置分区?


如果您没有明确告知该发行版的安装程序Grub的安装位置,那么它现在应该位于MBR中。这还取决于您是先安装Windows还是先安装Linux。有关更多信息,请参见tinyurl.com/jha3stinyurl.com/ycyr2ms
bitek 2010年

Answers:


6

Windows自行安装时,会将引导加载程序(通过XP在NT中为NTLDR;在此之后为winboot)放入主引导记录中,该记录读取boot.ini以显示引导列表。从该列表中选择某项后,引导加载程序的工作就完成了,并且从驱动器上的实际分区启动了适当的内核。

Grub做着同样的事情。引导加载程序仅在其中显示grub.conf/ menu.lst列表,一旦您选择了某些内容,它将把控制权转移到常规分区。因此,grub将覆盖MBR中的NTLDR / winboot,但不会覆盖普通分区中的任何内容,并且如果您从引导列表中选择Windows,它将知道如何将控制权转移到Windows分区。


安装Linux 2nd。永远是记住更轻松生活的关键!
克里斯·黄·利弗

是的,我知道了,克里斯。:)
mouche

您的意思是在100MB sys中安装了grub。划分?那为什么还有另一个100mb的分区呢?
RogUE

2

Grub会将其自身安装到驱动器的主引导记录中。重要的是要意识到主引导记录是分区驱动器的第一个扇区,而不是分区本身。有关更多信息,请参见Wikipedia

有了这些信息,Grub基本上将覆盖Windows 7安装的MBR信息,但它不会触及Windows 7创建的“系统保留分区”(除非您要求)。新的MBR只会告诉您的系统加载GRUB,然后GRUB将确保加载正确的操作系统。这使您可以轻松地在操作系统之间进行切换。


那么系统保留分区不在mbr上吗?
mouche 2010年

不,不是。系统保留分区是Windows创建的分区,其本质类似于/bootLinux中的分区。该分区和MBR是两件事。
Scott Anderson

1

我唯一将GRUB安装到不是MBR的地方是在Mac上时-整个双重引导问题在那儿变得相当复杂。在一般情况下,会将GRUB安装到MBR,覆盖NTLDR,并允许您启动Linux或Windows。


1

这里有些令人困惑的东西。首先,您需要知道在对磁盘进行分区(切片=主分区)时,每个切片中都有一个“分区启动记录”。格式化磁盘时,第一个扇区称为“ bootsector”。引导扇区从标记为可引导的分区加载并执行。

GRUB在此区域只有512个字节,称为stage1。阶段1仅加载stage2(or1.5),这是加载menu.lst文件和其他模块的文件。

由于Stage1.5(或Stage2)仅需少量代码即可加载menu.lst,因此其特定于文件系统(需要能够在FS中找到/boot/menu.lst)。

看看这里阅读更多。

简而言之:Stage1在MBR中,但是GRUB不仅是stage1,除了Stage1之外的所有东西都在/ boot中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.