磁盘管理——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
下一篇 2016-09-02

相关推荐

  • Linux终端的类型

    Linux终端可以分为如下几种类型    1、物理终端:是指通过键盘显示器直接连接到主机的方式,我们也称之为console端。    2、虚拟终端:是利用软件的方式模拟实现类似物理终端的访问方式,通常Linux内核开启6个虚拟终端,分别使用Ctrl+Alt+F1~F6实现不同tty虚拟终端之间的切换,供多用户或者多任务…

    Linux干货 2016-10-29
  • 磁盘阵列(raid),划分逻辑卷(lvm)

    磁盘阵列(raid),划分逻辑卷(lvm)       将来我们在生产环境中由于磁盘的来回读写量比较大,所以就容易导致磁盘的损坏率比较高。但是,处于生产环境的需求,我们还得保证服务器的正常运行。或者说我们需要对服务器的读写速率进行优化,这样我们就不得不运用到这个磁盘阵列(raid )。而所谓的磁盘阵列就是使用…

    Linux干货 2016-08-29
  • linux学习笔记: shell脚本编程相关(上)

    前言 unix/linux操作系统下的shell,是一种壳,其目的是提供一个用户与计算机相互交互的命令接口,通过输入各种命令,达到操作的目的。 与此同时,shell支持控制流程,进而可以组合出各种各样的应用实例。 shell脚本的格式  首行shebang机制:  bash脚本,首行添加#!/bin/bash&nbsp…

    Linux干货 2017-04-18
  • Linux之账号管理

    Linux之账号管理 一、新增与删除用户:useradd,相关配置文件,passwd,usermod,userdel 在Linux登录系统时会输入账号和密码,所以创建用户也需要这两个数据。新建用户用useradd命令,密码的给予则用passwd命令。 useradd 1.添加新用户 -u: -u  uid username 创建用户时指定uid(如…

    2017-07-23
  • vrrp_script高可用httpd&双主httpd

      vrrp_script高可用httpd 实验拓扑: HA01 192.168.150.137     MASTER HA02 192.168.150.137     BACKUP VIP 1921.168.150.131 实验1: 通过touch一个文件来控制keepalived主机的优先级 HA01的配…

    Linux干货 2016-12-06
  • vi(vim)编辑器的使用

    vim编辑器:全屏编辑器,模式编辑器 vim模式:     编辑模式:     输入模式:     末行模式:     转换模式:      &nbs…

    Linux干货 2016-08-15