首页 > 系统相关 >Linux开机启动过程

Linux开机启动过程

时间:2025-01-10 23:47:32浏览次数:1  
标签:初始化 systemd 启动 系统 用户 Linux 开机 加载

Linux系统的开机启动过程是一个复杂但有序的序列,它确保系统从硬件初始化到提供一个完全功能的操作环境。以下是这个过程的详细步骤:

  1. BIOS/UEFI启动

    • 当计算机加电时,首先执行的是基本输入输出系统(BIOS)或更现代的统一可扩展固件接口(UEFI)。BIOS/UEFI主要负责硬件自检(POST,Power-On Self Test),检测和初始化系统中的硬件组件,并根据用户设置(如启动设备顺序)找到合适的启动设备。
    • 对于UEFI,还会加载EFI系统分区上的EFI应用程序,这通常是引导加载程序的一部分。
  2. 引导程序加载

    • 一旦BIOS/UEFI完成其任务,它会加载引导加载程序(Bootloader),最常用的引导加载程序是GRUB(Grand Unified Bootloader),但也可能是LILO, systemd-boot等。
    • 引导加载程序提供了用户选择操作系统的界面(如果安装了多个系统),并加载用户选定的内核及初始RAM磁盘(initrd),后者包含启动过程中所需的驱动程序和模块,用于挂载根文件系统前所需的硬件支持。
  3. 内核初始化

    • Linux内核(通常以vmlinuz文件形式存在)被加载到内存中并开始执行。内核初始化包括检测和设置硬件,加载必要的驱动程序(或从initrd中解压),以及设置内存管理、进程管理和文件系统等核心子系统。
  4. 初始化系统与运行级别

    • 在较旧的系统中,使用SysV init作为初始化系统,它会根据/etc/inittab文件定义的默认运行级别执行一系列初始化脚本。而在现代系统中,大多采用systemd作为初始化系统,它管理服务的启动顺序,并根据.target(相当于旧系统的运行级别)来决定启动哪些服务。
    • systemd会启动基础系统服务,如udev(管理设备节点)、systemd-logind(管理用户会话)、systemd-journald(日志系统)等。
  5. 系统初始化脚本和服务启动

    • 无论是SysV init还是systemd,接下来都会按预定的顺序启动系统服务和守护进程。这些服务包括网络管理、SSH访问、数据库服务器、Web服务器等,具体取决于系统配置和需求。
  6. 登录管理

    • 启动图形界面系统时,显示管理器(如GDM、LightDM或SDDM)将启动,等待用户登录。用户通过图形界面输入用户名和密码,或者在文本模式下通过getty和login程序登录。
  7. 用户会话启动

    • 成功登录后,用户的shell(bash、zsh等)启动,加载个人环境变量、启动文件(如~/.bashrc)和启动应用程序。用户可以在命令行界面或图形桌面环境中开始工作。

综上所述,整个启动过程涉及大量的硬件交互、软件初始化和配置读取,且随着技术的进步,具体的实现细节(如systemd替代SysV init)一直在演变。此外,系统管理员可以通过修改配置文件来调整启动服务的顺序和状态,以优化启动时间和系统性能。

标签:初始化,systemd,启动,系统,用户,Linux,开机,加载
From: https://www.cnblogs.com/shujuyr/p/18664926

相关文章

  • 在Linux中,如何进行系统性能的持续监控?
    在Linux中进行系统性能的持续监控,需要综合运用各种命令行工具和图形化界面工具,以及自动化脚本和第三方监控平台。以下是实现持续监控的一些建议步骤和工具:1.使用基础命令行工具实时查看top:实时查看CPU使用率、内存占用、运行中的进程等基本信息。htop(一个增强版的top):提供......
  • [Linux] 包管理器之【APT】
    序续:《[Linux]Linux中安装软件的方式?-博客园/千千寰宇》《[Linux]包管理器之综述【RPM/DPKG|YUM/APT】-博客园/千千寰宇》概述:包管理器APTAPT:AdvancedPackagingTool(现名)解释:AdvancedPackagingTool(apt),作为原始包管理器DPKG的前端包管理工具(在线包管......
  • 想在linux平台拥有和vs一样的体验模式吗?只需配置一下你的vim便可以轻松达到,让你日常
            ......
  • Docker中启动Zookeeper
    使用Docker启动Zookeeper的指南Zookeeper是一个开源的分布式协调服务,广泛应用于分布式系统中。使用Docker容器化部署Zookeeper,可以使得管理和扩展变得更加简单和高效。本文将详细介绍如何通过Docker启动Zookeeper,包括所需的命令、步骤以及一个简单的示例。流程概述以下是启动Z......
  • Linux基础——kail工具
    一、nmap主机发现和端口扫描1、nmap指定源端口eth0发送扫描┌──(root㉿kali2024)-[~]└─#nmap192.168.190.110-eeth0StartingNmap7.94SVN(https://nmap.org)at2025-01-1019:56HKTNmapscanreportfor192.168.190.110Hostisup(0.0018slatency).Nots......
  • Vue - 解决报错 TypeError: transpileDependencies.map is not a function(vue项目运行
    前言关于此问题网上的教程都无法解决,如果您的报错信息与我相似,即可解决。在vue项目开发中,解决项目运行报错:ERRORTypeError:transpileDependencies.mapisnotafunction,莫名其妙非常恶心的错误,另外项目打包build时也可能会提示错误,vue项目跑不起来了,无论是新老项目......
  • day13-Linux系统用户管理知识2
    1.passwd1.1更改密码[root@oldboy~]#passwd更改用户root的密码。新的密码:无效的密码:密码少于8个字符重新输入新的密码:passwd:所有的身份验证令牌已经成功更新。#修改其他用户的密码[root@oldboy~]#passwdoldboy更改用户oldboy的密码。新的密码......
  • Linux连接(NFS)群晖NAS遇到的问题(最终选SetGID+umask)
     说明:公司在寻找存储服务器,分布式太贵,后来找来厂家提供服务器试用一段时间,可以的话再买更高型号的来用,此文章记录整个过程,可能比较杂,等以后有时间再来整理吧。需求:想要在服务器之间共同访问并操作这里的存储,并且还要再Windows上查看(需求又改了Windows上也会做增删改的操作。。)......
  • linux: 文本编辑器vim
    文本编辑器vi的工作模式(vim和vi一致)进入vim的方法方法一:输入vim 文件名此时左下角有"文件名" 文件行数,字符数量方法一:输入vim新文件名此时新建了一个文件并进入vim,左下角有"文件名"[NewFile]灰色的长方形就是光标,输入文字,左下角变成了INSERT表......
  • linux:文件的创建/删除/复制/移动/查看/查找/权限/类型/压缩/打包
    关于文件的关键词创建touch删除rm复制cp权限chmod移动mv查看内容cat(全部);head(前10行);tail(末尾10行);more,less查找  find压缩 gzip; bzip打包tar 编辑sed创建文件格式:touch文件名删除文件复制文件移动文件查看文件内......