linux的启动过程

************************************************

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文件

*************************************************


wKioL1L0kYXCScI_AAM4zQ1J5jk325.jpg

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

wKioL1L0kZzj6FkBAAUHOEKRl3g827.jpg



#####################################################################################################################################

总结启动流程

++++++++++++++++++++++++++++

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时


你可能感兴趣的:(linux,开机启动过程)