基本步骤:上电->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*脚本与相关配置文件

最新文章

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

热门文章

  1. 不会一致性hash算法,劝你简历别写搞过负载均衡
  2. Android官方文档翻译 十二 3.Supporting Different Devices
  3. linux 下安装PostgreSql 并配置远程访问
  4. leetcode 921. 使括号有效的最少添加
  5. office 下载(免费使用
  6. 【小记录】arm64下的原子加
  7. python pip无法安装到2.7
  8. vue学习8-for循环
  9. python25day
  10. 学习Java第5天