linux系统开机流程

基本步骤:上电->bios->MBR引导->GRUB菜单->加载内核->运行init进程初始化->启动/etc/rc.d*脚本与相关配置文件->执行rc.local里面的用户自定义引导启动程序->开启终端

详细步骤

1、上电:上电自检测,检测CPU;内存;主板;硬盘等等

2、bios:(Basic Input Output System)记录了芯片相关设置,CPU与接口设备通信频率等等

3、MBR引导:存在于可启动磁盘的0磁道0分区,占用512字节,作用在于告诉计算机所选定的可启动设备的那个分区加载引导程序

一:Boot loader:占用446字节,存储操作系统等信息,如名称;系统内核位置。作用是将内核->内存中运行

二:Partion Table:分区表,占用64字节 ,每个分区占16个字节,所以只有4个分区

三:分区有效性占用2字节

4、GRUB菜单:分为GRUB和LILO两种,主流的是GRUB,因为兼容windows和linux。

注意:MBR将引导程序加载到GRUB,GRUB加载到内存,但此时文件系统没有挂载,所以说现在加载到的位置是指定的位置。而不是按照文件系统去找的位置

5、加载内核:探测硬件->加载驱动->挂载根文件系统->切换根文件系统->运行sbin/init(这里有一个经典的,文件系统没有所以挂载不了,所以采用initrd,是虚拟盘,利用讴歌虚拟盘来加载模块)

6、执行init进程进行初始化:主要是初始化环境

7、启动/etc/rc.d*脚本与相关配置文件

posted @   ascds  阅读(325)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示