磁盘分区及开机引导
一.磁盘组成
磁盘主要由盘面(也叫盘片)、磁头臂(也叫机械手臂)、读写头(也叫磁头)与转轴组成,盘面又可以分为磁道、柱面,扇区
磁盘的基本构成如下:
盘面:磁盘是由一叠磁盘面组成
磁头(Heads):每个磁头对应一个磁盘面,负责该磁盘面上的数据的读写。
磁头臂:磁头臂具有伸展性,负责读写头在盘片上进行读写操作
转轴:让盘面转动
在盘面上,整个盘面上面好像有多个同心圆绘制的饼形图,如图所示
磁道(Track):当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。
扇区(Sector):磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区可以存放512bytes的信息,在向磁盘读取和写入数据时,要以扇区为单位
柱面(Cylinders):所有盘面上的同一个磁道构成了一个柱面,柱面是分割磁盘的最小单位
磁盘总容量=盘面数量×每个盘面上的磁道数量×每个磁道上的扇区数量×扇区大小=Heads×Track×Sectors/Track×512bytes
二.最重要的第一个扇区
磁盘的第一个扇区最重要,他记录了整块磁盘最重要的信息,分别是:
主引导分区(MBR):在这里安装引导加载程序,共446bytes,当系统开机时会主动读取这个区块的内容,这样系统才会知道程序放在哪里且该如何开机
分区表(partition table):记录整块磁盘的分区状态,有64bytes
三.磁盘分区表
柱面是磁盘分区的最小单位,因此给柱面编号。在分区表的64bytes容量中,分为四组记录区,每组记录区记录了该区段的起始和结束柱面编号。磁盘分区表的作用图如下:
因此这四个分区又叫做主分区或扩展分区。
在linux中,这四个分区分别叫做/dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4
在windons中,叫做C,D,E,F
如果我们想分出超过4个分区怎么办?这个时候就要用到逻辑分区的概念,先上一张图
这里我们只用到了两个分区表记录,并且有一个扩展分区,在扩展分区里面又分出了多个逻辑分区
在linux中,这些分区叫/dev/sda5,/dev/sda6…最多可以有11个逻辑分区(5到15号),不使用2,3,4的原因是因为他们需要留给主分区或者扩展分区使用
注意:
主分区与扩展分区只能有4个
扩展分区最多只能有一个
逻辑分区是扩展分区切割得到的
主分区和逻辑分区可以被格式化,扩展分区不能被格式化
四.开机流程与主引导分区
1.BIOS:开机首先执行的程序,他会根据用户的设置去取得能够开机的硬盘,并且到该硬盘的第一个扇区读取第一个扇区的MBR位置
2.MBR:执行引导加载程序(Boot loader),读取系统内核文件
3.内核文件:开始操作系统的功能
Boot loader是由操作系统安装在MBR上面的一套软件,可以提供菜单(完成多重引导),载入内核文件,转交其他loader
注意:Boot loader的转交其他loader功能可以实现多重引导,也就是说,引导加载程序不仅可以安装在MBR上外,还可以安装在每个分区的引导扇区上,loader会做的事情就是把控制权交给系统内核或者其他loader
五.Grub
我们通常所说的Grub其实也是一种loader
装载记录:
基本引导装载程序所做的唯一的事情就是装载第二引导装载程序。(grub太大,只能写一部分在MBR中)
装载Grub:
这第二引导装载程序实际上是引出更高级的功能,以允许用户装载一个特定的操作系统。
装载系统: