首页 > 系统相关 >Linux的boot和startup过程

Linux的boot和startup过程

时间:2024-11-10 22:57:54浏览次数:1  
标签:systemd 启动 startup boot Linux 加载

Linux的启动主要分为两阶段的过程:boot和startup。boot过程在计算机启动后触发,完成代表内核初始化成功并且系统已经启动。之后startup过程接管并将计算机转变为可触发状态。

总的来说,主要由接下来的步骤完成:
1、BIOS POST
2、Boot loader (GRUB2)
3、Kernel initialization
4、Start systemd, the parent of all processes.

The boot process

启动过程可以由多种操作触发。首先,是计算机的电源键被点击。其次是用户手动执行reboot操作。

BIOS POST

  • BIOS(Basic I/O System)
  • POST (Power On Self Test)

POST是硬件自检,自检完成后,就触发BIOS中断,INT13H。然后就加载首个可用的Boot loader进RAM。linux distribution中常用3中boot loader:GRUB,GRUB2和LILO。其中GRUB2是最新和最常见的。

GRUB2

GRUB的主要功能是,将Linux kernel加载进内存并运行。GRUB的两个版本的工作方式类似,都具有3个阶段的工作。

stage 1

the boot record,通常位于MBR中。即一个分区中的第0号sector。

stage1的内容很小,需要小于512字节。它的主要目的是将stage1.5加载进RAM。
 boot.img

stage1.5

相关的代码在boot record和磁盘上的首个分区之间。因为首个分区的起始位置在第63号sector。因此剩下的62个分区可以用于存储stage1.5的内容,即core.img。其中包含了常见的文件系统驱动。

所以stage2的文件可以放在EXT文件系统,但不能位于逻辑卷上。因为逻辑卷在系统启动前无法被激活和识别。

stage 2

stage2的功能是定位和加载linux Kernel到RAM中。并把控制权限转交个RAM。
内核和其相关的文件位于/boot目录。内核文件能够被是被是因为它们都以vmlinuz开头。

Kernel

在这个阶段,kernel会使用initial ram disk(initrd)建立临时的root file system。直到真正的文件系统被挂载。

Because there is no hard drive in many embedded systems based on Linux, the initrd also serves as the permanent root file system.

择的Kernel被加载到内存后,其首先会进行自我解压。解压完成后就会加载systemd。
此时boot阶段就完成了,不过还没有任何productive tasks正在执行。

因为有initrd的存在,kernel阶段就分为了两个阶段。首先执行kernel自己必要的驱动安装,然后调用initrd的内容。

The startup process

boot过程之后的startup过程,将linux带到一个可操作的阶段。

systemd

systemd是所有进程的parent。所有启动进程根据启动依赖顺序,依次启动。

启动的进程包括“挂载文件系统”、“加载分区文件”等。

不同进程间既有并行启动,也有串行启动。

1

标签:systemd,启动,startup,boot,Linux,加载
From: https://www.cnblogs.com/ckxkexing/p/18538706

相关文章

  • Linux下使用makeself制作一键安装包
    Linux下使用makeself制作一键安装包下载makeselfyum-yinstallmakeselfmakeself命令和参数makeself.sh--gzip.<output_file.run>"<display_name>"<startup_script>.表示当前目录,这样makeself将会打包当前目录下的所有文件和子目录。该目录最好使用绝对路径......
  • SQL注入攻击及其在SpringBoot中使用MyBatisPlus的防范策略
    SQL注入攻击及其在SpringBoot中使用MyBatisPlus的防范策略随着互联网技术的飞速发展,Web应用的安全问题日益凸显,其中SQL注入攻击是最常见的安全威胁之一。SQL注入攻击不仅可能导致敏感数据泄露,还可能引发数据篡改、服务中断等严重后果。本文将详细介绍SQL注入攻击的基本概念......
  • Linux之sed命令详解
    文章目录......
  • 基于SpringBoot+Vue+Uniapp微信小程序的医院预约挂号系统设计与实现(精选计算机毕业设
    文章目录1.前言2.详细视频演示3.文档参考3.1论文参考3.2流程设计图3.3数据库表结构设计3.4系统测试部分4.项目运行截图5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue6.选题推荐毕设案例8.系统测试8.1系统测试的目的8.2系统功能测试9.代码参考10......
  • 基于SpringBoot+Vue的高考志愿智能推荐系统设计与实现(精选计算机毕业设计-源码+文档+
    文章目录1.前言2.详细视频演示3.文档参考3.1论文参考3.2流程设计图3.3数据库表结构设计3.4系统测试部分4.项目运行截图5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue6.选题推荐毕设案例8.系统测试8.1系统测试的目的8.2系统功能测试9.代码参考10......
  • 【015】基于Spring Boot+Vue的养老院管理系统【原创】
    一.系统开发工具与环境搭建1.系统设计开发工具后端使用Java编程语言的Springboot框架项目架构:B/S架构运行环境:win10/win11、jdk17前端:技术:框架Vue.js;UI库:ElementUI;开发工具:VisualStudioCode;后端:技术:Java语言、mybatisplus、Springboot框架;开发工具:IDEA20......
  • flask基于springboot大学生兼职平台(毕设源码+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于大学生兼职平台的研究,现有研究主要集中在兼职平台的基本功能开发和运营模式上。国内外对于一般性兼职平台的探讨较多,但专门针对大......
  • springboot毕设 垃圾识别工具箱 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着社会的不断进步和人民生活水平的提高,音乐艺术教育逐渐成为大众关注的焦点。乐器培训作为音乐艺术教育的重要组成部分,近年来得到了快速发展。然而,......
  • springboot毕设 乐器培训管理系统 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着社会的不断进步和人民生活水平的提高,音乐艺术教育逐渐成为大众关注的焦点。乐器培训作为音乐艺术教育的重要组成部分,近年来得到了快速发展。然而,......
  • 基于SpringBoot+Vue的高校毕业生就业信息管理系统的设计与实现(源码+lw+部署+讲解)
    文章目录1.前言2.详细视频演示3.具体实现截图4.技术可行性分析5.技术简介5.1后端框架SpringBoot5.2前端框架Vue5.3系统开发平台6.系统架构设计7.程序操作流程8.业务流程设计9.为什么选择我们9.1自己的公众号9.2海量实战案例10.代码参考11.数据库参考12.源码及文档获取......