硬盘基础知识及 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

相关推荐

  • PageRank算法

    1. PageRank算法概述          PageRank,即网页排名,又称网页级别、Google左侧排名或佩奇排名。         是Google创始人拉里·佩奇和谢尔盖·布林于1997年构建早期的…

    Linux干货 2015-12-15
  • Linux基础知识点(一)

    此篇博客只是记录第一周未掌握或不熟悉的知识点,用来加深印象。

    2018-03-13
  • 姗姗来迟的第三周作业

    一,列出当前系统上所有已经登录的用户的用户名,注意,同一个用户登录多次只显示一次即可 w -h | cut -d" " -f1 | uniq who |cut -d" " -f1|uniq 二,取出最…

    Linux干货 2016-11-21
  • 软件包管理详解

      软件包管理器 1、功能: (1)将软件包打包成一个文件,其中包括: ①二进制程序 ②库文件 ③配置文件 ④帮助文件 (2)生成数据库,追中所安装的每一个文件。 2、软件包管理器的核心功能: (1)制作软件包 (2)安装、卸载、升级、查询、校验 3、不同发行版的不同的…

    2017-08-11
  • bash编程初体验(三)

    bash编程初体验之for for while until 概述 本文将介绍以for为代表的循环语句在shell 脚本中的应用,常见的循环语句有for, while,until,作为循环语句,顾名思义,它就是重复地做一件事,直到满足某一条件而退出;另外,还有两个循环控制语句continue与break来配合循环语句,以实现临时中断或跳出循环的功能;以下为fo…

    Linux干货 2016-08-24