分享

Linux启动流程

 imnobody2001 2024-03-08 发布于广东

Linux的启动流程可以更详细地分为以下阶段:
BIOS/UEFI加载:当计算机启动时,BIOS(基本输入输出系统)或UEFI(统一可扩展固件接口)首先被加载,进行硬件的初始化和自检。
引导加载器(Bootloader):BIOS/UEFI完成后,引导加载器(如GRUB、LILO等)被加载。它的任务是从硬盘或其他存储介质上找到内核并加载到RAM中。
内核加载:引导加载器将内核文件(如vmlinuz)加载到RAM中,并设置一些参数,如根文件系统的位置等。
初始化RAM磁盘(Initramfs/initrd):有时,为了支持某些模块或文件系统,内核需要一个临时的RAM磁盘。这个文件(如initramfs或initrd)在内核加载后被加载到RAM中。
启动init进程:内核完全加载后,它会启动第一个用户空间程序,通常是/sbin/init(也称为PID 1进程)。这个进程负责后续的启动过程。
系统初始化:init进程会读取/etc/inittab或类似的配置文件,确定运行级别,并启动相应的服务和守护进程。
建立终端:根据运行级别,init进程会启动必要的终端,可以是多个控制台终端或图形界面。
用户登录:最后,系统准备好接受用户登录。用户可以通过命令行、SSH或图形界面等方式登录。
此外,现代的Linux系统可能使用systemd作为init系统,它改变了传统的init进程和运行级别的概念,引入了服务和目标(targets)的概念。在这种情况下,systemd负责系统的初始化和服务的管理。

总之,Linux的启动流程涉及多个阶段和组件,从硬件的自检和初始化,到内核的加载,再到用户空间的初始化和服务的启动,最终使系统准备好接受用户的使用。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多