引导加载程序(boot loader) —— LILO 和 GRUB

上一篇 / 下一篇  2007-07-04 16:24:11 / 个人分类:Linux

从普通的桌面用户到Linux?系统管理员,大部分Linux用户都使用过一种名为引导加载程序的工具。此类工具的不同变种会提供不同层次的支持和功能。在很多情况下,Linux发行版默认安装的引导加载程序并不总是适合需要;每个引导加载程序的默认设置也是如此。在本文中,讨论两个流行的引导加载程序——LILOGRUB

在不考虑他们的工作或专业情况下,所有Linux用户都会使用的是哪个工具?引导加载程序。通过本文了解引导加载程序的工作原理,认识两个流行的引导加载程序LILOLInux LOader)和GNU GRUBGRand Unified Boot loader),并研究两者各自的优点和缺点。

什么是引导加载程序?

最简单地讲,引导加载程序(boot loader会引导操作系统。当机器引导它的操作系统时,BIOS会读取引导介质上最前面的512字节(即人们所知的主引导记录(master boot recordMBR))。在单一的MBR中只能存储一个操作系统的引导记录,所以当需要多个操作系统时就会出现问题。所以需要更灵活的引导加载程序。

主引导记录本身要包含两类内容——部分(或全部)引导加载程序以及分区表(其中包含有关于介质其余部分如何划分为分区的信息)。当BIOS引导时,它会寻找硬盘驱动器第一个扇区(MBR)中存储的数据;BIOS使用存储在MBR中的数据激活引导加载程序。

由于BIOS只能访问很少量的数据,所以大部分引导加载程序分两个阶段进行引导。在引导的第一个阶段中,BIOS引导一部分引导加载程序,即初始程序加载程序(initial program loaderIPL)。IPL查询分区表,从而能够加载位于不同介质上任意位置的数据。首先通过这步操作来定位第二阶段引导加载程序(其中包含加载程序的其余部分)。

第二阶段引导加载程序是引导加载程序的主体;很多人认为这才是引导加载程序的真正部分。它包含有加载程序更需要磁盘空间的部分,比如用户界面和内核引导程序。从简单的命令行到绘声绘色的GUI,这些用户界面的范围很广泛。

引导加载程序通常配置为两种方式的其中之一:要么是作为主引导加载程序(primary boot loader),要么是作为二级引导加载程序(secondary boot loader)。主引导程序是安装在MBR上的第一阶段引导加载程序(见先前的描述)。二级引导加载程序是安装在可引导分区的第一阶段引导加载程序。必须在MBR上安装单独的引导加载程序,并配置它将控制权转交给二级引导加载程序。

很多较新的Linux引导加载程序特别实用,因为它们提供了不同程度的交互,比如高级的GUI和加密的口令,以及通过选择操作系统进行引导的能力。这样,可以在具有多个物理磁盘的同一机器上共存多个操作系统。这种设置越来越常见,因为它帮助很多用户在安装新的Linux时,能够保留先前由Windows?机器所生成的宝贵数据资料。我个人认为这种设置非常美妙;只使用一台机器就可同时拥有LinuxWindows

随着时间的推移,引导加载程序已经得到了增强,为用户引入了大量的功能。各个引导程序的功能和配置存在差异,但基本的目标是相同的。


TAG: Linux

 

评分:0

我来说两句

Open Toolbar