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:写入到主板上的一个程序,计算机开 ...
随机推荐
- CSS3 loading 和 文字颜色渐变
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Jmeter重要组件介绍(一)
一.常用的取样器 二.常用的逻辑控制器 三.前置处理器 四.后置处理器 五.断言 六.定时器 七.配置元件 八.监听器
- ubuntu 安装virt-manager
sudo apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils
- 08C#事件
C#事件 1.2 事件 事件是C#语言内置的语法,可以定义和处理事件,为使用组件编程提供了良好的基础. 1.16.1 事件驱动 Windows操作系统把用户的动作都看作消息,C# ...
- hdfs深入:08、hdfs的JavaAPI以及如何解决winutils的问题
/** * 通过url注册的方式访问hdfs,了解,不会用到 * @throws Exception */ 以下为详细代码://1.注册hdfs的url,让java代码能识别hdfs的url形式URL ...
- get data from splunk
link: http://dev.splunk.com/view/python-sdk/SP-CAAAER5 download SDK & setup with python code: im ...
- python 3 廖雪峰博客笔记(二) python解释器
python 解释器用于理解 python代码,存在多种python解释器 CPython 官方版本python解释器,用C语言开发,使用最广泛 IPython 基于CPython,在交互方式上有所增 ...
- Centos6 安装nginx
一.编译安装nginx 1.安装nginx所需要的库pcre,pcre的全称为:perl compatible regular expression即perl正则表达式,是为了使nginx具备URL重 ...
- history.go history.back()
转http://www.mikebai.com/Article/2009-11/757.html <input type=button value=刷新 onclick="window ...
- WSS、SSL 和 https 之间的关系
SSL SSL(Secure Socket Layer,安全套接层) 简单来说是一种加密技术, 通过它, 我们可以在通信的双方上建立一个安全的通信链路, 因此数据交互的双方可以安全地通信, 而不需要担 ...