• 1
  • 2
  • 3
  • 4
  • 5
Linux操作系统运维问题 首 页  »  帮助中心  »  云服务器  »  Linux操作系统运维问题
ECS Linux系统启动过程的具体流程
发布日期:2015-12-11 15:12:16

  Linux系统启动流程简述如下:

  1.、加电自检加载BIOS

  这一步启动加载BIOS,BIOS中包含了CPU的相关信息、设备启动顺序信息、内存信息、硬盘信息、时钟信息、PnP特性等等,系统在此读取boot选项读取从哪个设备启动,比如主板上的设置第一启动为硬盘,u盘,光盘等设备。

  2.、读取MBR

  MBR,即Master Boot Record,也就是主引导记录,在磁盘的的0磁道1扇区,大小为512字节,系统通过上面的步骤读取主机从哪个设备启动,根据上面的启动选项找到对应设备的MBR,如果第一个设备未找到MBR,将根据BIOS的设置去读取第二个设备的MBR。

  3.、读取boot loader

  由于各个操作系统格式不同,我们需要一个管理程序来处理核心档案加载问题即boot loader,每个用自己的loader扄能够加载属于自己的操作系统核心,其中Grub、spfdisk和Lilo是常见的Loader,linux中我们以grub为例,系统读取内存中的grub配置信息(一般为menu.lst或grub.lst)在Redhat系统中是在/boot/grub/grub.conf,根据这个启动不同的操作系统。

  4.、加载内核

  根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。此时,屏幕一般会提示“Uncompressing Linux”。当解压缩内核完成后,屏幕提示“OK, booting the kernel”。

  5.、启动第一个进程init

  此这一步启动系统的第一个进程/sbin/init进程,读取配置文件为 /etc/inittab,此文件的id:5:initdefault决定了系统的启动级别为5级别。

  请注意各级别的意义:

  级别0:关机

  级别1:单用户模式 ,类似于windows中的安全模式

  级别2:无网络的多用户模式

  级别3:有网络的多用户模式

  级别4:预留

  级别5:图形化界面

  级别6:重启

  如果设定为6,那么系统会不停重启。

  6.、执行系统的初始化脚本rc.sysinit脚本

  此脚本是系统的初始化脚本,它做了很多工作,包括设定PATH、设定网络配置(/etc/sysconfig/network)、设定/proc激活udev、启动swap分区等。

  7.、启动内核模块

  根据系统的配置文件etc/modules.conf文件或/etc/modules.d加载内核模块。

  8.、执行不同级别的脚本程序

  根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。

  9.、执行/etc/rc.d/rc.local脚本内容

  此脚本执行开机自启动的脚本,可将你准备开机启动的脚本写在此文件中,相当于winodows中的开启自动启动的功能。

  10.、执行打印登录的程序/bin/login程序

  到此系统算启动完毕,打印客户的登录界面mingetty程序待用户输入密码执行就行了。