今天看啥  ›  专栏  ›  看雪学苑

浅析linux系统加载:从CPU加电到用户态,讲讲BIOS、UEFI、MBR引导、GRUB引导

看雪学苑  · 公众号  · 互联网安全  · 2024-12-03 17:59
    

主要观点总结

本文描述了Linux系统加载过程,包括从CPU加电自检、BIOS/UEFI启动、GRUB引导、内核加载到文件系统初始化等步骤。首先,CPU进行加电自检,BIOS或UEFI根据设置启动设备。接着,GRUB根据配置文件显示引导菜单,并加载选定的操作系统内核和初始RAM磁盘镜像(initrd或initramfs)到内存。然后,内核执行并初始化RAM磁盘,最后,系统从用户态开始运行。

关键观点总结

关键观点1: CPU加电自检和BIOS/UEFI启动

CPU进行加电自检,BIOS或UEFI根据设置启动设备,如硬盘、光驱或网络设备等。

关键观点2: GRUB引导

GRUB读取配置文件,显示引导菜单,并加载选定的操作系统内核和初始RAM磁盘镜像到内存。

关键观点3: 内核加载和初始化RAM磁盘

内核加载到内存并执行,初始化RAM磁盘镜像(initrd或initramfs)。

关键观点4: 文件系统初始化

系统加载并初始化文件系统,准备进入用户态运行。


文章预览

由于解密固件方面的逆向需要,所以需要了解linux系统加载机制。花了我好几天来来去去缕清关系和学习,学的时候还是慎用语言大模型不然容易被它绕进去。 本文默认读者学习过操作系统等课堂上能学到的知识,尝试使用通俗的语言+各个地方的截图+常见疑惑,结合来描述。 从CPU加电到用户态,大概流程如下(省略很多细节不过没关系,看这个图可以有个大概印象,不然刚开始接触那么多概念挺乱的记不住) 画了一张图,希望能帮到您进行理解: 第零站:内核镜像bzImage文件结构 下图展现了bzImage里有什么?? 其就像一个“多级推进火箭”,在内核加载的过程中,逐渐把“有效载荷”(最右侧的vmlinux)解压到内存之中。 bzImage第一层:setup.bin 这部分是不进行压缩的,特别的是,此部分运行于386实模式。 其专注于最基本的硬件探测和初始化。 历史 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览