1. BIOS/UEFI引导
银河麒麟桌面操作系统的开机流程首先从BIOS(基本输入输出系统)或UEFI(统一可扩展固件接口)开始。BIOS是一段固化在主板ROM芯片上的程序,负责在计算机通电后进行硬件自检(POST,Power-On Self Test),并对相应设备进行初始化。
(1)BIOS启动流程
加电开机自检:计算机通电后,BIOS开始执行POST,对硬件进行自检。
加载MBR:自检通过后,BIOS读取并执行主引导记录(MBR),加载BootLoader程序进入引导加载阶段。
(2)UEFI启动流程
加电开机自检:与BIOS类似,UEFI也会进行硬件自检。
读取MBR:开机时,UEFI会读取MBR的内容,以便知道程序的位置和如何开机。
2. GRUB引导
BootLoader的主要功能包括提供菜单让用户选择不同的启动项,加载内核文件,并将引导装载功能转交给其他loader。麒麟操作系统目前使用的是GRUB作为其BootLoader。
GRUB的功能
菜单显示:显示可用的启动选项。
内核加载:指向正确的内核文件路径并开始加载。
转交控制权:将引导控制权交给后续的启动加载器。
3. 内核加载
加载完BootLoader后,系统会进一步加载内核文件。内核是操作系统的核心部分,负责管理硬件资源和执行系统调用。
内核加载过程
确定内核位置:BootLoader根据配置文件确定内核文件的路径。
加载内核:将内核文件加载到内存中并启动。
初始化系统:内核继续初始化系统,设置基本硬件配置并启动第一个用户进程(通常是systemd)。
4. 初始化磁盘映像
在内核加载完成后,系统会进行磁盘映像的初始化。这一步骤涉及到磁盘分区表的读取和文件系统的挂载。
磁盘映像初始化过程
读取磁盘分区表:系统读取磁盘上的分区表信息。
挂载根文件系统:根据分区表信息,系统挂载根文件系统(通常是ext4或其他Linux支持的格式)。
启动systemd:挂载成功后,系统启动第一个用户进程 systemd ,进入系统运行阶段。
5. 文件系统挂载
文件系统是操作系统组织和管理文件及目录的结构。在麒麟桌面操作系统中,文件系统的初始化是开机流程中的重要一步。
根文件系统挂载后,内核将继续挂载其他文件系统,如"/home"、"/var"等。这些文件系统包含操作系统运行所需的所有文件和目录。
文件系统的作用
数据存储与管理:文件系统负责数据的存储和管理,使得应用程序和用户可以方便地访问和使用数据。
系统启动依赖:正确的文件系统初始化是系统能够正常启动和运行的基础。
6. 启动服务
文件系统挂载完成后,内核将启动init进程(现在是systemd或其他init系统),这个进程是所有其他进程的父进程,负责启动操作系统所需的各个服务,如网络服务、打印服务、数据库服务等。
7. 图形环境加载
当所有必要的服务启动后,如果配置了图形界面,systemd将启动显示管理器(如GDM、KDM或LightDM),这些显示管理器负责管理图形登录界面。
8. 用户登录
显示管理器启动后,用户将看到登录界面。在此,用户需要输入用户名和密码进行身份验证。
9. 进入系统
成功登录后,用户将进入桌面环境,如GNOME、KDE或UKUI等。此时,用户可以开始使用操作系统进行各种任务。