Linux系统的启动过程可以⼤致分为以下⼏个阶段:
- BIOS/UEFI阶段:当计算机启动时,⾸先会执⾏计算机的基本输⼊/输出系统(BIOS)或统⼀的扩展固 件接⼝(UEFI)。在这个阶段,计算机会执⾏⾃检(POST)、初始化硬件设备,并且尝试引导操作系
统。BIOS会加载引导设备上的引导程序(通常是GRUB),⽽UEFI则会直接加载引导程序。- 引导加载程序(Boot Loader)阶段:引导加载程序是⼀个⼩型的程序,其主要任务是加载操作系统的 内核(Kernel)。在Linux系统中,GRUB(GRand Unified Bootloader)是常⽤的引导加载程序。
GRUB会读取其配置⽂件,确定要加载的内核和启动选项,然后将内核加载到内存中。- 内核初始化阶段:⼀旦内核被加载到内存中,它会开始初始化系统的核⼼功能,包括⽂件系统、进程 管理、内存管理等。内核还会检测和初始化硬件设备,并设置系统的运⾏环境。这个阶段的输出通常 会显示在屏幕上,包括内核的启动消息。
- Init系统(SysV Init或systemd)阶段:在过去,Linux系统使⽤SysV Init作为初始化进程,现在许多系统 已经转向了systemd。这个初始化进程负责启动系统中的各种服务和进程。它会根据运⾏级别(或⽬
标)来启动不同的服务,例如⽹络服务、⽂件系统挂载、⽇志记录等。在这个阶段,也会启动登录管 理器(如GDM、LightDM等)以显示登录界⾯。- 登录界⾯(Login Screen)阶段:⼀旦登录管理器启动,它会显示⼀个登录界⾯,等待⽤户输⼊⽤户名 和密码。⽤户在此登录并进⼊桌⾯环境。