Linux系统启动过程_第1页
Linux系统启动过程_第2页
Linux系统启动过程_第3页
Linux系统启动过程_第4页
Linux系统启动过程_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Linux系统启动过程RedHatEnterpriseLinux启动流程图初始化BIOS&计算机开机后首先会初始化BIOS,总的来说BIOS任务有二:其一,检测所有外置硬体设备,收集信息,以便以后给操作系统使用;其二,根据BIOS设置的设备启动顺序,寻找启动磁盘,以引导系统启动。二执行启动加载器&BIOS找到启动磁盘后,接下来就会启动磁盘中的“操作系统”。所谓找到启动磁盘,通常是指找到硬盘的第一个扇区,这个扇区也即启动扇区(BootSector),也称为主要启动记录(MasterBootRecord,MBR)扇区。&系统找到启动记录扇区后会执行并启动位于这个扇区中的前446字节空间中的“操作系

2、统”,但由于操作系统不可能只有446字节的大小,所以这个空间无法存储真实的操作系统,为了解决这个问题人们采取了程序调用的方式,也即,在这个446字节的空间中存储一个程序,再由这个程序加载存储于其它位置的操作系统。&这个小存储于446字节中的小程序就是:启动加载器(BootLoader),在RedHat的各版本Linux中,早期的加载器多为LILO,现在多为GRUB。三载入内核&当BIOS顺利执行启动加载器后,启动加载器会寻找存储于其它扇区中的操作系统,然后启动操作系统。当然,启动操作系统前肯定是要先启动内核的,不过,在启动内核前可以通过启动加载器(GRUB)传递一些参数(内核启动参数)给内核,

3、以便让内核能够改变启动方式(如,Runlevel),或取得启动时一些重要的信息。&Linux内核启动后,会执行以下几项工作:检测所有硬件设备&内核会首先向BIOS查询计算机硬件设备信息,然后接管设备,以提供给系统使用;驱动硬件设备&系统要想使用这些硬件设备必须加载硬件设备的驱动程序。驱动程序可分为编译在内核镜像文件中的静态驱动程序(StaticDriver)和存储于文件系统上的内核模块中的动态驱动程序(DynamicDriver),由于此时文件系统尚未挂载,所以内核此时只会用静态驱动程序来驱动一些必要的硬件设备;以只读方式挂载根文件系统&接着Linux内核会试着以只读的方式挂载根文件系统,根文

4、件系统至少包含以下目录/etc/:存储重要的配置文件;/bin/:存储常用且开机时必须用到的执行文件;/sbin/:存储开机过程中所需要的系统执行文件;/lib/:存储/bin/与/sbin/的执行文件所需的链接库,以及Linux内核模块;/dev/:存储设备文件;&挂载根文件系统的目的有两个:其一,安装适当的内核模块,以便驱动某些硬件设备或启用某些功能;其二,启动存储于根文件系统中的init服务,以便让init服务接手后续的启动工作;$内核启动的最后一个动作就是从根文件系统上找出并执行init服务Linux内核会根据下列顺序寻找init服务:1)找/sbin/下是否有init服务2)/etc

5、/init3)/bin/init4)如果前面三个目录里都找不到,最后就会执行/bin/sh$如果内核都找不到init服务,则内核就会显示“Kernelpanicnotsyncing:Attemptedtokillinit”的错误信息,系统启动终止;$如果内核在以上的目录中找到init,则内核就会启动init服务,让init服务负责后续初始化系统使用环境的工作;&init启动后,就代表内核已顺利启动,系统启动进入初始化系统环境阶段。四.启动INIT服务&启动init服务时,init服务会读取/etc/inittab文件,根据/etc/inittab文件中的设置数据进行初始化系统环境的工作。/et

6、c/inittab文件定义init服务在RHEL启动过程中必须依序执行以下几个Script:/etc/rc.d/rc.sysinit/etc/rc.d/rc/etc/rc.d/rclocal/etc/rc.d/rc.sysinit&/etc/rc.d/rc.sysinit主要的功能是设置系统的基本环境,当init服务执行rc.sysinit时,会执行以下几项工作:启动Udev与SELinux设置内核参数设置系统时间加载键盘对应表启用置换内存空间设置主机名检查并挂载所有文件系统初始化硬件设备启用软件磁盘阵列与LVM如有必要,卸载/initrd/初始化串行端口设备清除过期的锁定文件与IPC文件重新

7、设置磁盘参数/etc/rc.d/rc&/etc/rc.d/rc用来建立Runlevel的环境,在不同的运行级别中调用相应级别的环境参数。/etc/rc.d/rc.local&整个系统启动过程中rclocal是唯一一个可以修改的RCScript,如果你希望在RHEL启动过程中执行某些命令,或者执行某些工作的话,那么你可以将相关命令在这个文件中定义,当RHEL开机并执行到rc.local时,就可以依照你所定义的内容,完成系统的初始化。4.建立用户接口&在执行完3个主要的RCScript后,nit服务的最后一个工作就是建立RHEL的用户界面。此时init会执行以下两项工作:建立虚拟控制台默认在系统中

8、建立6个虚拟控制台,在TTY1-TTY6中执行/bin/login登录程序;建立图形使用接口的登录程序若默认进入级别5,则启动XWindowSystem图形化使用接口的登录程序。&至此,RHEL结束整个系统启动过程,进入系统。五其它相关1.Runlevel&通常Runlevel由以下几种:Runlevel0关机Runlevel1单用户模式仅root用户可登Runlevel2多人模式无网络Runlevel3命令行模式Runlevel4保留Runlevel5图形模式Runlevel6重新启动&查看目前的Runlevel【rootlinux】#runlevelN5-前面的数字代表之前运行的级别,这里

9、为N说明开机默认级别为5,后面的数字为当前系统的运行级别。&切换至不同的Runlevel,直接在init后空格输入要运行的启动级别数字即可,如:【rootlinux】#init3表示将系统切换至运行级别3,即命令行运行模式2.管理init服务&在RHEL系统启动过程中,nit服务是系统第一个执行的程序,它主要负责以下几项任务:建立系统使用环境;确保系统正常运行;监控串行端口的周边设备;拦截并处理【Ctrl+Alt+Del】事件;PID(进程标识符)永远为1;所有程序都可视为其子进程,因此无法被系统管理者中止。&init的配置文件:/etc/inittab我们可以通过它来配置一些相关系统参数,在相关事件上定义系统如何处理文件中系统用“:”将文件内容

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论