Linux内核阶段详解

本文详细描述了Linux启动过程中的关键步骤,包括BIOS运行、开机自检、引导程序(如grub2)加载配置文件、查找内核和ramdisk路径,以及分区对启动流程的影响。
摘要由CSDN通过智能技术生成

1、接通电源,系统固件(BIOS)运行
BIOS:  basic input  output system 
2、开机自检(POST),并初始化部分硬件(1、2都是bios进行检测)
3、BIOS读取硬盘上的引导程序(F2)

MBR格式的分区表 :  主引导记录,在磁盘第一个扇区
512字节  =   446字节(引导程序会加载到内存中运行,固定代码)  +  64字节(分区表)  + 2字节(结束位)
若引导程序损坏
grub2-install   /dev/sda(磁盘名称,并非分区) 
现在引导程序用的grub2
以前引导程序 :   grub,Lilo
引导程序  :  是磁盘上一段固定的代码程序

存放内核的目录
/boot  : 系统启动时需要的文件(主要是/boot/grub2/grub.cfg文件)
用uname  -r 查看当前系统内核
df   -hT  :  查看当前磁盘使用情况和文件系统类型
真正的内核在/usr/lib/modules/4.18.0-80.el8.x86_64/kernel中,内核中封装了很多模块,系统启动后,需要加载这些设备(网卡,usb..),这些设备都在内核文件下,内核又在/下面,/又在nvme的驱动上,需要加载引导程序,系统启动会首先加载/boot/grub2/grub.cfg,正常启动之后才会加载/usr/lib/modules/4.18.0-80.el8.x86_64/kernel

4、grub2引导阶段
1、引导程序加载配置文件 /boot/grub2/grub.cfg
2、配置文件告知/boot所在的分区
hd0,msdos1   hd0,msdos2
1)/boot单独分出来,就是/boot所在的分区
2)/boot没有单独分出来,那就是/所在的分区
3、配置文件告知内核所在的路径/boot/vmlinuz-4.18.0-80.el8.x86_64内核文件,并告知真正的根设备,/dev/nvme0n1p5(要根据自己系统根分区的位置),并以只读的方式加载 
1)/boot单独分出来,/vmlinuz-4.18.0-80.el8.x86_64,注意前面的/并不是指的根目录,而是boot所在分区下的文件
2)/boot没有单独分出来,/boot/vmlinuz-4.18.0-80.el8.x86_64
4、配置文件告知ramdisk文件(也叫驱动文件)所在的路径/boot/initramfs-4.18.0-80.el8.x86_64.img驱动文件

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小王丨小王

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

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

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

打赏作者

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

抵扣说明:

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

余额充值