快速业务通道

新手学堂:Linux操作系统的开机流程分析

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-04
加载BIOS的硬件信息,众所周知BIOS即Basic Input/Output Setup的意思,每次你按下开机键,计算机就会加载BIOS的信息,开机时按del键可以进入BIOS进行设置,比如最常用的就是设置从硬盘启动还是从光驱启动或其他,相信装过操作系统的人都知道这个.当然BIOS里面还有相当多的信息,比如硬盘大小,电压等.
 
  如果BIOS是设置从硬盘启动的话,那么读完BIOS后会先去读取第一个开机硬盘的头一个扇区,就是MBR,估计有人听过,即master boot record.引导程序如grub,lilo都装在这里.为什么要读取这些信息呢?想想你机器里装的多系统,如果没有引导程序,机器就不知道他该启动哪个系统,引导程序的作用正是提供几个操作系统的选项,然后各个选项都指向了操作系统的启动地址.
 
  机器从引导程序找到了linux内核后,就要开始载入linux内核了,linux系统的内核基本上安装在/boot下,引导程序就会找到boot下的内核,并加载.
 
  加载完毕后,内核执行/sbin/init程序,而这个程序会根据/etc/inittab文件里的信息选择登入模式,一共有7种模式,分别以0——6数字表示.基本上我们用的linux装有图形界面的是用模式5.
 
  知道了登入模式后,就要开始读取主机信息了,linux读取/etc/rc.d/rc.sysinit,其中包括PATH路径和一些LINUX操作系统最基本的信息.
 
  接下来就要开始加载各个模块了,系统从/etc/modules.conf读入模块相关信息
 
  /sbin/init程序开始执行run-level中的各个脚本了,刚开始已经选择了等如模式0——6,则就会执行/etc/rc.d/rc*.d里的脚本了.进入/etc/rc.d/rc5.d文件夹,ls -l查看,会发现这里都是指向rc.d/init.d里面脚本的链接.各个登入模式都有不同的脚本启动,而所有启动的脚本都是来自于init.d里.rc*.d里的脚本名要么是K开头,要么是S开头,K表示kill,S表示start,S和K后面的数字代表启动的优先级,越小越优先.
 
  到这里差不多已经完成了开机的大部分任务,接着/sbin/init就要开始执行执行linux的个人化设定.这些个设定都保存在/etc/rc.d/rc.local里.
 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号