- 浏览: 799043 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
yuhanwm910731:
我现在需要实现复选(非级联选择)的树形下拉菜单,麻烦发给我一份 ...
extjs3.X支持树型的下拉控件 -
shine1200:
“所以咱们现在设置的虚拟路径“/message/upload/ ...
weblogic虚拟路径的配置和使用(2) -
icefireforest:
Fangrn 写道jx_dream 写道楼主,我最近在做树形下 ...
extjs3.X支持树型的下拉控件 -
cloudfile:
谢谢分享!
c++库c#调用开发时需要注意的一点 -
xuweilinbegin:
我也要一份哦:xuweilin15353@163.com,谢谢 ...
extjs3.X支持树型的下拉控件
从普通的桌面用户到 Linux® 系统管理员,大部分 Linux 用户都使用过一种名为引导加载程序的工具。此类工具的不同变种会提供不同层次的支持和功能。在很多情况下,Linux 发行版默认安装的引导加载程序并不总是适合需要;每个引导加载程序的默认设置也是如此。在本文中,Laurence Bonney 讨论了两个流行的引导加载程序 —— LILO 和 GRUB —— 的优点和缺点,并建议了很多配置,以充分发掘机器的潜力。<!-- START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --><!-- END RESERVED FOR FUTURE USE INCLUDE FILES-->
在不考虑他们的工作或专业情况下,所有 Linux
用户都会使用的是哪个工具?引导加载程序。通过本文了解引导加载程序的工作原理,认识两个流行的引导加载程序 LILO(LInux LOader)和
GNU GRUB(GRand Unified Boot loader), 并研究两者各自的优点和缺点。
本文内容包括: | |
什么是引导加载程序? | |
LILO | |
GNU GRUB | |
GRUB 与 LILO 的比较 | |
结束语 | |
参考资料 | |
什么是引导加载程序?
最简单地讲,引导加载程序(boot loader)
会引导操作系统。当机器引导它的操作系统时,BIOS 会读取引导介质上最前面的 512 字节(即人们所知的 主引导记录(master boot record,MBR)
)。在单一的 MBR 中只能存储一个操作系统的引导记录,所以当需要多个操作系统时就会出现问题。所以需要更灵活的引导加载程序。
主引导记录本身要包含两类内容 —— 部分(或全部)引导加载程序以及分区表(其中包含有关于介质其余部分如何划分为分区的信息)。当 BIOS 引导时,它会寻找硬盘驱动器第一个扇区(MBR)中存储的数据;BIOS 使用存储在 MBR 中的数据激活引导加载程序。
由于 BIOS 只能访问很少量的数据,所以大部分引导加载程序分两个阶段进行引导。在引导的第一个阶段中,BIOS 引导一部分引导加载程序,即 初始程序加载程序(initial program loader,IPL
)。IPL 查询分区表,从而能够加载位于不同介质上任意位置的数据。首先通过这步操作来定位第二阶段引导加载程序(其中包含加载程序的其余部分)。
第二阶段引导加载程序是引导加载程序的主体;很多人认为这才是引导加载程序的真正部分。它包含有加载程序更需要磁盘空间的部分,比如用户界面和内核引导程序。从简单的命令行到绘声绘色的 GUI,这些用户界面的范围很广泛。
引导加载程序通常配置为两种方式的其中之一:要么是作为主引导加载程序(primary boot loader),要么是作为二级引导加载程序(secondary boot loader)。主引导程序
是安装在 MBR 上的第一阶段引导加载程序(见先前的描述)。 二级引导加载程序
是安装在可引导分区的第一阶段引导加载程序。必须在 MBR 上安装单独的引导加载程序,并配置它将控制权转交给二级引导加载程序。
很多较新的 Linux 引导加载程序特别实用,因为它们提供了不同程度的交互,比如高级的 GUI
和加密的口令,以及通过选择操作系统进行引导的能力。这样,可以在具有多个物理磁盘的同一机器上共存多个操作系统。这种设置越来越常见,因为它帮助很多用
户在安装新的 Linux 时,能够保留先前由 Windows®
机器所生成的宝贵数据资料。我个人认为这种设置非常美妙;只使用一台机器就可同时拥有 Linux 和 Windows。
随着时间的推移,引导加载程序已经得到了增强,为用户引入了大量的功能。各个引导程序的功能和配置存在差异,但基本的目标是相同的。
现在来看两个较为流行的引导加载程序:LILO 和 GRUB。
|
|
LILO
LInux LOader(LILO)
已经成为所有 Linux 发行版的标准组成部分。作为一个 较老的/最老的
Linux 引导加载程序,它那不断壮大的 Linux
社区支持使它能够随时间的推移而发展,并始终能够充当一个可用的现代引导加载程序。有一些新的功能,比如增强的用户界面,以及对能够突破原来
1024-柱面限制的新 BIOS 功能的利用。
虽然 LILO 仍在不断地发展,但 LILO 工作原理的基本概念保持不变。
要使用 LILO 作为引导加载程序,需要做的事情取决于是要进行全新安装还是要让已经安装的 Linux 改为使用 LILO。如果是要进行全新安装,那么直接跳转到 配置 LILO
那一节。如果已经安装了某个 Linux 发行版,那么通常可以选择安装并配置 LILO(并可以将机器引导到新的 Linux 安装)。
要将现有的 Linux 迁移到 LILO,首先必须获得最新版本的 LILO(见 参考资料
)。在做任何其他事情之前,建议您确保在手边拥有一张 Linux 引导盘 —— 如果偶而弄错了某些地方,它可以提供很大的帮助,能够恢复到初始的 Linux 配置!将 LILO 安装到系统中之后,让它接管 MBR 非常简单。以 root 用户身份输入:
# /sbin/lilo -v -v
这将使用当前的 LILO 默认值,抹去 MBR 中当前所有内容。不过,请阅读 配置 LILO
,
以确保能够按预期引导起来。也要注意,如果想要在同一机器上运行 Windows 和 Linux,那么应该先安装 Windows OS,然后再安装
Linux OS,这样,在 Linux 安装中所选择的引导加载程序就不会被 Windows 引导加载程序所覆盖。与 Linux
引导加载程序不同,多数 Window 引导加载程序不支持引导 Linux。如果已经先安装了 Linux,那么只需要自己创建一张 Linux
引导盘,这样就可以在安装完 Windows 之后,回到 Linux 安装中并重写 MBR。
LILO 的配置都是通过位于 /etc/lilo.conf 的一个配置文件来完成的。清单 1
给出了一个示例配置,使用的是我的家用机器,支持 Linux 和 Windows
机器的双重引导。了解我的工作站的基本配置,就可以想像出这些配置是如何与实际机器相关联的:
- 主 HDD(物理磁盘 1)上安装了 Windows XP(最初机器上只有它)。在 Linux 术语中,这个 HDD 是 /dev/hda(在 GRUB 术语中是 hd0,0)。
- 从 HDD(物理磁盘 2)上安装了 Red Hat Linux;root 分区位于这个硬盘驱动器的第三个分区,即 /dev/hdb3(在 GRUB 术语中是 hd1,3)。
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=100 compact default=Linux image=/boot/vmlinuz-2.4.18-14 label=Linux root=/dev/hdb3 read-only password=linux other=/dev/hda label=WindowsXP |
清单 1 中的选项:
-
boot=
行告诉 LILO 在哪里安装引导加载程序。在上面的示例中,将把它安装到第一块硬盘的 MBR。也可以选择将 LILO 安装到 /dev/hdb3(示例中的 Linux 分区),这样需要向 /dev/hda 安装另一个引导加载程序,并令其指向 LILO 引导加载程序;然后只需要让 LILO 作为二级引导加载程序。通常,引导加载程序应该位于 /dev/hda。还可以将这个参数指向软盘驱动器(最常见的是 /dev/fd0),来制做 LILO 软盘引导磁盘。 -
map=
指向引导期间 LILO 内部使用的映射文件。当使用/sbin/lilo
命令安装 LILO 时,它会自动生成这个文件,其中包含有描述符表(还有其他内容)。建议不要改动这个文件! -
install=
是 LILO 在引导过程中内部使用的文件之一。它同时包含有引导加载程序的主要部分和二级部分。boot.b 文件的一个片段被写入到 MBR(引导加载程序的主要部分),它会指向那个映射,接下来指向二级引导加载程序。同样,不要改动它! -
prompt=
告诉 LILO 使用用户界面(本例中给出了两个选择 —— Linux 和 WindowsXP)。除了使用 prompt/user 界面以外,在适当情况下还可以为 Linux 内核等指定具体的参数。如果不在配置文件中指定此选项,那么 LILO 将引导到默认的 OS,不发生任何用户交互,也不会等待。(但是请注意,如果在引导时按下了 SHIFT,那么还是可以得到提示,当不想把引导加载程序暴露给普通用户时,这非常有用)。 -
timeout=
是引导提示在自动引导默认 OS(本例中是 Linux)之前的等待时间(以十分之一秒为单位)。如果在 lilo.conf 没有指定prompt
,那么这个参数就会被忽略。 -
compact
选项可以大大加速引导过程,它会将连续的读磁盘的请求合并为一个单独的请求。不过,这可能是一件祸福参半的事情,因为我在论坛上看到过很多贴子提到了关于此选项的问题。当希望从软盘引导时,这个选项尤其有用。 -
default=
选项告诉 LILO 默认使用哪个映像进行引导,比如在等待超时之后。这与 lilo.conf 文件中的某个映像的标签相关联。如果没有在配置文件中指定此选项,那么它将引导文件中指定的第一个映像。 - 对于允许用户引导到的每一个 Linux 版本,都应该指定
image=
及以下三个选项。image 选项指定希望引导到的内核版本。 -
label=
标明了在运行期间希望能够从用户界面引导的不同 OS。另外,这个标签用于指定引导的默认 OS。(注意:标签名称中避免出现空格;否则,引导那个文件时会出现无法预期的错误。) -
root=
告诉 LILO OS 文件系统实际所在的位置。在我们的示例中为 /dev/hdb3,即第二块硬盘上的第三个分区。 -
read-only
告诉 LILO 以只读的方式初始引导到文件系统。OS 一旦完全引导起来,就会以读写方式挂载。 -
password=
允许您为将要引导到的特定 OS 设置口令。不幸的是,这个口令是以可读文本的方式保存在 lilo.conf 文件中,所以,所有人都能够读取它。如果需要,还可以对想要引导自的每个操作系统设置口令(在我们的示例中,只为 Linux 的引导设置了一个口令)。 -
other=
的动作类似于 image 和 root 选项的组合,但是用于除了 Linux 以外的其他操作系统。在我们的示例中,它告诉 LILO 到哪里去找到 Windows OS(位于第一块硬盘的第一个分区)。如果先安装 Windows,后安装 Linux,通常会是这样。 -
label=
与所有其他 label 选项相同。
在 lilo.conf 文件中可以使用很多其他参数,不过清单 1 中的参数就足以让机器可用了。要获得关于 lilo.conf
的这些以及其他参数的进一步资料,请参考手册页(man lilo.conf)。由于在引导时不会读取
lilo.conf,所以,当这个文件有改动时,需要“更新”MBR。如果不完成此步骤就重新引导,那么对 lilo.conf
的修改不会在启动中反映出来。与先前将 LILO 写入 MBR 类似,需要运行:
$ /sbin/lilo -v -v
-v -v
标记会为您给出非常详细的输出。当像我们那样运行 LILO 时,有很多参数可以指定。参阅手册页以获得更进一步的信息(man lilo)。当 LILO 初始引导时,它会按次序打印出每个字母 —— L-I-L-O
。如果所有字母都显示出来,那么第一阶段引导就成功了。缺少任何内容都表示出现了问题:
- L:第一阶段引导加载程序已经被加载。如果 LILO 停止在这里,那么是在引导第二阶段引导加载程序时出现了问题。这通常会伴随有一个错误代码。在这个阶段的常见问题是介质问题,或者在 lilo.conf 文件中指定了不正确的磁盘参数。
- LI:第二阶段引导加载程序已经被加载。LILO 在此处停止表示第二阶段引导加载程序不能被执行。同样,这可能是因为出现了与只显示 L 类似的问题:正在加载,或者因 boot.b 文件被破坏、移动或删除而不能加载。
- LIL:第二阶段引导加载程序正在被执行。此时,可能会再次出现介质问题,或者映射文件(如 lilo.conf 文件中所指定的)在寻找描述符表时可能会出现问题。
- LIL?:加载到与上面相同的阶段。这通常意味着加载第二阶段引导加载程序使用了错误的地址,最常见的原因是 boot.b 所在的位置与 lilo.conf 文件所指定的不同。
- LIL-:加载到与上面相同的阶段。加载描述符表时出现问题,最常见的原因是描述符表错误。
- LILO:LILO 成功被加载,没有出现任何错误。
LILO 被成功加载后,将看到 LILO 提示符。还是使用前面的示例 lilo.conf 文件,此时将有两个选择,可能对 LILO
新手来说并不直观。首先,可以让 LILO 超时(10 秒后),这将引导 /dev/hdb3,即 Linux 分区。另外,可以按下 TAB
键,这将列出将要引导的操作系统选项。在我们的示例 lilo.conf 中,将得到的选项是 “Linux” 和
“Windows”。输入哪一个,就会引导到哪个 OS。指定加载 Linux 选项,会提示输入一个口令,在本例中是
linux
。如果输入的口令有误,则会返回 LILO 提示符。不幸的是,LILO 不支持引导期间的交互式配置,所以,只能在 lilo.conf 中或者运行
/sbin/lilo
时指定选项。关于第一次尝试 LILO 的最后一点建议是:我发现使用软盘引导磁盘比使用硬盘实现 LILO 配置更为安全。为此,必须在 lilo.conf 文件中使用
boot=/dev/fd0
替换 boot=/dev/hda
。那样,如果弄乱了 lilo.conf 文件中的任何配置,都可以取出引导磁盘并像先前一样引导到 Linux。当使用软盘进行引导一切正常以后,可以将 lilo.conf 修改回 boot=/dev/hda
,然后最后一次运行 /sbin/lilo
来上传修改。
|
|
GNU GRUB
近来,GRand Unified Boot loader
(通常称为 GRUB
)似乎要取代 LILO 在引导加载程序方面的统治地位。GNU GRUB 基于原来的 GRUB 程序(最初由 Erich Stefan Boleyn 所创建),正在由自由软件基金会(Free Software Foundation)进行积极开发。
与使用 LILO 相同,使用 GRUB 作为活动的引导加载程序所需要的步骤,取决于是安装全新的 OS 还是已经安装了 Linux 并计划转移到 GRUB。如果是进行全新安装,那么可以直接跳转到 配置 GRUB
那一节。如果已经安装了某个 Linux 发行版,那么通常可以选择安装并配置 GRUB(并可以将机器引导到新的 Linux 安装)。
计划迁移到 GRUB 的当前 Linux 用户需要去获得最新版本的 GRUB(见 参考资料
)。同样,与 LILO 相同,在做任何其他事情之前,需要在手边准备一张 Linux 引导盘。使用交互模式(后面将描述)则不需要这张磁盘,不过最好拥有一张以备急需时使用。将 LILO 安装到系统中之后,让它接管 MBR 非常简单。以 root 用户身份输入:
# /boot/grub/grub
这样将加载一个类似于 BASH 的命令提示符,可以在这里使用 GRUB 命令:
grub> install (hd1,3)/boot/grub/stage1 (hd0) (hd1,3)/boot/grub/stage2 p (hd1,3)/boot/grub/menu.conf
这个命令使用了 GRUB 安装命令,需要为它给出第一阶段映像的位置以及 MBR 的位置(
install (hd1,3)/boot/grub/stage1 (hd1)
)。也要给出第二阶段映像的位置((hd1,3)/boot/grub/stage2
)。最后,可选项 p (hd1,3)/boot/grub/menu.conf
告诉 GRUB GUI 菜单配置文件的位置。在前面的示例中,
hd1
是我的 Linux Disk
,hd0
是我的 Windows 磁盘。这样将使用当前 GRUB 默认值,并抹去 MBR 中当前所有内容(请阅读 配置 GRUB
,以确保能够按预期引导起来)。 GRUB 的配置都是通过位于 /boot/grub/grub.conf 的一个配置文件来完成的。清单 2 给出了一个示例配置,使用的是我的家用机器,支持 Linux 和 Windows 机器的双重引导:
default=0 timeout=10 splashimage=(hd1,3)/grub/splash.xpm.gz password --md5 $1$opeVt0$Y.br.18LyAasRsGdSKLYlp1 title Red Hat Linux password --md5 $1$0peVt0$Y.br.18LyAasRsGdSKLYlp1 root (hd1,3) kernel /vmlinuz-2.4.18-14 ro root=LABEL=/ initrd /initrd-2.4.18-14.img title Windows XP password --md5 $1$0peVt0$Y.br.18LyAasRsGdSKLYlp1 rootnoverify (hd0,0) chainloader +1 |
清单 2 中的选项:
-
default=
选项通知 GRUB 在超时之后默认使用哪个映像进行引导。这一选项与 grub.conf 文件中的某个映像相关联。 0 表示指定了第一个,1 表示指定了第二个,依次类推。如果没有在配置文件指定此选项,那么它将引导文件中指定的第一个映像。 -
timeout=
是在自动引导默认 OS(在本例中是 Red Hat Linux)之前引导提示会等待多少秒。 -
splashimage=
是用作 GRUB GUI 背景的图片所在的位置。 -
password
选项指定了使用 MD5 加密的口令,用于访问 GRUB 的交互式引导选项。注意,这不会阻止用户选择引导已经定义的 OS;需要为 每一个 -title
设置它。为了生成一个md5
口令,请运行 GRUB 所附带的grub-md5-crypt
工具(以 root 身份)。它将提示输入一个希望加密的口令。然后输出使用 MD5 加密的口令。将这个口令拷贝到 grub.conf 中password -md5
之后,但是要在同一行上。通常这个口令可以设置为 root 口令,因为无论如何也只有 root 才可以读取 grub.conf 文件。 -
title
标明了在运行期间能够从用户界面引导的具体 OS。与 LILO 不同,在这个名称中可以有空格。 -
password
的设置方式与前面的 password 相同。如果计划与其他用户共享此机器,那么不要将这个口令设置为 root 口令。 -
root
告诉 GRUB OS 文件系统的实际位置。可见,GRUB 引用介质的方式与 LILO 不同。在 LILO 示例中, /dev/hdb3 是第二块硬盘中的第三个分区。Grub 将此硬盘引用为(hd1,3),即第二块硬盘的第三个分区(disk 0 是第一块硬盘)。 -
kernel
:vmlinuz-X.X.XX-XX 是 root 目录中默认引导映像的名称。 -
initrd
:initrd-X.X.XX-XX.img 是 root 目录中默认 initrd 映像的名称。 -
title
与所有其他 title 选项相同。 -
password
:见其他口令选项。 -
rootnoverify
告诉 GRUB 不要尝试去改变 OS 的 root。这样,当文件系统不被 GRUB 所支持时,不会出现引导错误。 -
chainloader +1
告诉 GRUB 使用一个链式加载程序来加载这个 OS,加载 Windows 时需要这个选项。
在 grub.conf 文件中可以使用很多其他参数,不过清单 2 中的参数就足以让机器可用了。要获得关于 grub.conf 的这些以及其他参数的进一步资料,请参考手册页(man grub.conf)。
与 LILO 的配置文件不同,grub.conf 会在引导时被读取,当被修改时不必去更新 MBR。
与 LILO 类似,当 GRUB 初始加载时,从 MBR
加载第一阶段程序。加载后,它进入第一阶段和第二阶段引导加载程序之间的中间阶段(为了方便讨论,可称为第 1.5 阶段)。之所以存在第 1.5
阶段,是为了能够对 /boot/grub 中的 GRUB
配置文件进行常规的文件系统访问,而不是去访问磁盘块。然后进入引导加载程序的第二阶段,GRUB 加载 grub.conf 文件。
现在应该能够看到 GRUB GUI 了。对于熟悉 Windows 的用户来说,这看起来感觉比 LILO 更友好。不过,不要因为 GRUB 拥有 GUI 就认为它是一个不能处理数据的引导加载程序。可选项多得惊人。(见 引导时的附加配置
中的提示。)
如果像我那样配置,那么现在应该能看到屏幕中有两个选项:引导到 Red Hat Linux 或者引导到 Windows XP。默认情况下,它将加载 Linux。选择任意一个的结果不言而喻。
现在来看一些好东西。
在 GRUB GUI 中,按下任何键都会停止超时的计时。然后按下 P 键,可以输入 GRUB 口令,并获得对 GRUB 交互式引导选项的完全访问权限。按下以下其中一个键,应该能够使用三个选项之中的一个:
- 要在引导之前编辑命令,请按下 E。这将让您能够为当前选中的 OS 编辑具体的选项。GRUB 只会显示出与那个 OS
的引导相关的选项,然后您可以恰当地进行编辑。当为 root 文件系统指定了错误的 HDD
时,这尤其有用。如果需要以单用户模式访问机器(不需要指定口令就能够让您获得 root 访问权限!),那么在 GRUB 主屏幕上选择 Linux
OS。然后与前面一样,按下 E,并移到内核那一行(在我的示例中是
kernel /vmlinuz-2.4.18-14 ro root=LABEL=/
)。然后在那一行最后添加single
,并按下 B 来使用修改过的 grub.conf 进行引导。在编辑模式下所做的任何修改都不会保存到 grub.conf 文件中。 - 要修改内核参数,请按下 A。如果您是一位经验丰富的 Linux 用户,可以根据需要调整内核参数。
- 要获得类似于 BASH 的命令行界面,请按下 C。这个小型的命令行界面允许您在系统中查找 GRUB 配置文件,加载另外的配置文件,编辑配置文件中的行,以及直接输入 GRUB 命令。如果配置的变化(比如删除了某个分区)让系统无法引导,那么可能会用到这个界面。如果需要将系统引导为单用户模式,或者要让运行级别为 3 而不是普通的运行级别,也可能会使用到它。
这些选项有很多用途,但超出了本文的范围。
可见,GRUB 真正开放了引导期间的可能性。不过,这可能是一件好坏参半的事情,因为 GRUB 也潜在地允许攻击者在 OS 加载之前访问系统。会被误用的主要开放领域是:
- 访问单用户模式。所有加载到单用户模式的人都会得到 root 访问权限,使得 Linux 可被随意滥用。
- 访问其他操作系统。任何配置为不需要口令的可引导操作系统,比如 DOS,都将是开放的。
- 访问 GRUB 编辑器。这允许用户获得修改 GRUB 配置的完全访问权限。
在 GRUB 配置中,设置安全性非常重要;设置口令,并使用 MD5 加密,可以保证整个系统的安全。
GRUB 将要被 GRUB2 所取代。原来的 GRUB 将要被重新命名为 GRUB Legacy
;除了修复 bug 以外,不会再对它进行积极开发。GRUB2 将是对原来 GRUB 的完全重写。到目前为止,以下特性是变化的核心部分:
- 通过创建压缩的核心映像取代了第 1.5 阶段
- 支持核心映像的动态加载
- 争取让整个 GRUB 框架成为面向对象的
- 支持国际化,比如 非-ASCII 字符集
- 支持不同硬件体系结构和不同平台(不同于 Linux 的平台)
请参考 GRUB Web 站点(见下面的 参考资料
部分)以了解最新的进展。
|
|
GRUB 与 LILO 的比较
如本文开始处所述,所有引导加载程序都以类似的方式工作,满足共同的目的。不过,LILO 和 GRUB 之间有很多不同之处:
- LILO 没有交互式命令界面,而 GRUB 拥有。
- LILO 不支持网络引导,而 GRUB 支持。
- LILO 将关于可以引导的操作系统位置的信息物理上存储在 MBR 中。如果修改了 LILO 配置文件,必须将 LILO 第一阶段引导加载程序重写到 MBR。相对于 GRUB,这是一个更为危险的选择,因为错误配置的 MBR 可能会让系统无法引导。使用 GRUB,如果配置文件配置错误,则只是默认转到 GRUB 命令行界面。
|
|
结束语
与所有软件相同,对某个用户来说是最好的选择,并不是对所有人来说都是最好的。至于这里所涉及的两个引导加载程序,我个人喜欢的是 GNU
GRUB。它是一个非常好的全面的加载程序,组合了灵活的用户界面和大量的功能。但是,还有很多使用过并忠爱 LILO 的人仍然选择 LILO
作为引导加载程序。幸运的是,如果您刚刚开始接触 Linux 引导加载,使用哪个都不会有太大问题。
关于安全性,任何可以接触到引导磁盘/CD 的人,只需要使用没有设置安全性的 grub.conf 或
lilo.conf,就可以绕过本文中提及的所有安全措施。特别是使用 GRUB
时,因为能够引导到单用户模式,所以是一个严重的安全漏洞。解决此问题的一个简单方法是在机器的 BIOS 中禁止通过 CD
和软盘进行引导,并确保为 BIOS 设置了一个口令,使得其他人不能修改这些设置。
祝您好运!
参考资料
学习
- 您可以参阅本文在 developerWorks 全球站点上的 英文原文
。
- 教程“GRUB 入门
”(developerWorks,2001 年 1 月)介绍了如何安装和使用 GRUB。
- 教程“构建 Linux 测试网络
”(developerWorks,2003 年 5 月)介绍了如何组合 Samba 和 GRUB 来构建一个简洁的、可配置性极高的、跨平台的测试网络,能够在为数不多的机器上引导很多操作系统并构成网络。
- “从 FireWire 设备引导 Linux
”(developerWorks,2004 年 7 月)介绍了如何通过可移动驱动器引导 Linux(令老机器重获新生)。
- “技巧: 双引导 Linux
”(developerWorks,2002 年 4 月)介绍了如何在一台机器上安装多个 Linux 实例。
- “轻量级 Linux,第 1 部分
”(developerWorks,2002 年 10 月)介绍了如何构建 LILO。
- 在 developerWorks Linux 专区
可以找到更多为 Linux 开发者准备的参考资料。
获得产品和技术
- 获得最新的 LILO
。
- 获得最新版本的 GRUB 引导加载程序
,同时也了解一下 GRUB2
。
-
订购免费的 SEK for Linux
,在这套 DVD 中(两张),包含了来自 DB2®、Lotus®、Rational®、 Tivoli® 和 WebSphere® 的最新的用于 Linux 的 IBM 试用软件。
- 使用可以直接从 developerWorks 下载的 IBM 试用软件
来构建您的下一个 Linux 开发项目。
讨论
- 通过参与 developerWorks blogs 加入 developerWorks 社区。
关于作者
Laurence Bonney 是英国 IBM Hursley 实验室的一名软件工程师。他是致力于 WebSphere MQ JMS
产品的测试小组的技术小组领导人。在业余时间,他喜欢弹吉他(尽管弹得很糟),会尽可能利用假期去冲浪,还喜欢玩视频游戏。您可以通过 bonneyl@uk.ibm.com
与 Laurence 联系。
|
发表评论
-
提供IT系统运维支持、系统优化方案
2012-10-26 14:46 6提供IT系统运维支持、系统优化方案,有多个运维实施经验。 ... -
搭建mpi并行运算中遇到的问题与解决方案
2010-11-28 18:21 4821搭建mpi并行运算中遇到的问题与解决方案 1,[roo ... -
linux bash(2)
2010-11-10 22:29 1586十二、输入输出重定 ... -
linux bash(1)
2010-11-10 22:22 1460一、LINUX操作系统的基本结构 1 kernel、 ... -
LINUX系统高级应用
2010-11-10 16:18 1207【过滤大log文件】 #!/bin/bash ... -
【转载】ossec主机入侵检查系统架设
2010-09-30 09:51 1282一.OSSEC简要介绍: OSSEC 是一款开源的入 ... -
Linux多路径的使用及介绍
2010-09-25 08:37 1651多路径(multi-path)软件的介绍 普通的电脑主机都是 ... -
服务器出现broken pipe ,connection reset解决方法
2010-08-24 17:34 2883linux下webloigc经常出现broken pipe ... -
ELF文件病毒的分析和编写(转)
2010-08-11 09:46 3046这个文章是从网上搜来的,转来转去也不知道睡是原版的了,所以很抱 ... -
linux下容量不同硬盘的复制
2010-07-28 19:44 2373可以用parted magic光盘来实现 1.用part ... -
Linux 如何加快 dd 命令备份的速度呢
2010-07-28 19:36 2134增加块大小 dd if=.. of=.. bs=128k -
Linux中重定向及管道
2010-07-28 08:44 11671重定向 1.1 重定向符号 > ... -
提供j2ee中间件优化方案和实施
2010-05-11 09:04 384提供j2ee中间件安装优化方案和实施,提供oracle等数据库 ... -
从bind安装到配置全过程.所有linux平台都支持,带注释
2010-04-26 22:11 2469从安装到配置.不会架设DNS的人来.不是RPM安装的. ... -
apache前台代理分发 weblogic集群报错:错误模块 libhttpd.dll,错误地址 0x0001c0a2 解析以及解决方案
2010-04-14 22:28 34522003的报错:错误应用 程序 Apache.exe,版本 ... -
apache 启动httpd.exe 报错 Could not reliably determine the server's fully qualified
2010-04-14 20:35 2339前言:apache虽然能运行,但是看见error.log中 ... -
AIX下比较两个目录文件并同步数据,供参考
2010-03-25 13:06 1747#!/usr/bin/ksh # Compare the t ... -
check 系统账号密码是否过期shell脚本
2010-03-25 12:37 1377自己写的check aix系统用户密码是否过期的shell 脚 ... -
apache日志自动切割
2010-03-24 09:36 2174前几天给国家地震台 ... -
Remounting filesystem read-only硬盘只读,悲剧
2010-03-02 16:36 11492Dec 6 00:06:36 backup kernel: ...
相关推荐
Linux的引导管理程序 比较老的LILO和目前用的较多的Grub
Linux开机管理:LILO与Grub.pdf
比LILO更强劲的多操作系统引导程序GNU GRUB
GRUB引导详解引导文件 首先由BIOS中的程序执行自检,自检通过后,就根据CMOS的配置找到第一个可启动磁盘的MBR中的Boot Loader程序(一般在启动盘的...其中,GRUB是目前使用最为广泛,并且非常优秀的一款启动引导程序。
本文介绍了lilo安装引导装载程序的大纲和主要函数,介绍了用lilo安装一个将在下一次启动时激活的引导装载程序的方法。
LILO是一个在系统启动时运行的程序,它允许选择用于引导计算机的操作系统。
如果你既没做系统启动软盘,同时多系统的引导LILO和GRUB又被删除,那么只能使用Linux系统安装盘来恢复root的密码。如果不怕麻烦的话,还可以把安装linux的硬盘卸下后挂到其他系统环境下同样是去修改/etc/passwd文件...
Boot Loader是计算机启动中第二个要执行的程序,它是引导操作系统的关键程序。...其中,GRUB是目前使用最为广泛,并且非常优秀的一款启动引导程序。本文阐述了GRUB的特性,介绍了编译、安装和操作GRUB的方法。
grub可以代替lilo来完成对Linux的引导,特别适用于linux与其它操作系统共存情况,与lilo相比,它有以下特点: 支持大硬盘 支持开机画面 grub支持在引导开机的同时显示一个开机的个性化开机画面;对于PC厂商,这样...
gfxboot 是 syslinux(最高版本 4)和 grub1 的图形引导屏幕。 特征 可编辑的启动选项 菜单系统 上下文相关的帮助文本(在 html 中)显示在单独的窗口中 支持不同的键盘布局 i18n 支持(通过 po 文件进行本地化,...
nasm写的引导程序nasm写的引导程序nasm写的引导程序
Grub原本是Linux上的引导器,与Lilo...Grub和NT Loader可以互相引导,而且Grub for DOS提供的grldr可以象ntldr一样直接被OS Loader加载。要解决多系统的引导问题,Grub for DOS是最好的选择,而且新版可以支持中文。
Boot Loader(比如,LILO 和 GRUB 等)一起组成。BIOS 在完成硬件检测和资源分配后 ,将硬盘 MBR 中的 Boot Loader 读到系统的 RAM 中,然后将控制权交给 OS Boot Load er。Boot Loader 的主要运行任务就是将内核...
lilo命令用于安装核心载入,开机管理程序。lilo是个Linux系统核心载入程序,同时具备管理开机的功能。单独执行lilo指令,它会读取/etc/lilo.conf配置文件,然后根据其内容安装...使用LILO 作为引导加载程序: [root@l
(4)理解LILO和GRUB的原理,掌握linux的多系统引导方法。 (5)了解linux系统启动的原理,理解内核运行的原理。 三.实验方法 (1)实验原理: 根据本章所学的内容,在虚拟机上学习如何启动和关闭linux系统;查看、...
而某些系统自带的多系统引导程序(如 LILO,NT Loader等)则可以将自己的引导程序放在系统所处分区的第一个扇区中,在Linux中即为两个扇区的SuperBlock. 注:以上步骤中使用的是标准的MBR,多系统引导程序的引导过程与此...
博文链接:https://lindows.iteye.com/blog/244904
LILO是一个在Linux环境编写的Boot Loader程序(所以安装和配置它都要在...下面让我们看看几种典型情况下硬盘的主引导扇区和各个分区的引导扇区内程序的内容。(1)计算机上只装了DOS一个操作系统这种情况和刚才介绍的DOS
可能在安装WIN时,把GRUB或者LILO从MBR上清除。本文介绍了如果在没有系统引导软盘只有安装盘的情况下,所采取的解决办法。
是不是想让系统直接启动到Windows,不出现Linux的Grub(或LILO)引导界面(Solution 1~3),或者是在Windows中删除了Linux分区后无法正确启动Windows