Linux系统超详细启动流程全程解析(从上电到登录,小白也能彻底看懂)
适用人群Linux初学者、后端开发、嵌入式开发、运维工程师、面试刷题人员阅读收获彻底搞懂Linux从上电到登录的每一步原理、内核与用户空间边界、常见开机报错原因、USB/驱动开机加载逻辑、高频面试考点文章风格无废话黑话、分层清晰、流程闭环、结合实战故障一、前言很多开发者天天用Linux但始终搞不懂一个问题按下开机键到出现命令行/桌面中间到底发生了什么Linux启动不是“一瞬间完成”而是一套分层、串行、严格依赖前置条件的标准化流程。全程可以拆分为6个核心阶段每个阶段各司其职前一个阶段失败后序全部无法执行。本文统一兼容PC端BIOS/UEFIGRUB和嵌入式端U-Boot同时区分内核空间 / 用户空间边界解决90%新手开机原理误区。二、Linux启动总流程宏观总览完整开机链路从上电到登录上电复位 → BIOS/UEFI自检 → Bootloader引导 → 内核解压与初始化 → 挂载根文件系统 → 用户空间init进程启动 → 系统服务与终端就绪六大阶段层层递进下面逐阶段逐行细节拆解。三、阶段1上电复位 BIOS/UEFI 硬件自检不属于Linux3.1 核心作用这是电脑/板子上电后的第一段代码和Linux系统、内核完全无关属于硬件固件层级。3.2 详细执行步骤CPU硬件复位上电后CPU强制跳转到硬件固定复位地址执行第一条指令。POST加电自检固件检测CPU、内存、硬盘、主板外设是否正常硬件异常会通过蜂鸣器、屏幕报错提示。初始化基础硬件初始化串口、键盘、显示器、磁盘控制器等基础外设。读取启动顺序按照BIOS/UEFI设置的优先级硬盘、U盘、光驱寻找可引导设备。移交控制权给Bootloader读取磁盘引导扇区加载GRUB/U-Boot结束自身工作。3.3 新手误区❌ 误区开机黑屏是Linux卡死✅ 真相黑屏阶段是固件自检此时Linux内核还未启动3.4 嵌入式特殊说明嵌入式开发板无传统BIOS上电先执行片内ROM固化代码再加载U-Boot逻辑等价于PC的BIOSGRUB。四、阶段2Bootloader 引导程序阶段系统桥梁PC端GRUB嵌入式端U-BootBootloader是裸机程序无操作系统、无内存管理仅做一件事把内核搬运到内存交给CPU执行。4.1 核心工作初始化DDR内存、Flash、串口等关键硬件从硬盘/Flash读取内核镜像zImage/vmlinuz、设备树文件dtb到物理内存设置开机启动参数 bootargs极其关键consolettyS0,115200 root/dev/mmcblk0p2 rootwait rw参数作用告诉内核日志输出串口、根文件系统所在分区、读写权限等核心配置。打印Starting kernel ...跳转内核入口彻底交出CPU控制权。4.2 本阶段常见故障bootargs的root参数写错 → 内核后续无法挂载根文件系统开机panicdtb与内核版本不匹配 → 内核识别不到USB、网卡、串口等外设五、阶段3内核解压 早期初始化内核启动第一步Bootloader跳转完成后正式进入Linux内核流程。5.1 内核自解压我们使用的内核镜像zImage是压缩镜像首先执行内嵌汇编解压代码将完整内核代码解压到内存指定位置。5.2 基础硬件初始化初始化MMU内存管理单元开启虚拟内存机制建立内核空间/用户空间隔离权限隔离的源头初始化页表、内存分配基础环境。此阶段无任何打印日志属于内核极早期汇编阶段。六、阶段4start_kernel() 内核全子系统初始化核心重头戏start_kernel()是Linux内核C语言入口函数90%内核初始化工作都在这里完成dmesg大部分日志均出自此处。关键前提此时还没有根文件系统、没有/dev、/sys、没有任何用户程序全程运行在内核空间。6.1 依次执行的核心初始化逻辑打印内核版本Banner开机第一行内核日志初始化中断子系统所有硬件中断USB插入、网卡、串口依赖此模块内存管理子系统初始化kmalloc、内存分配、内存回收全部就绪进程调度器初始化CPU时间片分配、多任务调度就绪时间子系统初始化定时器、jiffies时钟就绪解析设备树DTB读取板载硬件地址、中断号、外设信息各大内核子系统初始化USB子系统、网络子系统、VFS虚拟文件系统内置驱动built-in执行probe编译进内核的驱动在此处识别硬件创建全局内核线程kthreadd所有内核线程的父进程。6.2 rest_init() 关键跳转内核基础环境就绪后调用rest_init()创建kernel_init内核线程负责挂载根文件系统、拉起用户空间创建用户态辅助线程为后续热插拔、模块加载做准备。七、阶段5挂载根文件系统从内核跨入用户空间分水岭阶段这是Linux启动最重要的分界线此前纯内核空间此后进入用户空间生态。7.1 kernel_init 核心工作解析bootargs中的root/dev/xxx参数定位根文件系统分区挂载临时rootfs再切换挂载真实根文件系统挂载虚拟文件系统/proc进程信息、/sys内核设备信息启动用户空间1号进程init。内核会按顺序寻找init程序/sbin/init-/etc/init-/bin/init-/bin/sh7.2 经典开机panic故障高频VFS: Unable to mount root fs on unknown-block Kernel panic - not syncing: VFS: Unable to mount root fs故障原因bootargs参数错误、分区损坏、根文件系统缺失内核有了但没有用户空间环境系统无法继续启动。八、阶段6PID1 init进程初始化系统服务就绪1号进程是所有用户进程的祖先内核彻底移交控制权全程用户空间运行。8.1 两种主流init体系1嵌入式常用BusyBox init读取/etc/inittab初始化配置执行开机脚本/etc/rcS挂载临时目录、配置主机名启动udevd热插拔进程重中之重udevd作用监听内核uevent事件自动加载USB/网卡ko驱动、自动创建/dev/ttyUSB0等设备节点。启动shell终端出现命令行提示符系统可操作。2PC/服务器常用systemdPID1为systemd程序并行启动所有系统服务依次启动udev、网络、ssh、日志等服务启动登录管理器进入桌面/登录界面。九、开机完成后的动态机制结合USB驱动实战系统启动完成后插入USB设备的完整联动流程串联前文驱动知识USB硬件触发中断内核usbcore子系统枚举设备获取VID/PID内核内置驱动匹配失败发送uevent热插拔事件用户空间udevd接收事件读取modules.alias匹配驱动调用modprobe加载rootfs中的.ko驱动模块到内核内核重新匹配驱动执行probe在/sys生成设备信息udev自动在/dev创建设备节点应用程序可正常读写设备。十、完整极简时序流程图背诵版上电复位 ↓ BIOS/UEFI 自检 寻找引导设备 ↓ Bootloader(GRUB/U-Boot) 加载内核dtb、设置启动参数、跳转内核 ↓ 内核自解压 开启MMU虚拟内存 ↓ start_kernel() 初始化所有内核子系统、内置驱动 ↓ rest_init() 创建内核初始化线程 ↓ 挂载根文件系统 /proc /sys ↓ 启动PID1 init进程进入用户空间 ↓ 启动udev、网络、各类系统服务 ↓ 终端/桌面就绪开机完成十一、高频面试考点 新手易错总结11.1 核心面试题Linux内核和Linux系统的区别 答内核是底层硬件管理者完整系统Bootloader内核根文件系统用户服务。内核空间和用户空间的分界点 答挂载根文件系统、启动PID1 init进程。udev是什么属于内核还是用户态 答用户态守护进程负责驱动热插拔、自动创建设备节点。未知USB设备的根本原因 答内核枚举成功但无对应驱动匹配无法绑定设备、生成/dev节点。11.2 高频开机故障汇总无任何输出BIOS/U-Boot未启动硬件问题内核启动后黑屏panicdtb不匹配、内置驱动异常VFS挂载失败bootargs根分区参数错误能进系统但无USB设备udev未启动、ko模块缺失、modules.alias无匹配。十二、结语Linux启动流程的本质就是固件引导 → 内核接管硬件 → 文件系统落地 → 用户服务赋能。看懂这套流程不仅能搞定所有开机报错、驱动加载问题同时能吃透Linux内核架构、操作系统分层思想轻松应对面试和开发实战。原创不易点赞收藏后续持续更新Linux内核、驱动、嵌入式实战干货

