硬盘基础知识及 MBR、GPT分区格式

一,硬盘知识

    硬盘接口类型:

         并行:

            IDE: 133MB/s

            SCSI: 640MB/s

         串口:

            SATA: 6Gbps(字节)

            SAS: 6Gbps

            USB: 480MB/s

    硬盘结构示意图:

        2.JPG

                  3.JPG

    

    硬盘专业术语:  

         rpm: rotations per minute  磁盘转速单位      

         head:磁头 =盘面数量   256个    8字节

         track:磁道 1024个磁道

         cylinder: 柱面  =track *head = 512*63*256=8m

         secotr: 扇区, 512bytes  一圈最多63个扇区

            —》 CHS  柱面磁头扇区寻址方式

        (linux 底层现用 LBA 线性寻址,LBA(Logical Block Addressing)逻辑块寻址模式

            (6以后,底层工作原理按LBA进行,但是表现为CHS 形式,

            LBA中允许将柱面分给多个分区,但是传统的CHS 不支持,

            6中可以精确到以扇区划分来规定分区大小)

    linux中的设备文件:

        磁盘设备的设备文件命名: /dev/DEV_FILE

            IDE:    /dev/hd

            SCSI, SATA, SAS, USB:     /dev/sd

            虚拟化中,为 /dev/vd*

            不同设备: a-z

            eg :    /dev/sda, /dev/sdb, …

            同一设备上的不同分区: 1,2, …

            /dev/sda1, /dev/sda5

            查询可用的磁盘设备

            图形化磁盘管理功能工具:

        点击“应用程序” ->“系统工具” ->“磁盘”或执行命令gnome-disks

            4.JPG

二.磁盘分区格式

     为什么要使用分区?

            • 优化I/O性能

            • 实现磁盘空间配额限制

            • 提高修复速度

            • 隔离系统和程序

            • 安装多个OS

            • 采用不同文件系统

     分区方式:

         两种分区方式: MBR, GPT

          MBR: Master Boot Record(主引导记录), 1982年, 使用32位表示扇区

             数, 分区不超过2T

           如何分区:按柱面

            0磁道0扇区: 共 512bytes(字节)

            前446bytes:         boot loader

            后续64bytes:分区表   ——》 导致只能有4个分区

                (即用于规定每个分区占用的chs信息)

            每16bytes: 标识一个分区

            2bytes: 55AA    –》MBR标识位

            ( 2个字节被填充了2个5A,MBR有效性标记)

            每个磁盘内,可以4个主分区; 3主分区+1扩展(N个逻辑分区)

    MBR分区结构

5.jpg

      mbt 备份示例:

            备份/dev/sda 的mbr    (dd用法见本笔记尾部)

            hexdump -C   以二进制形式查看内容

            6.jpg

      备份分区表:

            eg : 备份 /dev/sda 分区信息表

          7.jpg

      备份MBR有效位标志:

          8.jpg



    

    GPT分区

         GPT:GUID( Globals Unique Identifiers) partition

            table 支持128个分区,使用64位,支持8Z(512Byte/block )

            64Z (4096Byte/block)

            (没有主分区与逻辑分区之分)

         使用128位UUID 表示磁盘和分区 GPT分区表自动备份在头和尾两份,并有CRC校验位

         UEFI (统一扩展固件接口)硬件支持GPT,使操作系统启动

            (若无UEFI只能把磁盘作为存储,无法引导操作系统)

    GPT分区结构:

硬盘基础知识及 MBR、GPT分区格式    9.jpg

       EFI部分又可以分为4个区域: EFI信息区(GPT头)、分区表、 GPT分区、备份区域

    MBR 与 GPT 分区格式的区别:

        MBR分区表:

        在传统硬盘分区模式中,引导扇区是每个分区(Partition)的第一扇区,而主引导扇区是硬盘的第一扇区。它由三个部分组成,

      主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节,第二部分是Partition table区(分区表),

      即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。

        一个扇区的硬盘主引导记录MBR由4个部分组成。

        •主引导程序(偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序。

        •出错信息数据区,偏移地址0089H–00E1H为出错信息,00E2H–01BDH全为0字节。

        •分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH–01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、

         分区项3、分区项4。

        •结束标志字,偏移地址01FE–01FF的2个字节值为结束标志55AA,如果该标志错误系统就不能启动。

        

        GPT分区表:

      GPT的分区信息是在分区中,而不象MBR一样在主引导扇区,为保护GPT不受MBR类磁盘管理软件的危害,GPT在主引导扇区建立了一个保护分区

     (Protective MBR)的MBR分区表(此分区并不必要),这种分区的类型标识为0xEE,这个保护分区的大小在Windows下为128MB,Mac OS X下为200MB,

     在Window磁盘管理器里名为GPT保护分区,可让MBR类磁盘管理软件把GPT看成一个未知格式的分区,而不是错误地当成一个未分区的磁盘。

原创文章,作者:ldt195175108,如若转载,请注明出处:http://www.178linux.com/40771

(1)
ldt195175108ldt195175108
上一篇 2016-09-19 13:49
下一篇 2016-09-19 13:49

相关推荐

  • Linux_创建文件系统及挂载文件系统流程详解

    Linux 创建文件系统及挂载文件系统流程详解 摘要:本文对新增硬盘,切割硬盘,创建硬盘分区,为硬盘分区创建文件系统,以及加载文件系统的流程做总结性论述;主要是为初学者弄清楚这一操作过程;本文涉及fdisk、mkfs、mount … … 等工具;对/etc/fstab 进行了解说;还有磁盘扫描工具fsck 等介绍; +++++++++…

    Linux干货 2016-01-18
  • RPM简述

    RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用。 RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Win…

    Linux干货 2017-08-12
  • 基于Redis的开源分布式服务Codis

    Redis在豌豆荚的使用历程——单实例==》多实例,业务代码中做sharding==》单个Twemproxy==》多个Twemproxy==》Codis,豌豆荚自己开发的分布式Redis服务。在大规模的Redis使用过程中,他们发现Redis受限于多个方面:单机内存有限、带宽压力、单点问题、不能动态扩容以及磁盘损坏时的数据抢救。 Redis通常有3个使用途径…

    Linux干货 2015-02-25
  • sed大法好

    sed sed概念 (1)基本概念:sed是流编辑器(stream editor),A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline).作用就是对输入的流(文件或者从一个管道输入的流…

    Linux干货 2016-12-02
  • shell进阶之循环

    循环执行,将某代码段重复运行多次

    重复运行多少次:

    循环次数事先已知

    循环次数事先未知

    有进入条件和退出条件

    for, while, until

    Linux干货 2017-12-24
  • 文件查找:find命令、locate命令;Linux文件系统上的权限

    文件查找:find、locate locate:依赖事先构建的索引,是在系统空闲周期性自动进行;手动更新(updatedb);极其消耗资源;   find [option]… [查找路径] [查找条件] [处理动作] 查找条件: 根据文件名查找: -name “文件名称”:支持使用通配符glob(*,?,[],[…

    Linux干货 2017-12-14