• 磁盘分区及开机引导


    一.磁盘组成

    磁盘主要由盘面(也叫盘片)、磁头臂(也叫机械手臂)、读写头(也叫磁头)与转轴组成,盘面又可以分为磁道、柱面,扇区

    磁盘的基本构成如下:

    盘面:磁盘是由一叠磁盘面组成

    磁头(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和操作系统的过程,包括以下几个操作步骤

    装载记录:

    基本引导装载程序所做的唯一的事情就是装载第二引导装载程序。(grub太大,只能写一部分在MBR中)

    装载Grub:

    这第二引导装载程序实际上是引出更高级的功能,以允许用户装载一个特定的操作系统。

    装载系统:

    如linux内核。GRUB把机器的控制权移交给操作系统。
    不同的是,微软操作系统都是使用一种称为链式装载的引导方法来启动的,主引导记录仅仅是简单地指向操作系统所在分区的第一个扇区。
  • 相关阅读:
    redis的五种常见数据类型的常用指令
    Linux常用的命令
    moco操作
    如何使用GoEasy实现PHP与Websocket实时通信
    浅谈websocket
    nginx 配置虚拟主机访问PHP文件 502错误的解决方法
    集群/分布式环境下5种session处理策略
    nginx 集群
    使用Nginx实现反向代理
    nginx的配置和基本使用命令
  • 原文地址:https://www.cnblogs.com/sunshine-cat/p/8087764.html
Copyright © 2020-2023  润新知