linux启动的动图,太形象了。
Linux系统iconon系统的启动过程可以分为5个阶段:
1、内核的引导:
BIOS/UEFI:当计算机加电后,首先运行的是 BIOS (基本输入输出系统) 或 UEFI (统一可扩展固件接口),它们负责进行硬件检测、初始化以及启动引导程序。
引导加载程序(Bootloader):在 Linux 中,最常见的引导加载程序有 GRUB (GNU GRand Unified Bootloader) 和 LILO (Linux Loader)。引导加载程序的主要任务是加载 Linux 内核到内存中,并传递必要的启动参数给内核。
2、运行 init:
init进程:内核加载并执行完毕后,它会启动第一个用户空间的进程,即 init 进程。在传统的 SysV init 系统中,这个进程通常是 /sbin/init。在一些现代的 Linux 发行版中,init 进程可能被如 systemd 或 Upstart 这样的系统替代。
服务管理器:init 进程或替代的系统管理器负责启动系统上的其他服务和进程。
3、系统初始化:
启动脚本:在 SysV init 中,系统初始化涉及执行位于 /etc/rc.d 或 /etc/init.d 下的一系列脚本。这些脚本按照特定的顺序启动各种服务,如网络、日志、定时任务等。
systemd:如果系统使用 systemd,它将通过 systemctl 命令启动服务单元(units)。systemd 使用依赖关系图来并行启动服务,以加快启动速度。
4、建立终端:
虚拟控制台:Linux 提供多个虚拟控制台(通常可以通过 Alt+Function keys 来切换),在这些控制台上可以登录系统。
图形界面:如果安装了图形用户界面(GUI),如 X Window System,那么系统可能会启动显示管理器(如 GDM、LightDM 等),以提供图形登录界面。
5、用户登录系统:
文本模式登录:在文本模式下,用户通过输入用户名和密码来登录系统。
图形界面登录:在图形界面下,用户可以通过 GUI 提供的登录窗口来输入用户名和密码。
用户环境:登录成功后,用户将根据其配置文件(如 .bash_profile、.bashrc 等)加载个人环境设置,并可以开始执行命令或运行程序。