linux系统开机流程
2024-09-08 12:53:23
基本步骤:上电->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*脚本与相关配置文件
最新文章
- JS中函数声明与函数表达式的不同
- 【C语言入门教程】2.2 常量 与 变量
- 《自制编程语言》笔记:使用yacc与lex制作简单计算器
- media query ie8- 兼容实现总结
- 往xml中更新节点
- Tomcat禁止显示目录和文件列表
- 「Poetize3」导弹防御塔
- KMP算法,Boyer-Moore算法
- jquery之营销系统(补偿记录)
- pl sql 无法解析指定的连接标识符
- background-size做自适应的背景图
- 音频传输之Jitter Buffer设计与实现
- Postgres中文分词
- Windows下查看硬连接引用技术
- python中一些传参事情
- 基于ARM9和嵌入式Linux系统的多功能综合通信控制系统的框架
- Array.prototype.slice.call引发的思考
- linux 子shell subshell和函数
- tensorflow variable的保存和修改(加载一部分variable到新的model中)
- js获取字符串字节数方法小结