SUSE linux的启动过程介绍

引导Linux系统涉及不同的组件和任务。在固件和硬件初始化过程(取决于机器的架构)之后,内核通过引导加载程序GRUB2启动。此后,引导过程完全由操作系统控制并由systemd处理。systemd提供了一组“target”,用于为日常使用、维护或紧急情况启动配置。

1 术语

init

有两种不同的进程会被命名为init:

  • 挂载到根文件系统的initramfs进程
  • 从真正的根文件系统开始执行的所有其他进程的操作系统进程

在这两种情况下,systemd程序都会处理这个任务。它首先从initramfs执行以挂载根文件系统。一旦成功,它将作为初始进程从根文件系统重新执行。为了避免混淆这两个systemd进程,我们在initramfs上将第一个进程称为init,将第二个进程称为systemd。

initrd/initramfs

initrd(初始RAM磁盘)是一个映像文件,其中包含由内核加载并从/dev/ram作为临时根文件系统挂载的根文件系统映像。挂载此文件系统需要文件系统驱动程序。
从内核2.6.13开始,initrd已被initramfs(初始RAM文件系统)取代,它不需要挂载文件系统驱动程序。openSUSELeap专门使用initramfs。但是,由于initramfs被保存为/boot/initrd,因此通常称为“initrd”。

2 系统启动过程

2.1 初始化和引导加载程序阶段

在初始化阶段,设置机器的硬件并准备好设备。 此过程在硬件架构之间存在显着差异。
openSUSE Leap在所有架构上都使用引导加载程序GRUB2。根据架构和固件,启动GRUB2引导加载程序可能是一个多步骤过程。引导加载程序的目的是加载内核和基于RAM的初始文件系统(initramfs)。

AArch64和AMD64/Intel64上的初始化和引导加载程序阶段

电脑启动后,BIOS和UEFI会初始化屏幕和键盘,并测试内存,但是不会访问大容量存储(硬盘)。随后加载CMOS中的日期,时间和外设。识别到启动介质后,系统控制权将会从BIOS/UEFI过度到boot loader。
在具有传统BIOS的机器上,只能加载来自引导盘的第一个物理512字节扇区(主引导记录,MBR)的代码,只有最小的GEUB2适合MBR,它的主要目的是从MBR和第一个分区(MBR分区表)之

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-风中叮铃-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值