LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1620|回复: 5

lilo:如何实现类似GRUB的chainloader从一个引导备份文件引导系统?[已解决]

[复制链接]
发表于 2007-10-11 22:22:29 | 显示全部楼层 |阅读模式
先后实现了 lilo 和 grub 从 reiser4 文件系统中引导系统。看上了lilo的 password 可以加密启动项的功能。但lilo不如grub灵活,我已经将grub的引导信息导出为文件了,如何让lilo切换到grub呢?这个引导备份文件在第一主分区的 boot 目录下,文件名为 MBR_sda1 。lilo.conf应该如何写呢?

/ 2007 10 14 /
问题解决了。是从 (hd0,2)+1 上引导的,不是以文件的方式。lilo可以实现我要的效果。
补充: (hd0,2)+1 ,第一硬盘第三主分区的第一扇区含有 GRUB 引导信息。

这样, Lilo 启动时,可以选择名为 GRUB 的启动菜单,按Enter键之后此时屏幕上出现 GRUB 引导菜单并提示输入密码。由于已改 /etc/lilo.conf 为 600 权限,属主:组为root:root,也不必担心密码不安全了。

这是我的 /etc/lilo.conf 文件:
  1. # Begin /etc/lilo.conf
  2. # lilo.conf
  3. #
  4. # global options
  5. boot=/dev/sda
  6. keytable=/boot/uk.ktl
  7. lba32
  8. map=/boot/map
  9. prompt
  10. timeout=100
  11. # set the name of the default image to boot
  12. default=Pure64
  13. # define an image
  14. image=/boot/clfskernel-2.6.22.6-64bit
  15.     label=Pure64
  16.     root=/dev/sda1
  17.     read-only
  18.     password="xxxxxxxxxx"
  19.     vga=792
  20. # optionally add parameters to pass, e.g.
  21. #   append="video=radeonfb:1024x768-16@70"
  22. # repeat for any other kernel images
  23. image=/media/sda2/boot/clfskernel-2.6.22.6-64bit
  24.     label=x86_64
  25.     root=/dev/sda2
  26.     read-only
  27.     password="xxxxxxxxxx"
  28.     vga=792
  29. # optionally, add legacy operating systems
  30. # see man lilo.conf for examples
  31. # repeat for any other kernel images
  32. # Loader GRUB form (hd0,0)+1
  33.     other=/dev/sda3
  34.     label=GRUB
  35.     password="xxxxxxxxxxx"
复制代码
发表于 2007-10-12 06:56:42 | 显示全部楼层
看不明白樓主意圖,能否先說明 Grub 下是如何引導?

另,Grub 也可以設置 password 的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-12 13:50:21 | 显示全部楼层
是这样的:
GRUB安装到MBR或boot 或 / 分区的第一扇区。
dd 将此扇区导出为文件,比如 此文件名为sda1,将它 放到第一主分区某目录(比如 boot 目录)。
GRUB可以用 chainloader (hd0,0)/boot/sda1 的方法读此文件的引导信息,并尝试引导系统。
lilo 如何办到?
看过 man lilo.conf 后还是很模糊,尝试多次均未成功。

GRUB ,我不知道如何加密启动项。我想达到的效果是,选择某启动项在敲下 Enter 键尝试启动时提示输入密码。GRUB支持交互式引导,可以在开机时选择命令模式和编辑模式,但这太好用了。
回复 支持 反对

使用道具 举报

发表于 2007-10-12 23:45:38 | 显示全部楼层
N 久没有用 lilo 了,但印像中 lilo 是没有这种引导方式的

一直以为 lilo 该被淘汰了,直到读过 CLFS Pure64 的手册才知道 Grub 竟然是不能取代它的呢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-13 00:08:26 | 显示全部楼层
9494啊
lilo 不可替代。 grub 未出 64bit 补丁。如果想用,可以拷贝 32 位的 /usr/lib/grub/i386/* 到 /boot/grub/ ,然后用LiveCD的 grub 写到引导扇区。但此法有时候会有一些问题,在reiser4文件系统中并非百发百中,可能今天好好的,明天就无法启动 GRUB 了。
Pure64 系统自身没有 grub 程序,无法在系统运行时写引导。所以 Pure64 选择了 lilo 。
lilo加密启动项,这样似乎更安全。 /etc/lilo.conf 改为 600 权限,普通用户就无从得知 密码了。
Non-Multilib比较简单。而 x86_64-Multilib 很复杂,往往因为一个软件包编译有问题或者软件包自身有问题导致以后的软件都有问题,查错较难改错更难。x86_64-Multilib 拿来练手还可以,真正要用难度还是比较大,或者说我还要继续提高。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-14 11:39:34 | 显示全部楼层
问题已解决,见第一帖,已经编辑过帖子了。
最新的 lfslivecd 也是有 grub 和 lilo 两个引导装载程序。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表