首页 > 代码库 > 磁盘基础基础知识(MBR,GPT分区格式)

磁盘基础基础知识(MBR,GPT分区格式)

一,硬盘知识

    硬盘接口类型:

         并行:

            IDE: 133MB/s

            SCSI: 640MB/s

         串口:

            SATA: 6Gbps(字节)

            SAS: 6Gbps

            USB: 480MB/s

    硬盘结构示意图:

        技术分享

                  技术分享

    

    硬盘专业术语:  

         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

            技术分享

二.磁盘分区格式

     为什么要使用分区?

             优化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分区结构

         技术分享

      mbt 备份示例:

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

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

                 技术分享

      备份分区表:

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

                技术分享

      备份MBR有效位标志:

                技术分享



    

    GPT分区

         GPT:GUID( Globals Unique Identifiers) partition

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

            64Z (4096Byte/block)

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

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

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

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

    GPT分区结构:

                技术分享

       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看成一个未知格式的分区,而不是错误地当成一个未分区的磁盘。


磁盘基础基础知识(MBR,GPT分区格式)