linux系统的开机流程
开机流程:
CMOS与BIOS:
基本的功能为记录主板上面的重要參数。 包含系统时间、 CPU 电压不频率、各项设备癿 I/O 地址不 IRQ 等,因为这些数据的记录要花费电力。因此主板上面才有电池。 BIOS 为写入到主板上某一块 flash 或 EEPROM的程序,他能够在开机的时候运行,以载入
CMOS 其中的參数, 并尝试呼叫储存装置中的开机程序,进一步进入操作系统中。 BIOS 程序也能够改动 CMOS 中的数据, 每种主板呼叫 BIOS 设定程序的按键都不同。一般桌面计算机常见得是使用[del]按键进入 BIOS 设定画面。
MBR:
整颗磁盘的第一个扇区特别的重要。由于他记录了整颗磁盘的重要信息!
磁盘的第一个扇区主要记录了两个重要的信息。各自是:
主要启动记录区(Master Boot Record, MBR):能够安装开机管理程序的地方,有 446 bytes;
切割表(partition table):记录整颗硬盘切割的状态,有 64 bytes MBR 是很重要的,由于当系统在开机癿时候会主动去读取这个区块的内容,这样系统才会知道你癿程序放在哪里和该怎样进行开机。 假设你要安装多重引导的系统,MBR 这个区块的管理就很很的重要了!
boot
loader:
主要任务有底下这些项目:
提供选单:用户能够选择不同得开机项目,这也是多重引导的重要功能。
加载核心档案:直接指向可开机的程序区段来開始操作系统;
转交其它 loader:将开机管理功能转交给其它 loader 负责。上面前两点还easy理解,可是第三点非常有趣喔!
那表示你的计算机系统里面可能具有两个以上的开机管理程序呢。 有可能吗?我们的硬盘不是叧有一个 MBR 而已?是没错啦。可是开机管理程序除了能够安装在
MBR 之外, 还能够安装在每一个切割槽的启动扇区(boot sector)喔。切割槽还有各别的启劢扂区喔? 没错啊!这个特色就能造就『多重引导』得功能啊!我们举一个样例来说。如果你的个人计算机叧有一个硬盘,里面切成四个切割槽,当中第一、事切割槽分别安装了 Windows 及 Linux。 你要怎样在开机的时候选择用 Windows 还是
Linux 开机呢?如果MBR 内安装的是可同一时候认识 Windows/Linux 操作系统得开机管理程序, 那举整个流程能够图标如下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
在上图中我们能够发现,MBR 的开机管理程序提供两个选单。选单一(M1)能够直接载入 Windows 的核心档案来开机; 选单二(M2)则是将开机管理工作交给第二个切割槽的启劢扂区(boot
sector)。当使用者在开机的时候选择选单二时, 那么整个开机管理工作就会交给第二切割槽的开机管理程序了。 当第二个开机管理程序启动后,该开机管理程序内(上图中)仅有一个开机选单。因此就行使用 Linux 癿核心档案来开机啰。 这就是多重引导的工作情况啦。我们将上图作个总结:
每一个切割槽都拥有自己的启劢扂区(boot sector)
图中的系统槽为第一及第二切割槽。
实际可开机的核心档案是放置到各切割槽内的!
loader 叧会认识自己得系统槽内的可开机核心档案,以及其它 loader 而已;
loader 可直接挃向或者是间接将管理权转交给还有一个管理程序。
那如今请你想一想,为什举人家经常说:『 假设要安装多重引导, 最好先安装 Windows 再安装Linux』呢?这是由于:
Linux 在安装的时候,你能够选择将开机管理程序安装在 MBR 或各别切割槽的启动扇区, 并且Linux 的 loader 能够手动设定选单(就是上图的M1, M2...),所以你能够在 Linux 的 bootloader 里面增加 Windows 开机的选项。
Windows 在安装的时候,他的安装程序会主动的覆盖掉 MBR 以及自己所在切割槽的启动扇区。你没有选择的机会, 并且他没有让我们自己选择选单的功能。因此,假设先安装 Linux 再安装 Windows 的话。那 MBR 的开机管理程序就仅仅会有 Windows 的项目,而不会有 Linux 的项目 (由于原本在 MBR 内的 Linux
的开机管理程序就会被覆盖掉)。 那须要又一次安装 Linux 一次吗?当然不须要。你仅仅要用尽各种方法来处理 MBR 的内容就可以。 比如利用全中文癿spfdisk(http://spfdisk.sourceforge.net/)软件来安装认识
Windows/Linux 的管理程序, 也可以利用Linux 的救援模式来拯救 MBR 就可以。
linux系统的开机流程的更多相关文章
- Linux系统入门---开机启动流程
目录 Linux系统入门---开机启动流程 一.centos6 二.systemd管理进程 1.查看级别 三.centos7实践案例: 1.案例1:centos7系统,单用户修改root密码 案例2: ...
- Linux系统的启动流程
Linux系统的启动流程: 1.通电(通常按下电源键,开始通电) 2.加载BIOS (通常看到显示器提示按F2进入主板) 3.读取MBR (MBR硬盘的入口地址,用来装载引导) 4.进入引导 (通常有 ...
- linux系统的启动流程梳理
1. 不同版本的linux系统的启动流程 1.1 centos6.x系统的启动流程 其详细启动步骤如下: 1)开机,BIOS自检,检查各个硬件是否正常 2)读取硬盘MBR信息,引导系统启动 3)加载g ...
- 2021年3月-第01阶段-Linux基础-Linux系统的启动流程
Linux系统的启动流程 理解Linux操作系统启动流程,能有助于后期在企业中更好的维护Linux服务器,能快速定位系统问题,进而解决问题. 上图为Linux操作系统启动流程 1.加载BIOS 计算机 ...
- 不同linux系统添加开机启动程序的命令
see http://phpcj.org/blog/%E4%B8%8D%E5%90%8Clinux%E7%B3%BB%E7%BB%9F%E6%B7%BB%E5%8A%A0%E5%BC%80%E6%9C ...
- 查看linux系统的开机时间/重启历史记录
查看linux系统的开机时间/重启历史记录1.who -b命令[root@rusky opt]# who -b ---查看最后一次(上次)系统启动的时间 system boot Dec 27 05:0 ...
- Linux系统在开机的时候自动启动SVN
Linux系统在开机的时候自动启动SVN 1.创建执行脚本svn.sh(/root路径下,随便哪个路径),其内容很简单,如下: #!/bin/bash svnserve -d --listen ...
- Linux系统的开机启动顺序
Linux系统的开机启动顺序加载BIOS–>读取MBR–>Boot Loader–>加载内核–>用户层init一句inittab文件来设定系统运行的等级(一般3或者5,3是多用 ...
- linux学习笔记-开机流程与主引导分区(MBR)
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 读鸟哥的linux私房菜-基础学习篇(第三版)3.2.4章节作此笔记 一.术语介绍: Bios:写入到主板上的一个程序,计算机开 ...
随机推荐
- zabbix3.0.4 部署之八 (zabbix3.0.4 报警前端配置)
(如何让报警信息推送----微信.邮件)(邮件与微信一样就不在重复) 创建一个用户 将用户加入administrator组 添加之前设置的报警媒介脚本 设置报警等级 创建动作 配置报警内容 设置报警条 ...
- Python游戏开发入门
Pygame简介与安装 1.Pygame安装 pip install pygame2.检测pygame是否安装成功 python -m pygame.examples.aliens Pygame最小开 ...
- Laravel Excel安装及最简单使用
官网:https://docs.laravel-excel.com/ 1.安装 1.1.安装要求: PHP: ^7.0 Laravel: ^5.5 PhpSpreadsheet: ^1.6 ...
- ActiveX控件获取不到对象属性或者方法的原因分析
1.找不到调用的DLL或程序: 2.调用控件方法名称,与定义的函数名称不符合: 3.如果是网站网页调用ActiveX,检查控件是否添加安全对象: 4.如果是网站网页调用ActiveX,检查网页是否加入 ...
- 使用webpack+vue.js构建前端工程化
参考文章:https://blog.csdn.net/qq_40208605/article/details/80661572 使用webpack+vue.js构建前端工程化本篇主要介绍三块知识点: ...
- JavaSE-07 类
习要点 面向过程 面向对象 抽象 类 类的构造方法 类中常见的关键字 类的成员方法 类的成员变量 面向过程 程序 程序的概念 程序一词来自生活,通常指完成某些事情的一种既定方式和过程. 可以将程序看成 ...
- 在vue中场景,循环行,点击当前行编辑数据
当前列表 点击编辑,行变为编辑框. <Row style="color:#999;margin-bottom:11px"> <Row style="ma ...
- RabbitMQ之项目中实战
说了那么多,还不是为了在项目中进行实战吗,在实践中检验真理,不然我学他干嘛,不能解决项目中的实际问题的技术都是耍流氓... 一.后台管理系统发送消息 瞎咧咧:后台管理系统发送消息到交换机中,然后通知其 ...
- JSON对象与JSON字符串之间的转换
JSON引用包:import net.sf.json 1.JSON字符串转JSON对象(例子中的AgencyExpand是java对象) JSONObject json = JSONObject.f ...
- Leetcode 214.最短回文串
最短回文串 给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串.找到并返回可以用这种方式转换的最短回文串. 示例 1: 输入: "aacecaaa" 输出: &qu ...