For faster navigation, this Iframe is preloading the Wikiwand page for GNU GRUB.

GNU GRUB

此条目翻译品质不佳。 (2023年10月15日)翻译者可能不熟悉中文或原文语言,也可能使用了机器翻译。请协助翻译本条目或重新编写,并注意避免翻译腔的问题。明显拙劣的翻译请改挂((d|G13))提交删除。
GNU GRUB
通过GRUB在文本模式下启动Debian GNU/Linux
通过GRUB在文本模式下启动Debian GNU/Linux
开发者GNU项目
当前版本
  • 2.12-rc1 (2023年7月10日;预发布版本)[1]
  • 2.12 (2023年12月20日;稳定版本)[2]
编辑维基数据链接
原始码库 编辑维基数据链接
类型多重操作系统启动管理器
许可协议GNU通用公共许可证
网站www.gnu.org/software/grub
GNU GRUB在MBR分区表的硬盘上
GNU GRUB在GPT分区表的硬盘上
boot.img严格占有446字节的大小,并被写入MBR(0扇区)。如果可行(出于向后兼容的原因第一个分区起始于63扇区而非1扇区,但这不是强制的),core.img被写入介于MBR和第一分区之间的空扇区之中。/boot/grub目录可以放在单独的分区中,也可以放在根分区中。

GNU GRUB(简称“GRUB”)是一个来自GNU项目启动引导程序。GRUB是多启动规范的实现,它允许用户可以在电脑内同时拥有多个操作系统,并在电脑启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

GNU GRUB的前身为Grand Unified Bootloader。它主要用于类Unix系统;同大多Linux发行版一样,GNU系统也采用GNU GRUB作为它的启动器。Solaris从10 1/06版开始在x86系统上也采用GNU GRUB作为启动器。

特性

GRUB可动态配置;它在启动时加载配置资讯,并允许在启动时修改,如选择不同的内核和initrd。为此目的,GRUB提供了一个简单的类似Bash命令行界面,它允许用户编写新的启动顺序。

GRUB非常轻便。它支持多种可执行格式;它除了可适用于支持多启动的操作系统外,还通过链式启动功能支持诸如WindowsOS/2之类的操作系统。GRUB支持大部分的Unix文件系统,也支持Windows适用的FATNTFS文件系统,还支持LBA模式。GRUB允许用户查看它支持的文件系统里文件的内容。

GRUB具有多种用户界面。多数Linux发行版利用GRUB对图形界面的支持,提供了定制的带有背景图案的启动菜单,有时也支持滑鼠。GRUB可通过GFX支持更美观的开机画面和开机菜单。通过对GRUB的文字界面的设定,可以通过串口实现远程终端启动。

GRUB可以从网络上下载操作系统镜像,因此可以支持无盘系统。GRUB支持在启动操作系统前解压它的镜像。

与其它启动器不同,GRUB可以通过GRUB提示符直接与用户进行交互。加载操作系统前,在GRUB文本模式屏幕下键入c键可以进入GRUB命令行。在没有作业系统或者有作业系统而没有"menu.lst"(或grub.cfg)配置文件的系统上,同样可以进入GRUB提示符。通过类似bash的命令,GRUB提示符允许用户手工启动任何操作系统。把合适的命令记录在"menu.lst"(或grub.cfg)文件里,可以自动启动一个操作系统。

GRUB拥有丰富的终端命令,在命令行下使用这些命令,用户可以查看硬盘分区的细节,修改分区设置,临时重新映射磁碟顺序,从任何用户定义的配置文件启动,以及查看GRUB所支持的文件系统上的其它启动器的配置。因此,即便不知道一台电脑上安装了什么,也可以从外部装置启动一个操作系统。

GRUB采用滚动屏幕选择想要启动的操作系统。通过向"menu.lst"(或grub.cfg)文件中添加相关资讯,GRUB可以控制150或者更多的启动选项,在启动时用方向键进行选择。

通过链式启动,一个启动器可以启动另一个启动器。GRUB通过2到3行的命令就可以从DOSWindowsLinuxBSDSolaris系统启动。