相关新闻

专业做2026年小红书千帆(乘风)广告开户投放怎么合作联系的公司

专业做2026年小红书千帆(乘风)广告开户投放怎么合作联系的公司

在当今数字化营销的浪潮中,小红书凭借其庞大的用户群体和强大的种草能力,成为了全国线上商家和实体门店经营者不可忽视的营销阵地。小红书上活跃着大量的年轻消费者,他们对新鲜事物充满好奇,且具有较强的消费能力。通过在小红书上…

2026/10/18 17:54:17 阅读更多 →
Git 用法总结

Git 用法总结

枯木逢春犹再发,人无两度再少年。 导航 0 前言1 基本概念 1.1 工作区、暂存区、版本库(流程节点)1.2 初始化、添加、提交、贮藏(本地操作)1.3 获取、拉取、推送、克隆(远端操作)1.4 分支、检出…

2026/10/19 13:17:25 阅读更多 →
解决TMPEffects常见问题:Unity文本动画插件排错与性能优化

解决TMPEffects常见问题:Unity文本动画插件排错与性能优化

解决TMPEffects常见问题:Unity文本动画插件排错与性能优化 【免费下载链接】TMPEffects Easily animate Unity text and apply other effects with custom tags 项目地址: https://gitcode.com/gh_mirrors/tm/TMPEffects TMPEffects是一款强大的Unity文本动画…

2026/10/18 6:03:38 阅读更多 →

最新新闻

多模态落地与长上下文成本:小模型微调及推理加速实践周报

多模态落地与长上下文成本:小模型微调及推理加速实践周报

这周(3.9~3.15)的深度学习圈子,和前几周相比少了点"又出大新闻"的爆炸感,多了一些闷头干活的务实气氛。我把这周刷过的论文、跑完的实验、踩进去又爬出来的坑归拢了一下,发现几条主线非常清晰:多…

2026/10/19 13:16:51 阅读更多 →
阀门试验记录全流程指南:壳体强度与密封试验压力、保压时间及避坑要点

阀门试验记录全流程指南:壳体强度与密封试验压力、保压时间及避坑要点

简介:这份阀门试验记录文档适用于化工企业蒸汽管道安装工程的质量检验场景,面向设备安装、焊接与管道检测相关的工程技术人员及质检人员。文档以泰兴市彩之源化学有限公司蒸汽管道项目为实例,完整记录了截止阀的验收过程,包含J41H…

2026/10/19 13:16:51 阅读更多 →
Vue3前端直连通义千问API:签名鉴权与生产部署实战

Vue3前端直连通义千问API:签名鉴权与生产部署实战

简介:本资源是一个基于 Vue 3 实现阿里通义千问 API 集成的可打包部署型聊天组件示例,面向中高级前端开发者,解决在生产环境快速嵌入智能对话能力的实际需求。项目已预置完整调用逻辑、响应式消息管理及轻量级聊天界面,支持构建后…

2026/10/19 13:16:51 阅读更多 →
大模型训练实战入门:微调、数据与显存优化全解析

大模型训练实战入门:微调、数据与显存优化全解析

我最早接触大模型训练,是去年做内部问答系统的时候。当时团队的想法蛮简单:直接用现成的大模型接口,写一些提示词模板,把用户问题拼进去就行。可真正把需求列清楚后才发现,很多术语和内部知识是模型没见过的&#xff0…

2026/10/19 13:16:51 阅读更多 →
FPGA雷达脉冲压缩实战:Artix-7上可运行的完整Verilog信号处理链路

FPGA雷达脉冲压缩实战:Artix-7上可运行的完整Verilog信号处理链路

简介:本资源为FPGA脉压处理方向的完整工程实践包,面向数字电路设计初学者、嵌入式信号处理学习者及雷达/通信领域工程技术人员,聚焦于在FPGA平台上实现脉冲压缩(脉压)算法的硬件化落地。压缩包共739个文件,…

2026/10/19 13:16:51 阅读更多 →
React Native三区列表布局:跨端一致性实践

React Native三区列表布局:跨端一致性实践

做跨平台应用做久了,因为目标平台里多了鸿蒙,列表布局的选择就自然往“一套代码,三端保持观感一致”的方向收敛。最近做合同模块重构,我把合同记录列表改成了最稳的经典三区结构:左边放合同封面缩略图,中间…

2026/10/19 13:15:47 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →