linux启动流程

Linux:
核心:/boot/vmlinuz-3.10.0-862.el7.x86_64

模块:/lib/modules/3.10.0-862.el7.x86_64/kernel

3.10.0-862.el7.x86_64是内核版本号
vmlinuz:内核
initrd:临时文件系统
     centos5:initrd:模拟一个磁盘
     centos6:initramfs:模拟一个文件系统(性能更好)

通电自检-----bios启动盘选择------mbr找到主引导记录-------加载vmlinuz、initrd到内存----------识别和挂载根文件系统(只读方式挂载)-------通过init完成系统初始化

启动流程说明:
第一步: POST(power on and self test,通电自检,通电后读取主板上CMOS芯片上的BIOS信息完成计算机设备自检)

CMOS芯片是一种低耗电存储器,其主要作用是用来存放BIOS中的设置信息以及系统时间日期
BIOS(basic input and output system):让系统自检、设置系统的启动项,指定哪个设备来启动系统。从指定的设备上找MBR,主要是需要Bootloader主引导记录(MBR,Master Boot Record)

第二步:
通过bootloader加载磁盘上的内核文件(vmlinuz)、initramfs临时文件(此文件包含bin sbin usr home root等目录,保存有磁盘等驱动文件),将这两个文件加载到内存中,内核文件(vmlinuz)就能获取到驱动,然后内核就能开始重新挂载根文件系统到正真磁盘,在挂载过程中只以只读方式挂载。

第三步:
在文件系统中找到并启动第一个程序(init),通过init完成系统初始化。注意:
centos 5:init程序(/etc/init.d/下的sysV脚本文件),centos 6:upstart(也是sysV脚本文件,启动速度略有提升,近似并行启动),
centos 7:systemd,(借鉴苹果的启动方式,启动速度快)】

init功能:完成系统的初始化:
1.将根重新挂载为读写状态
2.将那些设置为自启动的程序启动起来
3.设置运行级别
4.显示登录界面 。。。。。。

init配置文件:
centos 5:/etc/inittab
centos6:/etc/inittab(主,定义运行级别,指定初始化脚本)、/etc/init/*.conf(附)
centos 7:/usr/lib/systemd/system 、/etc/systemd/system

主要顺序就是:
1.通电,bios自检
2.通过bios指定的磁盘找到引导程序mbr
3.通过引导文件加载内核
4. 启动初始化进程
5. 确定运行级别
6. 加载开机启动程序
7. 用户登录

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值