Linux加载程序GRUB和LILO配置示例

本文详细介绍了Linux系统中GRUB和LILO两种引导加载程序的配置过程,包括GRUB的menu.lst配置示例、GRUB 2的核心组件以及LILO的配置文件/etc/lilo.conf。通过示例展示了如何安装和配置GRUB到MBR、软盘和CD映像,以及如何使用LILO创建可引导软盘。
摘要由CSDN通过智能技术生成

前言:

PCs 的引导过程:

  1. 当 PC 启动时,BIOS (Basic Input Output Service) 会执行一个自检。
  2. 当机器通过自检时,BIOS 会加载 Master Boot Record(或 MBR,通常位于引导驱动器的第一个 512 字节扇区)。引动驱动器通常是系统上的第一个硬盘驱动器,但也可以是一个磁盘、CD 或 USB 密匙。
  3. 对于硬盘驱动器,MBR 加载一个阶段 1 启动加载程序,该程序通常是 Linux 系统上的 LILO 或 GRUB 阶段 1 启动加载程序。这是另一个 512 字节单扇区记录。
  4. 阶段 1 启动加载程序通常加载一个记录序列,该序列通常称为阶段 2 启动加载程序(有时称为阶段 1.5 加载程序)。
  5. 阶段 2 加载程序加载操作系统。对于 Linux,这是内核,也可能是初始 RAM 磁盘 (initrd)。
您的系统应该能够安装两个流行启动加载程序的其中一个:LILO (LInux LOader) 或 GRUB (GRand Unified Boot loader)。


清单 1. /boot/grub/menu.lst GRUB 配置示例(/boot/grub/grub.conf(或 /boot/grub/menu.lst))

				
				
				
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,5)
#          kernel /boot/vmlinuz-version ro root=/dev/sda6
#          initrd /boot/initrd-version.img
#boot=/dev/sda6
default=1
timeout=10
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
#hiddenmenu
password --md5 $1$RW1VW/$4XGAklxB7/GJk0uO47Srx1
title Upgrade to Fedora 11 (Leonidas)
	kernel /boot/upgrade/vmlinuz preupgrade \ 
      repo=hd::/var/cache/yum/preupgrade stage2=\
      hd:UUID=8b4c62e7-2022-4288-8995-5eda92cd149b:/boot/upgrade/install.img \
      ks=hd:UUID=8b4c62e7-2022-4288-8995-5eda92cd149b:/boot/upgrade/ks.cfg
	initrd /boot/upgrade/initrd.img
title Fedora (2.6.26.8-57.fc8)
	root (hd0,5)
	kernel /boot/vmlinuz-2.6.26.8-57.fc8 ro root=LABEL=FEDORA8 rhgb quiet
	initrd /boot/initrd-2.6.26.8-57.fc8.img
title Fedora (2.6.26.6-49.fc8)
	root (hd0,5)
	kernel /boot/vmlinuz-2.6.26.6-49.fc8 ro root=LABEL=FEDORA8 rhgb quiet
	initrd /boot/initrd-2.6.26.6-49.fc8.img
title GRUB Menu
	rootnoverify (hd0,1)
	chainloader +1
title Windows
	rootnoverify (hd0,0)
	chainloader +1
(注:GRUB(至少是 GRUB Legacy)是从 0 而不是从 1 开始对驱动器、分区和其他需要计数的东西进行计数的。还要注意的是,第一个内核行非常长。对于发行版,我们使用一个反斜杠(\)来指出何处需要中断。)


示例中的所有其他部分应用的菜单命令包括:

