每次你上电你的Linux PC,在最终显示一个提示你输入用户名和密码的登录窗口前,它经过了一系列阶段。每钟Linux发行版在一般启动过程中经过了4个不同阶段。

用户登录提示
在这里,我们将重点突出Linux OS从它上电到时到你登录时采取的各种步骤。注意:由于GRUB2 bootloader和systemd init当前由大量现代Linux发行版使用,所以本手册只考虑了它们。
启动过程采取了以下四步,我们将更详细地讨论它们:
如果PC已经关闭当一个用户按了上电按钮或者使用GUI或者命在令行上重启系统时,启动过程通常初始化了。这是一个执行大量诊断检查的完整性检测。
POST探测诸如HDD或SDD,键盘,RAM,USB端口以及任何其他硬件组件的硬件操作性。如果某位硬件设备未被发现,或者诸如损坏的HDD或SDD的任何设备中有故障,在屏幕上闪现一条提示你干预的错误消息。
在某些情况下,尤其遇到缺失RAM模块,蜂鸣声将发出。如果所需硬件存在并且功能正常,启动过程进入到下个阶段。
一旦POST结束并且没有问题,BIOS为bootloader和磁盘分区信息探测MBR(主启动记录)。
MBR是一段位于通常取决于你硬盘驱动架构为/dev/sda或/dev/hda的硬盘驱动第一个扇区上512字节代码。注意:有时,MBR可以位于一个Linux的Live USB或DVD安装上。
在linux中有三种主要的bootloader:LILO,GRUB和GRUB2。GRUB2 bootloader是在现代Linux发行版中最新和主要的bootloader并且告诉我们决定忽略另外两种,随着时间推移它们已经过时了。
GRUB2代表GRand Unified Bootloader版本2。一旦BIOS找到了grub2 bootloader,它执行并且装载它到主存(RAM)。
grub2菜单允许你做很多事情。它允许你选择你想要使用的Linux内核版本。如果你已经多次升级了你的系统,你会看到列出的不同内核版本。另外,它是你能够通过按键盘组合键编辑某些内核参数。

选择内核版本
在你安装了多个OS的双启动设置中,grub菜单允许你选取OS启动进入哪一个OS。grub2配置文件是/boot/grub2/grub2.cfg文件。GRUB2的主要目标是装载linux内核到主存。
内核是任何Linux系统的核心。它连接PC的硬件和底层进程。内核控制在你Linux系统上的所有进程。一旦由这个bootloader装载了所选的Linux内核,它在接管任何任务前它必须从它的压缩版本自提取。在自提取中,所选内核挂载根文件系统和初始化通常被称为init的/sbin/init程序。

内核初始化过程
init总是被执行的第一个程序并且被分配进程ID或PID 1。它是产生各种守护程序并且挂载在/etc/fstab文件中指定的所有分区的init进程。
内核接着挂载初始的RAM磁盘(initrd),其在挂载真实根文件系统前是一个临时的根文件系统。所有内核和初始的RAM磁盘镜像一起位于/boot目录。
内核最终装载Systemd,其是老的SysV init的替代品。Systemd是所有Linux系统的母亲并且管理其他事情:文件系统的挂载,启动和停止服务到提高的几个。
Systemd使用/etc/systemd/default.target文件决定Linux应该启动的状态或目标。
这是systemd目标种类:
要检查你系统上当前目标,运行命令:
- [blctrl@areadetector ~]$ systemctl get-default
- graphical.target
- [blctrl@areadetector ~]$
你可以通过在终端上运行以下命令从一个目标切换到另一个目标:
此操作需要在root用户权限
# init runlevel-value
例如,init 3配置系统为一个非图形状态。
init 6命令重启你的系统并且init 0关门系统。当你想要在两种状态切换时,确认调用sudo command。
一旦systemd装载了所有守护进程并且设置目标或者运行级别值,启动过程结束。到此,提示你用户名和密码,你通过它们得到了进入Linux系统的入口。