八、
啟動引導
1
、
Linux
的啟動流程
1) BIOS
自檢
2)
啟動
GRUB/LILO
3)
運行
Linux kernel
並檢測硬件
4)
掛載根文件系統
5)
運行
Linux
系統的第一個進程
init(
其
PID
永遠為
1
,是所有其它進程的父進程
)
6) init
讀取系統引導配置文件
/etc/inittab
中的信息進行初始化
7)
執行系統初始化腳本-
/etc/rc.d/rc.sysinit
,執行系統初始化
(
包括很多內容
)
8)
根據指定的運行級別
(runlevel)
來運行服務器腳本程序,再執行腳本
/etc/rc.d/rc.local
9)
運行一些其他的特別服務,一般為
/sbin/mingetty
和
/etc/X11/prefdm
10) Linux
控制台
(console)
提示用戶輸入用戶名、密碼進行登陸。
總結:
BIOS
初始化
檢查外圍設備
檢查啟動設備
讀區
MBR
2
、在
Linux
中常用的啟動引導工具:
grub
和
lilo
在
Linux
和
WINDOWS
兩系統並存時就需要安裝
GRUB
(
Grand Unified Bootloader
),
GRUB
被廣泛地
用於替代
lilo,GRUB
支持在啟動時使用命令行模式
,
支持
md5
加密保護 還可以從
ext2/ext3
、
ReiseFS
、
JFS
、
FAT
、
minix
及
FFS
文件系統上啟動其配置文件為
/boot/grub/grub.conf,
更改
grub.conf
即可立時生效如果
硬盤上的
MBR
被更動過,可以用
/sbin/grub-install /dev/hda
來重安裝
grub
現在我們打開
/boot/grub/grub.conf
查看一下
# vim /boot/grub/grub.conf
內容如下:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda2
# initrd /initrd-version.img
#boot=/dev/sda
default=0
#default=0
表示默認啟動第一個系統
,
如果系統有兩個系統是用什么做為分隔符的呢?
title
就是系統的分
隔符
,
第一個
title
后面就是第一個系統
,
用
0
表示。
timeout=5
#timout=5
,就是默認在啟動選擇界面停留的時間,單位是秒。等待
5
秒自動進入默認操作系統
splashimage=(hd0,0)/grub/splash.xpm.gz
#splashimage
是
grub
啟動背景畫面,如果是自己寫
grub.conf
文件,這個可以不用寫。
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-53.el5)
#title
后面就是系統在啟動時候顯示的名字
root (hd0,0)
#root
啟動文件所在位置
kernel /vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet
#kernel
內核所在位置和名字
initrd /initrd-2.6.18-53.el5.img
#initrd
內核鏡象的名字
grub.conf
的范例:
timeout=10 #
等待
10
秒自動進入默認操作系統
splashimage=(hd0,0)/grub/splash.xpm.gz #grub
啟動背景畫面
default=0 #
默認進入第一個標題
title Red Hat Linux (2.4.20-18) #Red Hat Linux
標題
root (hd0,0) #
根文件系統位置
kernel /vmlinuz-2.4.20-18 ro root=LABEL=/ #
核心位置與核心加載參數
initrd /initrd-2.4.20-18.img #
啟動
initrd ram
盤
title windows #
另一個操作系統的標題
rootnoverify (hd0,1) #
操作系統存放在
hd0,1
上,不要在
grub
里
mount
chainloader +1 #
從
hd0,1
的第一個扇面啟動