尽管GRUB为类Unix系统进行了编译和打包,但也有供DOS和Windows使用的变种GRUB4DOS等。GRUB也可以不附带任何操作系统而作为孤立系统安装。从CD上启动时运用GRUB需要1个文件,而从软碟、硬盘和USB装置上启动时需要2个文件。这些文件可以在任何支持GRUB的Linux CD上找到,用户可以很容易的找到它们。

新的GRUB2(GRUB第二版)为GRUB的重写版本,它是GRUB的大革新。GRUB2对Linux系统做了更多的优化,支持更多的功能,如动态的加载模块(而在之前的GRUB中,新增或删除模块要重新编译GRUB)等。GRUB2的版本号为0.98或更高;旧的GRUB的版本号则为0.97或更低,也被称为“GRUB Legacy”或“GRUB1”等。GRUB2的配置、命令等较GRUB Legacy有一定的不同。

启动过程

电脑启动后,BIOS将寻找第一个可启动的装置(通常为硬盘),而后从MBR中加载启动程序,然后把控制交给这段代码。MBR位于硬盘的前512字节内。

GRUB第一版本

GRUB的步骤1包含在MBR中。由于受MBR的大小限制,步骤一所做的几乎只是装载GRUB的下一步骤(存放在硬盘的其它位置)。步骤1既可以直接装载步骤2,也可以装载步骤1.5:GRUB的步骤1.5包含在MBR后面的30千字节中。步骤1.5加载步骤2。

当步骤2启动后,它将呈现一个界面来让用户选择启动的操作系统。这步通常采用的是图形菜单的形式,如果图形方式不可用或者用户需要更高级的控制,可以使用GRUB的命令行提示,通过它,用户可以手工指定启动参数。GRUB还可以设置超时后自动从某一个内核启动。

GRUB第二版本

与GRUB第一版相似的是,boot.img像步骤1一样在MBR或在启动分区中,但是,它可以从任何LBA48地址的一个扇区中读取,它(boot.img)将读取core.img(产生于diskboot.img)的第一个扇区以用来后面读取core.img的剩余部分。core.img正常情况下跟步骤1.5储存在同一地方并且有着同样的问题,可是,当他被移动到一个文件系统或一个纯粹的分区时会比在步骤1.5移动或删除引起更少的麻烦。一旦完成读取,core.img会读取默认的配置文件和其他需要的模块。

当GRUB启动后

一旦选择了启动选项,GRUB把选择的内核加载内存并把控制交给内核。在此步骤中,对于Windows之类不支持多启动标准的操作系统,GRUB也可以通过链式启动把控制传给其它启动器。在这种情况下,其它操作系统的启动程序被GRUB保存了下来;与内核不同,其它操作系统如同直接自MBR启动。类似Windows的启动菜单,也许是另一个启动管理器,它允许在多个不支持多启动的操作系统中做进一步的选择。(在已有Windows的系统上面,或者包含多个Windows版本的系统上安装现代的Linux而不修改原操作系统,即属于这类情况。)

安装

GRUB的一个重要的特性是安装它不需依附一个操作系统;但是,这种安装需要一个Linux/Windows副本。由于单独工作,GRUB实质上是一个微型系统,通过链式启动的方式,它可以启动所有安装的主流操作系统。

LILO不同,修改GRUB的配置文件后,不必把GRUB重新安装到MBR或者某个分区中。

在Linux中,“grub-install”命令是用来把GRUB的步骤1安装到MBR或者分区中的。GRUB的配置文件、步骤2以及其它文件必须安装到某个可用的分区中。如果这些文件或者分区不可用,步骤1将把用户留在命令行界面

GRUB Legacy的配置文件为/boot/grub/menu.lst/boot/grub/grub.conf。GRUB 2的配置文件为/boot/grub/grub.conf

除了硬盘外,GRUB也可安装到光碟软碟闪存盘等移动介质中,这样就可以启动一台无法从硬盘启动的系统。

参见

参考资料

外部链接

  1. ^ GRUB 2.12 release candidate 1. 2023年7月10日. 
  2. ^ "GRUB 2.12 released"; 作者姓名字符串: Daniel Kiper; 出版日期: 2023年12月20日; 检索日期: 2023年12月20日.
{{bottomLinkPreText}} {{bottomLinkText}}
GNU GRUB
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?