磁盘管理——MBR与GPT的分区

一、硬盘的结构

这里讲的主要是网上所谓的老式磁盘,它是由一个个盘片组成的,我们先从个盘片结构讲起。如下图所示,图中的一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图中蓝色部分)。扇区是磁盘的最小组成单元,通常是512字节

blob.png

                        

磁盘由多个盘片组成,每个盘片都有一个可读写的磁头。磁头固定,盘片旋转一周所走的轨迹就是磁道。磁道又可以划分扇区,

扇区一般为512个字。相同磁道号组成的圆柱称为柱面/磁柱.如下图所示。

blob.png

磁头(head):256个

磁道(track):1024个

扇区(sector):63个

柱面(cylinder):head*track*512=8M

存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数

二、MBR分区

1、MBR: Master Boot Record,1982年,使用32位表示扇区数(2^32),分区不超过2T

2、如何分区:按柱面

3、0磁道0扇区:512bytes

446bytes: boot loader (与分区无关,引导加载器,不同的操作系统引导程序也不同centos5,6使用的是grub;cetos7是grub2)

64bytes:分区表(真正存放分区 的位置,每个分区要消耗16个字节)

16bytes: 标识一个分区

2bytes: 55AA(没有55AA系统会认为系统没有分区)

4、4个主分区;3主分区+1扩展(N个逻辑分区)


                            MBR分区结构

blob.png

三、GPT分区

GPT:GUID(Globals Unique Identifiers)partition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z(4096Byte/block)

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

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

                    GPT分区结构

1.png

保护MBR:保护MBR位于GPT磁盘的第一扇区,也就是0号扇区,有磁盘签名,MBR磁盘分区表和结束标志组成,没有引导代码。而且分区表内只有一个分区表项,这个表项GPT根本不用,只是为了让系统认为这个磁盘是合法的。

GPT头:GPT头会定义分区表的起始位置,分区表的结束位置、每个分区表项的大小、分区表项的个数及分区表的校验和等信息。

分区表:每个分区表项中记录着分区的起始,结束地址,分区类型,分区名字,分区属性。

分区区域:GPT分区区域就是用户使用的分区,也是用户进行数据存储的区域。分区区域的起始地址和结束地址由GPT头定义。

GPT的优势

GPT意为GUID分区表。(GUID意为全局唯一标识符)。这是一个正逐渐取代MBR的新标准。它和UEFI相辅相成——UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR。之所以叫作“GUID分区表”,是因为你的驱动器上的每个分区都有一个全局唯一的标识符(globally
unique
identifier,GUID)——这
是一个随机生成的字符串,可以保证为地球上的每一个GPT分区都分配完全唯一的标识符。
这个标准没有MBR的那些限制。磁盘驱动器容量可以大得多,大到操作系统和文件系统都没法支持。它同时还支持几乎无限个分区数量,限制只在于操作系统——Windows支持最多128个GPT分区,而且你还不需要创建扩展分区。
        在MBR磁盘上,分区和启动信息是保存在一起的。如果这部分数据被覆盖或破坏,事情就麻烦了。相对的,GPT在整个磁盘上保存多个这部分信息的副本,因此它更为健壮,并可以恢复被破坏的这部分信息。GPT还为这些信息保存了循环冗余校验码(CRC)以保证其完整和正确——如果数据被破坏,GPT会发觉这些破坏,并从磁盘上的其他地方进行恢复。而MBR则对这些问题无能为力——只有在问题出现后,你才会发现计算机无法启动,或者磁盘分区都不翼而飞了。

四、模拟恢复MBR分区

1、添加硬盘,使之立即生效

blob.png

2、查看分区,存放在0磁道0扇区

blob.png

3、查看分区的二进制列表,其中446字节是它的boot loader,后面64字节是它真正存放分区的位置,最后是一个55aa的标志位

blob.png

4、备份MBR

blob.png

5、查看是否备份成功

blob.png

6、数据迁移,恢复数据,要求迁移到的磁盘是空磁盘

blob.png

blob.png

7、模拟破坏

blob.png

模拟破坏55aa

blob.png

已经破坏了55AA,系统会认为没有分区了

blob.png

9、恢复分区表

blob.png

                      

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

赞 (1)
xiaoqingxiaoqing
上一篇 2016-09-02 08:48
下一篇 2016-09-02 08:48

相关推荐

  • keepalived高可用实例

    1、keepalived单实例 1)实验环境为VMware虚拟机,两台centos7.2,主机1IP地址为10.1.252.55,主机2IP地址为10.1.252.34,虚拟路由IP为10.1.252.246, 2)确保iptables和selinux不影响实验 (1)确保两台主机的时间同步 [root@localhost ~]# vim…

    Linux干货 2016-11-01
  • 网络N22期-第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 常用文件管理类命令有cp、mv、rm。 # cp命令:文件复制命令     cp [OPTION]… [-T] SOURCE DEST 单文件复制     cp [OPTION]… SOURC…

    Linux干货 2016-08-22
  • DNS-BIND

    1.实验环境 服务器类型 域名 IP 主DNS服务器 test.com. 192.5.24.101 从DNS服务器 192.5.24.102 子DNS服务器 ops.test.com. 192.5.24.201 备注:所有服务器需保持时间同步。 2.正向解析区域(192.5.24.101) 1)  安装bind 2)  编辑主配置文件,修…

    2017-05-31
  • 马哥linux第一周学习笔记

    计算机组成 Linux基本命令

    Linux干货 2017-12-17
  • httpd功能配置之CGI程序

        httpd服务中有一个cgi-bin目录,此目录专门用于存放cgi脚本。CGI即网关通用接口,用于实现动态网页。下面简单编写一个CGI脚本来进行测试此功能:     1、在/var/www/cgi-bin/目录下创建一个脚本     2、重启服务     3、验证 &nb…

    Linux干货 2016-03-11
  • 第六周博客作业

                   1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s@^[[:space:]]\+[^[:…

    Linux干货 2016-12-05