Linux开机过程
来源:互联网 发布:手机加密软件哪个好 编辑:程序博客网 时间:2024/06/07 00:57
参考:
Linux开机过程
Linux启动流程
计算机是如何启动的
引言
每个硬盘最多有一个MBR,这个MBR有512Bytes,以0x55开始,0xAA结束。MBR分为446Bytes与64Bytes,前446Bytes是一些开机的信息,后64Bytes是分区表信息,每个分区有16Bytes,所以最多有4个主分区。但是有一种扩展分区,Linux中最多有一个扩展分区,扩展分区中还可以有逻辑分区,逻辑分区理论上没有上限。
每个分区中可以装一个操作系统,每个操作系统启动时需要一个boot loader来启动它,这个boot loader会放在一个叫boot sector的地方。即每个分区开始处就会有一个boot sector,里面存放的是这个操作系统的引导程序,也就是分区引导程序。所以开机过程中MBR会找到这个boot secotr,然后启动boot loader。Linux中最常见的boot loader就是Grub。
但是如果我有多个操作系统怎么办呢?这时MBR中就会跳过寻找分区表中的激活分区,而是启动boot loader,比如Grub。然后让我们自己来选取启动哪个操作系统。
之后计算机的控制权就交给Grub来处理。
Boot loader
主要功能:
- 提供选单。如果你有多个操作系统,那么就是让你选择启用那个操作系统的Boot sector。
- 载入kernel。直接指向可以开机的程序段来开始操作系统。
- 转交给其他loader。
这个图中的MBR就是启动了Boot loader来让我们自己选择加载哪个操作系统的kernel档案。图中红色就是kernel档案。
开机过程
首先是充电,启动BIOS进行硬件自检,然后BIOS把控制权转交给下一个阶段的启动程序。
这个下一个阶段的启动程序存放在哪个设备中呢?即BIOS需要一个外部设备的排序,根据排序以及外部设备的内容来转交控制权。
BIOS找到一个优先级最高且可作为启动设备的设备之后,就把控制权交给这个设备的MBR,即下一个阶段的启动程序。
在MBR中后64字节记录了整个设备的大致分区情况。根据MBR的信息找到boot loader,然后根据boot loader启动操作系统的kernel。
上述过程完成之后,控制权就转交给操作系统了。
grub
Grub是Linux的一个常用boot loader,可以根据grub来加载Linux内核。
- Linux 开机过程概述
- Linux开机过程
- Linux开机启动过程
- Linux-- 开机启动过程
- linux 开机过程
- Linux开机启动过程
- Linux开机过程
- linux开机引导过程
- linux开机过程
- linux开机启动过程
- linux开机启动过程
- Linux开机过程
- Linux开机启动过程
- Linux开机过程
- Linux 开机过程
- Linux开机启动过程
- linux开机启动过程
- linux主机开机过程
- 深入探索透视投影变换(续)
- 8.跳台阶
- iOS xib创建UIScrollView不滑动问题解决
- Android-EventBus-3.0.0使用
- 杭电1000
- Linux开机过程
- 刷题第六天:南邮NOJ【1013三角形判断】
- Spark组件之GraphX学习2--triplets实践
- UVa 1025 A Spy in the Metro (dp)
- ACM:prim最小生成树题目汇总
- Idea 文件注释的变量
- windows下tomcat7+solr5.1+zookeeper3.4.6 伪集群SolrCloud配置
- 多线程并发库高级应用 之 使用java5中同步技术的3个面试题
- Redis主从复制和集群配置