Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1208135
  • 博文数量: 322
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3276
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-17 09:21
文章分类

全部博文(322)

文章存档

2010年(155)

2009年(167)

我的朋友

分类: 嵌入式

2010-03-15 23:22:45

打开计算机时,计算机执行存储在ROM中的引导代码,这些代码接下来尝试确定如何加载并启动内核。内核检测系统的硬件,然后产生系统的init进程,这个进程总是PID 1。
在出现登录提示符以前,要完成几项工作。系统必须检查并安装文件系统,系统的守护进程启动起来,这些步骤是由init进程按顺序运行的一系列shell脚本来管理的。这些启动脚本通常被称为"rc文件”。

引导加载程序:LILO和GRUB
现在GRUB比LILO用得更多,特别对于在同一主机上运行多个操作系统的用户,每次改变LILO的配置之后,必须重新把它安装到引导记录(MBR)里,而GRUB会在启动时读入自己的配置文件(不用再去改写MBR)。
安装GRUN示例: 
#grub-install '(hd0,0)'
(hd0,0) hd表示第1物理硬盘 第1个分区。等同于Linux设备 /dev/hda1
默认GRUB从/boot/grub/grub.conf读取引导配置。grub.conf文件示例:
default=0
timeout=10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Red Hat linux (2.8.9-5)
root (hd0,0)
kernel /boot/vmlinux-2.6.9-5 ro root=/dev/hda1
这个例子只配置了一个操作系统。再看一个多系统引导的GRUB配置:
default=0
timeout=5
splashimage=(hd0,2)/boot/grub/splash.xpm.gz
hiddenmenu
title Windows XP
rootnoverify (hd0,0)
chainloader +1
title Red Hat
root (hd0,1)
kernel /boot/vmlinuz
title Fedora
root (hd0,2)
kernel /boot/vmlinuz
GRUB还支持命令行界面,当出现GRUB启动画面时按c键可以进入命令行模式。从命令行可以启动grub.conf文件里没有列出的操作系统,在命令行下按键可列出此状态下可用的命令:
reboot 软启动系统
find 在所有可以安装的分区上寻找一个文件
root 指定根设备(一个分区)
kernel 从根设备加载的内核
help 获得一条命令的交互性帮助
boot 以指定内核映像文件启动系统


LILO命令根据文件/etc/lilo.conf的内容安装配置信息。要改变引导配置,只要更新/etc/lilo.conf并重新运行lili即可。 但若引导过程发生变化时,必须重新配置LILO,例如,当用户每次想要添加一个新引导分区以及每次有一个新的内核要引导时,都要重新配置LILO。
基本的lilo.conf示例:
boot=/dev/hda   #LILO boot loader安装所在MBR
root=/dev/hda1   #指定根分区
install=/boot/boot.b
map=/boot/map
delay=20   #延时2秒等待用户交互
image=/vmlinuz   #第一行的映像是默认的启动内核
label=linux #显示在屏幕上的启动映像名称
read-only  
image=/vmlinuz-backup #备份启动映像
label=backup
read-only  
每一种可引导的映像都有一个标签,引导时,用户可以输入标签告诉LILO使用哪一个标签来引导。lilo.conf中的第一个标签为的引导标签。read-only指出内核应该以只读方式安装它的根文件系统。
不带任何参数运行lilo命令将生成并安装引导加载程序。
#lilo
Added linux*
Added backup
在安装lilo之前,我们可以运行lilo -t来测试配置是否正确,如果一切正常,再运行lilo进行实际安装。
LILO多重引导示例:
boot=/dev/hda   #LILO MBR安装在第一块IDE硬盘
delay=20   #等待2秒用户选择
default=linux   #如果用户没有选择,将启动linux标签
image=/boot/vmlinz-2.6.9
root=/dev/hda2
label=linux
read-only
other=/dev/hda1
label=Windows
table=/dev/hda
other=/dev/hda3
label=freebsd
table=/dev/hda
将基本的lilo.conf修改成如上配置后,需要重新运行lilo命令安装,但就先lilo -t测试一下。

阅读(773) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~