Linux操作系统下GRUB引导过程及原理

来源:本站
导读:目前正在解读《Linux操作系统下GRUB引导过程及原理》的相关信息,《Linux操作系统下GRUB引导过程及原理》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《Linux操作系统下GRUB引导过程及原理》的详细说明。
简介:文章简单介绍了Linux操作系统下GRUB的引导过程及原理

GRUB是一个多重启动管理器。GRUB是GRand Unified Bootloader的缩写,它可以在多个操作系统共存时选择启动哪个系统。它可以启动的操作系统包括Linux, FreeBSD, Solaris, NetBSD, BeOS, OS/2, Windows95/98 /NT /2000。它可以载入操作系统的内核和初始化操作系统(如Linux, FreeBSD),或者把启动权交给操作系统(如Windows 98)来完成启动。Thiz Server默认安装GRUB,并用它来启动机器。

安装了GRUB,开机后会出现一个菜单,列出所有的启动选项。如果设置了启动画面,则会显示启动画面,按【Esc】键则可以取消启动画面显示菜单选项GRUB,按【e】是编辑启动命令,按【c】是使用命令行等。用上下键可以选择菜单项,按【Enter】启动所选项。按【e】键可以编辑所选项的启动命令,您可以用这个功能临时改变系统的启动参数。按【c】键则进入命令行模式。在命令行模式下可以输入命令直接执行,例如可以敲入poweroff关闭电脑。按【Tab】键可以列出所有支持的命令。

GRUB可以代替LILO来完成对Linux的启动,特别适用于 Linux与其他操作系统共存情况,与LILO相比,它有以下特点:

支持大硬盘

以前许多Linux发行版本的LILO 都有同样的一个问题:根分区(/boot分区)不能分在超过1024柱面的地方,一般是在8.4GB左右的地方,否则LILO不能安装,或者安装后不能正确启动系统。而GRUB就不会出现这种情况,只要安装时您的大硬盘是在LBA模式下,GRUB就可以启动根分区在8GB以外的操作系统。在LILO下,您需要手动输入操作系统的名字来启动不同的操作系统。而GRUB使用一个菜单来选择不同的系统进行开机。您还可以自己设置各种参数,如延迟时间、默认操作系统等。

支持开机画面

GRUB支持在启动开机的同时显示一个开机画面。对于玩家来说,这样可以制作自己的个性化开机画面;对于PC厂商来说,这样可以在开机时显示电脑的一些信息和厂商的标志等。GRUB支持640×480, 800×600, 1024×768各种模式的开机画面,而且可以自动侦测并选择最佳模式,与Windows的320×240的开机画面不可同日而语。

两种执行模式

GRUB不但可以透过设置文件进行例行的开机,还可以在选择开机前动态改变开机时的参数,还可以动态载入各种设备。例如您在Linux下编译了一个新的内核,但不能确定它能不能工作,您就可以在开机时动态改变GRUB的参数,尝试装载这个新的内核进行使用。GRUB的命令行有非常强大的功能,而且支持如bash或DOSKEY一样的历史功能,您可以用上下键来寻找以前的命令。

分区位置改变后不必重新设置

LILO是透过读取硬盘上的绝对分区来装入操作系统,因此每次分区改变都必须重新设置LILO,例如您用Partition Magic调整了分区的大小,那LILO在您重新设置好之前就不能引导这个分区的操作系统了。而GRUB是透过文件系统直接把内核读取到内存,因此只要操作系统内核的路径没有改变,GRUB就可以启动系统。除此之外,GRUB还有许多非常强大的功能。例如支持多种外部设备,动态装载操作系统内核,甚至可以透过网络装载操作系统内核。GRUB支持多种文件系统、多种可执行文件格式,以及自动解压,还可以启动不支持多重引导的操作系统等。

GRUB启动时会在 /boot/grub 中寻找一个名字为grub.conf的设置文件,如果找不到此设置文件则不进入菜单模式而直接进入命令行模式。

grub.conf是一个纯文字文件,您可以用任何一个文字编辑器来打开它。每一行代表一个设置命令,如果一行的第一个字符为井号#,则这一行为注释,您可以简单地用增加或减少注释行来改变设置。

编辑grub.conf时,一般会有以下几行:

timeout second

设置在second秒之后引导默认的操作系统。

Thiz Linux 默认是timeout 10,也就是说10秒之内如果没有其他命令就启动系统。如果设成 -1,则 GRUB 会一直等待直到用户选择一个选项为止。

default num

默认启动第 num +1行选项,也就说default=0,则默认启动菜单第1行的操作系统,default=1,则启动第2行的系统,如此类推。

splash pathname/filename

指出开机画面的文件所存放的路径和文件名,如 splash /boot/logo/800x600x8.img 是指用在/boot/logo路径下的800×600像素的文件作为开机画面。

title OSname title

后面的字符就是在菜单项上所看见的选项,可以写上操作系统的名字和描述,如用title BluePoint Linux, Single Mode 代表这一选项的话,是引导Thiz Linux的单用户模式。

下面结合两个系统引导描述来解释几个引导选项的意义:

title Thiz Server, Default Mode

root (hd0,1)

kernel /boot/vmlinuz vga=auto root=/dev/hda2

hd0是指第一个硬盘(主硬盘),(hd0,1)是指第一个硬盘的第二个分区。kernel /boot/vmlinuz是指出Linux内核的路径在/boot/vmlinuz中。vga=auto是设置显示模式,root=/dev/hda2是指把第一个硬盘的第二个分区作为根挂载点。

title Microsoft Windows

root (hd1,0)

chainloader (hd1,0)+1

root (hd1,0)是指第二个硬盘(从硬盘)上的第一个分区。

chainloader (hd1,0)+1 是指装入一个分区的数据然后把引导权交给它。

提醒:《Linux操作系统下GRUB引导过程及原理》最后刷新时间 2024-03-14 01:05:20,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《Linux操作系统下GRUB引导过程及原理》该内容的真实性请自行鉴别。