你知道Linux如何启动吗?

97 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第38天,点击查看活动详情

大家好,我是阿萨。当你按下电脑电源键的时候都发生了什么?先看下如下流程。大概过程如下:

  1.  按下电源后,计算进硬件 主动读取 BIOS 加载硬件信息。同时进行硬件系统的自我测试。
    Image
  2. 系统读取第一个可启动设备MBR的 ( BIOS 设置)启动引导程序。
  3. 根据启动引导程序的设置加载内核, 内核开始检测硬件与加载驱动程序。
  4. 硬件驱动成功后,内核主动调用systemd程序,并以default.target 准备操作系统。
    systemd 执行 sysinit.targeet 初始化系统以及basic.target 准备操作系统。systemd 启动执行multi-user.target 下的本机与服务器的服务。systemd 执行multi-user.target 下的 /etc/rc.d/rc.local 文件systemd 执行 multi-user.target 下的getty.target 以及登录服务。systemd 执行 graphical 需要的服务。

Image

Linux 系统的启动,要经历BIOS自检 -> 启动 GRUB -> 加载内核 -> 执行第一个进程 -> 配置系统初始环境

第一步:加电
第二步:加载[BIOS]设置,选择启动盘。
第三步:加载磁盘中MBR中的grub。
第四步:加载Linux内核系统到内存当中,运行超级进程/sbin/init进程。
第五步:加载配置文件。
第六步:加载内核模块,具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。
第七步:根据运行级别,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。
第八步:启动init.d下的系统进程
第九步:出现登录系统的画面。

如果觉得阿萨的内容对你有帮助,欢迎围观点赞。