Linux系统安装前的一些预备知识

电子说

1.3w人已加入

描述

本文会介绍一些Linux系统安装前的一些预备知识,会涉及到MBR、BIOS和Boot loader等计算机基础概念。

硬盘的第一扇区

在众多设备中,与系统安装关系最密切的就要数硬盘了。因为在安装操作系统时,我们要做的一个最重要的事就是对硬盘进行分区,以便我们可以更加方便和高效的使用电脑。

在Linux系统中,一切设备都是以文件的形式存在的,所有设备对应的文件都存储在/dev路径下。硬盘对应的文件名通常都是/dev/sd[a-p],但如果你使用的是虚拟机,那么硬盘对应的文件名很可能是/dev/vd[a-p]

在整个硬盘的存储空间中,它的第一个扇区是特别重要的。硬盘的一个扇区是512字节大小,在第一个扇区的512字节空间中,存储了下面两个东西。

**1. **主引导记录(Master Boot Record, MBR):安装启动引导程序的地方,有446字节;

**2. **分区表(partition table):记录硬盘的分区状态,有64字节。

分区表

由于分区表仅拥有64字节的存储空间,因此最多仅能有存储四组分区信息,每组分区信息记录了对应分区在硬盘上的起始与结束的柱面号。假设硬盘设备文件名为/dev/sda,那么这四个分区在Linux系统中的设备文件名如下所示:

P1:/dev/sda1
P2:/dev/sda2
P3:/dev/sda3
P4:/dev/sda4

这四个分区可以作为主(Primary)分区,也可以作为扩展(Extended)分区。扩展分区的作用是使用额外的扇区来记录分区信息,以使我们可以拥有超过4个的分区数量。

扩展分区本身并不能被用来格式化存储数据。我们可以通过扩展分区所指向的那个区块继续存储其它分区信息。从扩展分区中切割出来的分区叫做逻辑(Logical)分区。由于逻辑分区是由扩展分区继续划分出来的,所以逻辑分区可以使用的硬盘柱面范围就是扩展分区所设置的范围。

主分区、扩展分区和逻辑分区之间的关系如下图所示:

计算机

图中分区在Linux系统中的设备文件名分别如下:

P1:/dev/sda1
P2:/dev/sda2
L1:/dev/sda5
L2:/dev/sda6
L3:/dev/sda7
L4:/dev/sda8

注意到这次的文件中不包含/dev/sda3和/dev/sda4。因为前四个号码都是保留给主分区和扩展分区用的,逻辑分区的设备号码只能由5开始。

下面我们对硬盘分区做一个总结:

  1. 所谓的分区只是针对那个64字节的分区表进行设置而已;
  2. 硬盘默认的分区表仅能存储四组分区信息,这四组分区可以是主分区或扩展分区;
  3. 扩展分区最多只能有1个;
  4. 逻辑分区是由扩展分区二次划分出来的分区;
  5. 主分区和逻辑分区可以被格式化后存储数据,扩展分区不能被格式化。

BIOS&MBR

软件是计算机的灵魂,没有运行任何软件的硬件是没有用的,操作系统就是用来管理计算机中各个硬件的软件。

但是在电脑开机前,操作系统也只是躺在硬盘上的一组数据而已,那么计算机要如何读取操作系统文件并运行它呢?这就涉及到计算机的启动程序了。

BIOS是写入到计算机主板上的一个固件(固件就是写入到硬件上的一个软件程序)。这个BIOS就是计算机启动的时候所执行的第一个程序。BIOS会根据用户的设置找到能够启动的设备(硬盘或U盘),如果启动的设备是硬盘,BIOS会从该硬盘的第一个扇区中读取MBR中的启动引导程序。至此,BIOS的工作就结束了,节下来就是MBR内的启动引导程序的工作了。

MBR内的启动引导程序的任务就是加载操作系统内核文件,这个启动引导程序是操作系统在安装的时候所提供的,所以它知道如何加载操作系统内核。

接下来就是操作系统内核开始接管计算机,启动引导程序的任务至此也圆满完成了。

整个启动流程到操作系统之前的过程总结如下:

  1. BIOS:计算机启动后会主动执行的固件,它会找到一个可启动的设备;
  2. MBR:位于可启动设备的第一个扇区内的一块存储空间,只有446字节,用于存储启动引导程序;
  3. 启动引导程序(boot loader):一个可以加载操作系统内核文件的程序;
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分