磁盘管理——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

相关推荐

  • 看了还想看—普通权限及umask

        权限在操作系统是尤为重要的,无论是windows和linux中,都少不了权限这么一说,权限的大小决定了你能操作些什么,在linux中,权限对目录和文件的意义是不同的,并且还有特殊权限。今天,我们就来说说一说权限在linux中的重要性以及权限操作命令。     权限:权限决…

    Linux干货 2016-08-03
  • linux下文件处理基础命令(自己预习瞎学的)

                      Linux下文件处理基础命令     1.创建文件   有时候我们会遇到需要创建一个空文件的情况。比如,应用程序可能希望在写…

    2017-07-15
  • 实现NFS为lamp环境web站点提供共享存储

    1.实验需求 (1)nfs server导出/data/application/web,在目录中提供wordpress; (2)nfs client挂载nfs server导出的文件系统,至/var/www/html; (3)客户端1(lamp)部署wordpress,并让其正常访问,要确保正常发文章,上传图片。 (4)客户端2(lamp),挂载nfs se…

    Linux干货 2017-05-02
  • centos 7 修改sshd服务默认端口号

    由于最近sshd服务默认端口号22被匿名进行试探性的进行登入,为防止匿名用户再次进行试探性的登入,将sshd服务的默认端口号进行修改。 环境:centos 7.3  xshell 思路:先将sshd的被指文件进行修改,把sshd服务的默认端口号修改为所需要的端口号,然后重启sshd服务,发现重启报错。找其原因是应为selinux不允许自定义sshd…

    Linux干货 2017-04-06
  • bash的工作特性之命令执行状态返回值和命令行展开

    bash的工作特性之命令执行状态返回值和命令行展开 bash的工作特性之命令执行状态返回值和命令行展开 执行状态返回值 命令行展开 执行状态返回值     Linux下每一条命令或每一个进程执行完成会返回一个状态码. 0:成功执行 1-255:执行过程中出现异常或非正常退出 在Shell脚本中,最后…

    Linux干货 2016-11-05
  • vim练习题

    #复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符vim /tmp/profile%s@^[[:space:]]+@@g#复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#号vim…

    Linux干货 2017-06-03