#
以 # 开头的所有行都是注释,GRUB 将对它们置之不理。这个特殊的配置文件最初由 Red Hat 安装程序 anaconda 生成。如果安装 Linux 时安装 GRUB,可能会发现您的 GRUB 配置文件添加了一些注释。这些注释通常用于帮助系统升级程序,以便您的 GRUB 配置能够与升级后的内核保持同步。当您自己编辑这个配置文件时,一定要注意为此目的而保留下来的任何标记。
default
如果用户在规定时限内没有做出任何选择,该命令将指定要加载的系统。在我们的示例中,default=2 表示加载 第三项。不要忘了,GRUB 从 0 而不是 1 开始计数。如果没有指定,那么默认值是引导第一项,编号为 0。
timeout
指定启动默认项超时,以秒为单位。注意,LILO 以 0.1 秒作为超时单位,而 GRUB 使用 1 秒作为超时单位。
splashimage
指定将与启动菜单一起显示的背景(或 splash)映像。GRUB 将第一个硬盘驱动器称之为 (hd0),将该驱动器上的第一个分区称之为 (hd0,0)。因此,splashimage=(hd0,6)/boot/grub/splash.xpm.gz 表示使用位于第一个硬盘驱动器的第 7 个分区上的文件 /boot/grub/splash.xpm.gz。注意,这个映像是一个使用 gzip 压缩的 XMP 文件。支持 splashimage 的是一个补丁,您的版本中可能没有包含。
password
指定用户在能够解锁菜单、编辑一个配置行或输入 GRUB 命令前必须输入的密码。这个密码可能是明文格式。GRUB 还允许将密码存储为一个 MD5 摘要,我们的示例就是这样做的。这样更安全一些,大多数管理员都会设置一个密码。如果不设置密码,用户就能够完全访问 GRUB 命令行。
title
一个描述性标题,当 Grub 启动时显示为菜单项。使用方向键上下移动标题列表并按 Enter 键选择一个特定项。
root
指定将要启动的分区。与 splashimage 一样,从 0 开始计数,因此指定为 root (hd0,6) 的第一个 Red Hat 系统实际上是在第一个硬盘驱动器的第 7 个分区上(本例中为 /dev/hda7),而指定为 root (hd1,10) 的第一个 Ubuntu 系统位于第二个硬盘驱动器上。GRUB 将尝试加载这个分区以检查它,并在某些情况下向已启动操作系统提供一些值。
kernel
指定将被加载的内核映像以及所需内核参数。这类似于 LILO 映像append 命令的组合,您将在 LILO 小节看到该命令。在本例中,有两个不同的 Fedora 8 内核,以及升级内核。
initrd
初始 RAM 磁盘 的名称,包含文件系统挂载之前内核需要的模块。
savedefault
本示例中不使用。如果指定了菜单命令 default=saved,并为一个操作系统指定了 savedefault 命令,那么引导该操作系统将导致它变为默认值,直至启动带有指定 savedefault 的另一个操作系统。在这个示例中,default=2 将覆盖保存的所有默认值。
boot
一个可选参数,指示 GRUB 启动选择的操作系统。当一个选项所有命令全部执行完时,这将是一个默认操作。
lock
本示例中不使用。没有输入密码之前不会启动指定项。如果使用这个命令,那么还应该在初始选项中指定一个密码;否则,用户可以编辑您的锁定选项并启动系统,或者添加 “single” 到其中的一项。如果您愿意的话,还可以为个别条目指定一个不同的密码。
rootnoverify
类似于 root,除非 GRUB 不尝试挂载文件系统或验证其参数。这通常用于 GRUB 不支持的文件系统,比如 NIFS。如果您想要 GRUB 加载硬盘驱动器上的主引导记录,也可以使用这个命令,例如,访问不同的配置文件或者重新加载您之前的启动加载程序。
chainloader
指定将作为阶段 1 文件加载的另一个文件。值 “+1” 等同于 0+1,表示加载从扇区 0 开始的一个扇区,即,从 root 或 rootnoverify 指定的设备加载第一个扇区。
清单 2. 将 GRUB 安装到软盘上

[root@pinguino ~]# grub-install /dev/fd0
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0)	/dev/fd0
(hd0)	/dev/sda
注意:您可能使用 GR
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值