服务管理和启动流程(4)-启动流程
每周二、四、六定期更新!
企业面试题:
请口头描述linux系统的开机到登录页面的启动过程。
我们针对上面这个问题开始本节的知识讲解。
了解开机过程可以帮助我们在操作系统启动出问题的时候更好的去定位问题所在并针对问题进行解决。
按下电源开机键以后,计算机会自动的读取BIOS来加载硬件信息并对硬件进行检查,在这之后,计算机会根据BIOS指定的第一个引导设备(即启动设备,通常为硬盘)去该设备上查找开机管理程序。开机管理程序中指定使用哪个文件来开机并加载内核到内存中解压缩、执行,这个内核的执行动作就是检查硬件、加载驱动程序,这样就准备好了操作系统,随后,操作系统会根据配置启动需要开机启动的应用程序,这个动作完成后,我们就可以看到系统的登录页面了。我们汇总一下这个流程:
1.开机BIOS自检
开机以后,计算机自动读取BIOS加载硬件信息并检查计算机硬件,检查完成后找到第一个引导设备
2.MBR引导
从第一引导设备的MBR中找到开机引导程序(英文叫boot loader)【一般是硬盘0柱面0磁道1扇区的前446byte】。centos7里用的引导程序是grub2
3.加载内核kernel
根据BootLoader的配置加载内核,然后内核开始识别硬件设备并加载相应的驱动。
4.启动systed进程
驱动加载完成后,kernel会启动systemd进程(这也是系统的第一个守护进程),并根据默认的运行级别(default.target)开机:
执行sysinit.target和basic.target准备操作系统 启动default.target的其他相关服务 启动getty.target,这是系统登录服务 如果有图形页面,这时候还需要启动graphical服务 下面我们看看每个阶段到底做了什么,用一张图表示:
硬件启动流程
grub2引导阶段
内核加载阶段
systemd初始化阶段
新手应知:
《Linux基础及进阶》:
043 - 进程管理与计划任务(4)-uptime\free\htop 044 - 进程管理与计划任务(5)-crontab 045 - 服务管理和启动流程(1)-systemctl启动服务、查看服务 046 - 服务管理和启动流程(2)-target unit、systemd、运行级别 047 - 服务管理和启动流程(3)-服务依赖、创建自己的systemd配置文件看完本文有收获?请分享给更多人
推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!
微信号|bjdream-1
Cloud研习社 ·