您的位置:首页 > 运维架构 > Linux

linux的启动过程

2014-02-07 15:56 218 查看
************************************************
rhel5
1.硬件读取引导扇区mbr(512b,446mbr/64分区表/2检验)
2.加载grub(lilo)
3.加载内核(以只读的方式挂载)
4.挂载根文件系统
5.启动init(一切进程的“祖父”)
6.读取/etc/inittab文件
7.读取rc.sysinit文件
8.运行rcX.d下的文件(文件都是init.d下的符号链接)
9.读取/etc/rc.d/rc.local文件
*************************************************




linux boot(RHEL5)
-->bios-->disk-->mbr(512b,446mbr/64分区表/2检验)-->stage2-->grub.conf-->(vmlinuz initrd.img)-->init-->/
etc/inittab--》/etc/rc.local

mbr主引导记录(446):grub--引导器
-------------------------
vim /boot/grub/grub.conf

grub.conf:
default=0--默认从第一个标签来启动系统
timeout=5--启动的时候停留5秒
splashimage=(hd0,0)/grub/splash.xpm.gz--背景图片

title Red Hat Enterprise Linux (2.6.18-164.el5)--第一个启动标签
root (hd0,0)--第一块硬盘的第一个主分区
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/GLSvg/GLSroot rhgb quiet
initrd /initrd-2.6.18-164.el5.img

kernel:内核
/vmlinuz-2.6.18-164.el52.6.18-164.el5 =/boot/vmlinuz-2.6.18-164.el5

ro--只读,以只读方法加载内核

真正操作系统的根分区:
root=/dev/GLSvg/GLSroot rhgb quiet

rhgb--红帽的启动进度条

quiet--以静默方式来发现在硬件,不显示发现硬件输出信息
----------------------------------

#vim /etc/inittab
id:5:initdefault:
0 - 停机
1 - 单用户模式,救援模式的一种,进入这个模式不需要输入任何密码就可以拥有root的权限
2 - 多用户模式,但不启用网络(NFS)
3 - 完全多用户模式,不启用图形界面,此模式是所有生产环境中服务器用得最多的一种模式。
4 - 保留位
5 - X11,图形界面
6 - reboot 重启

运行级别的切换:
临时切换: init 0 init 6 init 3
固定: #vim /etc/inittab
id:3:initdefault:
# reboot
常用的模式:1 3 5

si::sysinit:/etc/rc.d/rc.sysinit--系统初始化,主机名,网络
,selinux
/etc/fstab

根据不同的运行级别加载指定级别服务
l0:0:wait:/etc/rc.d/rc 0 /etc/rc.d/rc0.d/S10network S代表开机启动,10(0-99)启动顺序 network服务的名字
l1:1:wait:/etc/rc.d/rc 1/etc/rc.d/rc?.d/ K=kill
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"--UPS电源的定义

# 启动时启用的终端个数:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

图开界面:
x:5:respawn:/etc/X11/prefdm -nodaemon

/etc/rc.local--存放用户自定义的开机命令

RHEL6 boot--基于事件的并行化启动,比起RHEL5串行启动快得多
SysVinit(RHEL5)---> upstart(RHEL6)

bios-->mbr-->grub-->kernel-->initrd-->init-->/etc/rc.sysinit(/etc/fstab)-->/etc/event.d-->/etc/init.d/functions-->/etc/inittab/--> /etc/init/-->/etc/rc?.d-->/etc/rc.local




#####################################################################################################################################
总结启动流程
++++++++++++++++++++++++++++
REHL5
第一部分:BIOS-->HD-->MBR
第二部分:grub.conf [root()-->kernel-->initrd]
第三部分:init (/etc/inittab-->rc.sysinit-->rc.d/rcX-->rc.local)
+++++++++++++++++++++++++++++
RHEL6
bios-->mbr-->grub-->kernel-->initrd-->init-->/etc/rc.sysinit(/etc/fstab)-->/etc/event.d-->/etc/init.d/functions-->/etc/inittab/--> /etc/init/-->/etc/rc?.d-->/etc/rc.local
第一部分:BIOS-->HD-->MBR
第二部分:grub.conf [root()-->kernel-->initramfs]
第三部分:/etc/inittab (rhel5) --> /etc/inittab /etc/init/ (rhel6)
/etc/initab --> /etc/init --> /etc/init/rcS.conf --> /etc/rc.sysinit -->/etc/init/rc.conf -->/etc/rc.d/rc5.d/ --> /etc/init/start-ttys.conf --> /etc/init/prefdm.conf
#####################################################################################

# vim /etc/issue--打开终端时的提示信息(默认显示系统版本)切换终端init 3
# vim /etc/motd --登录成功时显示的提示信息 远程ssh时
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: