操作系统的启动过程全解析:从按下电源到桌面就绪
从按下电源键到看到登录界面,这个过程看似瞬间,实则经历了多个严谨的阶段。以现代UEFI BIOS和Windows/Linux为例:第一阶段:固件阶段上电自检:通电后,主板固件执行POST,检测关键硬件...

-
上电自检:通电后,主板固件执行POST,检测关键硬件(CPU、内存、显卡)是否正常工作。若有问题,会发出报警声或显示错误码。 -
固件初始化:UEFI(统一可扩展固件接口,取代传统BIOS)初始化自身,并检测和初始化其他硬件(如硬盘、USB控制器)。 -
启动管理器:UEFI根据其内部存储的启动项顺序,找到并加载操作系统引导加载程序。对于Windows,这是位于EFI系统分区上的 bootmgfw.efi;对于Linux,通常是grubx64.efi或systemd-boot。
-
引导加载程序执行:控制权交给引导加载程序。它的主要任务是加载操作系统内核到内存。以GRUB为例,它会显示一个菜单让用户选择要启动的系统或内核版本。 -
加载内核与初始内存盘:引导程序将压缩的内核镜像和initramfs加载到内存指定位置。initramfs是一个临时的根文件系统镜像,包含在内核完全启动前所必需的核心驱动(如真正的磁盘驱动、文件系统驱动)和工具。
-
内核解压与自解压:内核开始执行,对自身进行解压。 -
硬件探测与驱动加载:内核探测系统硬件,并加载initramfs中的驱动,以访问真实的根文件系统所在磁盘。 -
切换根文件系统:内核挂载真实的根文件系统(如 /dev/nvme0n1p2),并切换到其上,然后卸载initramfs释放内存。 -
启动第一个用户空间进程:内核最后启动第一个用户态进程。在Systemd系统中,这就是PID=1的 systemd 进程;在老的SysV init系统中,是 /sbin/init。至此,内核启动完成,控制权交给用户空间。
-
系统与服务初始化:systemd负责并行启动所有定义好的系统服务(网络、显示管理器、日志等)。 -
启动显示管理器:服务启动后,显示管理器启动,这是图形登录界面的管理者。 -
用户登录:用户输入凭证,DM验证成功后,启动桌面环境会话管理器,加载用户的桌面环境、窗口管理器、启动项等。 -
桌面就绪:最终,用户看到熟悉的桌面和任务栏,启动过程全部完成。
本文来自于网络,不代表单晒学习网立场,转载请保留链接:https://1.danshai.com/rmzs/15.html
相关文章
暂无相关文章
