博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux-Centos启动流程
阅读量:5734 次
发布时间:2019-06-18

本文共 1593 字,大约阅读时间需要 5 分钟。

一:简述

Linux-Ceentos6系统开机启动流程简述如下,后续小节会对重要节点做详细描述

1:加电自检 ---> 2:MBR引导系统启动,相当于GRUB的第一阶段 ----> 3: GRUB1.5阶段 加载boot文件系统驱动--> 4 :grub 2阶段 ,读取/boot/grub/grub.conf文件 ---> 5: 加载系统内核/boot/vmlinuz内核文件至内存--> 6: 加载/boot/initramfs虚拟文件系统,加载合适的驱动程序,以只读方式挂载根文件系统 ----> 7:加载根下的第一个进程/sbin/init --> 8:加载系统第一个配置文件/etc/inittab,确定系统的启动模式 -->9 加载系统的第一个脚本 /etc/rc.d/rc.sysinit,系统初始化脚本: --> 10 根据系统的启动模式 ,依据 /etc/rc.d/rc#.d下的文件 依次开启服务

二:各阶段简述

1 POST:power-on-slef-test

加电自检:检测外部硬件是否正常工作,如cpu.内存,显卡,硬盘,键盘,光驱。 此功能主要由主板上内置一块rom芯片来完成,简称bios。在开机启动时,可以进入bison内进行相应的设置,如选择计算机由哪块设备进行引导,硬盘、光盘、u盘。

2 :MBR引导系统启动

MBR一共512字节,存放在硬盘的0扇区0柱面1磁道上。它的主要功能为引导系统启动,相当于grub的第一阶段,在/boot/grub/stage1内存放的二进制代码与MBR一致。 MBR可以确定此分区是否为主活动分区,由第一字节所决定,00为非活动分区80为活动分区。MBR的后续字节可以检测硬盘分区表是否完好    MBR内存放了三段信息:    bootloder:前446字节,引导加载器,引导系统启动的一段程序。不同的系统,引导程序不一样。windows:不支持linux启动。linux:允许用户选择要启动的内核版本,支持windows启动    64字节:分区表信息   2字节:标识位

3 :grub阶段

grub1.5:加载boot文件系统的驱动文件

clipboard.png

grub2.0:此阶段的作用是提供选择菜单(如果有多个内核系统),引导启动下一步的kernel内核启动和加载initramfs文件(作用是提供真正根分区的文件系统驱动程序,以便能加载根分区),其配置文件为/etc/grub.conf

4 kernel

kernel内核阶段会把内核文件进行解压,初始化系统中各设备并做相关的配置工作,其中包括CPU、I/O、存储设备等。关于Linux的设备驱动程序的加载,有一部分驱动程序直接被编译进内核镜像中,另一部分驱动程序则是以模块的形式放在initrd(ramdisk)中,加载根文件系统

5:启动系统的第一个进程

第一个进程:/sbin/init

读取系统第一个配置文件/etc/inittab。确定系统默认在什么模式下启动系统

clipboard.png

6:启动系统的第一个脚本

系统初始化脚本:/etc/rc.d/rc.sysinit,此脚本主要完成的内容如下

(1)设置主机名

(2)挂载/etc/fstab文件中定义的文件系统

(3)检测根文件系统,并以读写方式重新挂载根文件系统

在/boot/initramfs时是以只读方式挂载根文件系统

(4)设置欢迎信息

(5)激活udev和selinux

(6)设置系统时钟

(7)激活swap设备

(8)根据/etc/sysctl.conf文件设置内核参数

(9)激活lvm及software raid设备

(10)加载额外设备的驱动程序

(11)清理操作

7:根据系统启动的模式读取用户的服务文件

/etc/rc.d/rc#.d/*

读取此目录下的文件来 关闭或开启相关服务

clipboard.png

![图片.png](

转载地址:http://rggwx.baihongyu.com/

你可能感兴趣的文章
Java编程的逻辑 (69) - 线程的中断
查看>>
Gitlab利用Webhook实现Push代码后的jenkins自动构建
查看>>
Nginx配置多个基于域名的虚拟主机+实验环境搭建+测试
查看>>
常用yum命令小结
查看>>
win10系统80端口被占用怎么办?
查看>>
Paxos 实现日志复制同步
查看>>
SQL Case when 的使用方法 (转)
查看>>
Java String.split()用法小结
查看>>
Windows路径操作API函数学习
查看>>
Win10系列:C#应用控件基础18
查看>>
(网络层)IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)
查看>>
R语言与机器学习学习笔记
查看>>
Mysql 用户和权限管理
查看>>
观察者设计模式( Observable类Observer接口)
查看>>
ACM进阶计划
查看>>
配置resin支持maven项目
查看>>
紫书p199 八数码(BFS,hash)
查看>>
技术债务管理以及Firefox/Chromium的债务评价
查看>>
java web 站点头像上传处理 (springmvc +bootstrap+cropper)
查看>>
Amazon DynamoDB, 面向互联网应用的高性能、可扩展的NoSQL数据库
查看>>