设为首页 收藏本站
查看: 238|回复: 0

[经验分享] CentOS 6 系统启动流程

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-6 14:39:39 | 显示全部楼层 |阅读模式
CentOS 6中所采用的Bootloader程序为grubinitupstart。开机启动的大致流程图如下:
wKiom1XpkKLCXmIQAACFSvUYM98739.jpg
步骤图分解如下:
1、加电自检,当按下电源时,计算机通过BIOS去加载CMOS的信息,取得主机的各项硬件配置,并会进行硬件检测和硬件初始化。

2、BIOS根据Boot Sequence(设备启动次序)取得第一个可启动设备。按次序查找,如果当前设备没有MBR时,跳过当前设备查找下一个设备,直到找到含有MBR的设备。如果MBR出现损坏等故障,启动则会失败,且不会继续往下查找可引导的设备。否则,进行下一步操作。

3、BIOS会读取选定设备的MBR中的信息,并加载Bootloader。只要BIOS能识别硬盘,就可以通过硬件的INIT 13中断功能读取硬盘设备的第一个扇区内的MBR。
       由于根据MBR的结构Bootloader占据了446字节,而存储在MBR中的bootloader代码因此受到了限制,为了解决这个问题,bootloader将功能切割成几个部分,因此MBR中只存储了bootloader的主程序,配置相关文件则存储在文件系统中。
       grup的功能由三个模块完成:Stage1,Stage1_5和Stage2。Stage1即存储在MBR中的Bootloader,Stage1_5存储在MBR后面的扇区中,而Stage2则一般存储于文件系统中,/boot目录下。Stage1和Stage1_5所要完成的任务是去加载Stage2,Stage2才是功能实现的模块。Stage1并不能识别文件系统,因此需要加载Stage1_5,而Stage1_5具备识别文件系统的功能,因此可以到文件系统中加载Stage2模块。注意:当Stage1可以识别Stage2固定存储的物理空间时,不需要通过Stage1_5就可以直接加载Stage2。
Stage2加载相关的配置文件后,实现的功能如下:
  • 提供选择菜单,并提供交互式接口。

用户可以选择不同的启动选项,可实现多重引导功能;码。
  • 加载内核文件(或initramfs

直接指向内核文件所在的位置来开始启动操作系统。
  • 转交其他loader

将引导功能移交给其他的loader负责。

4、kernel被加载到内存后开始进行自身初始化,主要操作为:探测可识别到的所有硬件设备并加载相应的硬件驱动;安全起见,以只读方式挂载根文件系统, (等到启动完成,各项功能正常,再重新以读写方式挂载);调用用户空间的第一个应用程序/sbin/init 。
   因为kernel无法识别磁盘,所以要借助initramfs的获取磁盘的驱动程序。 initramfs类似一个精简的内核,里面包含了启动过程中所需要的模块(在安装系统的时候确定了需要哪种硬盘驱动,也一并集成到initramfs中)。initramfs需不需要被加载取决于kernel能否识别磁盘,一般来说需要init的时刻为:
  •   根目录所在磁盘为SATA,SCSI,SAS,USB等接口,IDE除外
  •   根目录所在文件系统为LVM,RAID等格式
  •   其他必须在内核加载时就提供的模块


5、init最主要的功能是准备软件执行的环境,调用执行相关脚本文件来实现,
      如/etc/inittab、/etc/init/*.conf等
  • 获取默认运行级别,/etc/inittab
  • 系统初始化,/etc/rc.d/rc.systinit
  • 关闭或启动对应级别下的服务,并启动启动终端等,/etc/init/*.conf与/etc /rc.d/rc#.d


/etc/rc.d/rc.sysinit初始化时所进行的操作
(1) 设置主机名
(2) 设置欢迎信息
(3) 激活udev和selinux
(4) 挂载/etc/fstab文件中定义的文件系统
(5) 检测根文件系统,并以读写方式重新挂载根文件系统
(6) 设置系统时钟
(7) 激活swap设备
(8) 根据/etc/sysctl.conf文件设置内核参数
(9) 激活lvm及software raid设备
(10) 加载额外设备的驱动程序
(11) 清理操作


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-110215-1-1.html 上篇帖子: linux磁盘管理以及linux文件系统管理 下篇帖子: Centos7硬件信息查询cpu,mem,fdisk,网卡
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表