目录
1.MBR 分区表(主引导记录Master Boot Record , mbr)
2.GPT 分区表(全局唯一标识分区表GUID PartITion Table,gpt )
一、磁盘存储结构
(一)分区表
分区表是运用硬盘,分区表的作用就是把一块单独的物理硬盘,划分成几个各自相对独立的区域,便于我们更方便的运用硬盘。你的电脑中通常只有一块物理硬盘;但是一般情况下,你的电脑中不止一个C分区,还会有D、E、F等其它分区。正是分区表,把一块物理硬盘划分成了C、D、E、F等多个分区。
有两种格式的分区表:MBR与GPT。MBR是传统格式的分区表,在硬盘容量越来越大的今天,MBR先天的一些不够,导致MBR分区表不能很好的管理大容量硬盘;GPT是新一代格式的分区表,在很多方面,特别是在处理大容量硬盘方面,比MBR好很多。现在运用MBR分区表的硬盘,可能在数量上比运用GPT分区表的要多一些,但是看发展的趋势,运用GPT分区表的情况会越来越多。
- window 7默认使用的是MBR分区,window 10默认使用的是GPT分区。
- Linux系统CentOS 7.6及以上版本默认采用的就是GPT分区方式。
1.MBR 分区表(主引导记录Master Boot Record , mbr)
主引导记录(Master Boot Record , mbr)是指一个存储设备的开头 512 字节。它包含操作系统的引导器和存储设备的分区表。运用MBR分区表时,分区分为主分区、扩展分区、逻辑分区,三种类型。
- 主分区:可以在硬盘上直接创建主分区,创建后的主分区可以直接运用,用于储存与读取数据;
- 扩展分区:可以在硬盘上直接创建扩展分区,创建后的扩展分区不可以直接运用,必须在扩展分区上再创建逻辑分区,才能在逻辑分区上储存与读取数据;
- 逻辑分区:不可以在硬盘上直接创建逻辑分区,必须在硬盘上先创建扩展分区后,再在扩展分区上创建逻辑分区,逻辑分区创建后就可以运用了。
MBR分区表的扩展分区表为EBR,EBR(Extended Boot Record),可以理解为是逻 辑分区前的MBR,用于存储逻辑分区的分区结构,EBR 在结构上类似于MBR。 电脑上创建两个G的MBR分区表的虚拟磁盘,如下图所示:
MBR分区特点:
- 主分区的总数,不能超过4个。就是说,一个硬盘,最多可以被划分为4个主分区。
- 如果划分扩展分区,那么,一个硬盘只能有一个扩展分区,且主分区与扩展分区的分区数目之和不能超过4个,就是说,一个硬盘,最多可以被划分为3个主分区与1个扩展分区。
- 在扩展分区中创建逻辑分区的数目没有限制,只要需要,可以创建任意多个逻辑分区。事实上,是微软公司在MBR分区表中引入扩展分区与逻辑分区的概念,目的就是要突破MBR最多只能划分四个主分区的限制。
- 任何分区,包括主分区、扩展分区、逻辑分区,分区的大小,都不能超过2TB,这是一条使得MBR分区表不能很好的处理大容量硬盘的限制。
- 任何分区,其起始地址,不能位于硬盘物理地址2TB之后,实际情况是,不仅是起始地址,结束地址在硬盘物理地址2TB之后的分区,也会导致很多严重的问题。这条限制直接宣告MBR不合适于管理超过2TB的大容量硬盘。
- UEFI对MBR分区表支持不好,UEFI是新一代的BIOS,现在的新电脑,不论是台式电脑还是笔记本,都开始支持UEFI了。UEFI的内容可以点击:BIOS终结者,UEFI是什么?UEFI详解!
如果你电脑的硬盘容量小于2TB,并且不运用UEFI,MBR其实是一个很优秀的分区表格式,它简单易用,稳定高效。而且MBR分区表的兼容性特别好,全系Win,包括Win 7、8、10,包括32位与64位的Win,都能很好的在MBR分区表下安装与运行。
MBR分区表使用 01BEH 起的 64 个字节描述分区情况。
Winhex打开新建的两个G的虚拟磁盘,然后调至0扇区,如下图所示:
小实验:将磁盘改为活动分区
实验步骤:通过分区助手设置
实验原理:将磁盘主分区第一个长度为1的偏移量00改为80
注意:一个硬盘上只能设置一个活动分区,而且只有主分区才能被设为活动分区。大多数情况下,你电脑上的活动分区都是C分区。
下面介绍第一分区各个偏移量所代表的含义:
2.GPT 分区表(全局唯一标识分区表GUID PartITion Table,gpt )
全局唯一标识分区表(GUID PartITion Table,缩写:gpt)是一个实体硬盘的分区表的结构布局的标准。它是统一可扩展固件接口标准的一部分,它使用全局唯一标识来标识设备。它是新一代分区表格式,用以替代 Mbr 分区表。它用来解决 MBR 分区表的缺点,同时带来了一些优点。
- GPT分区表,没有扩展分区与逻辑分区的概念,所有分区都是主分区。
- GPT分区表,一个物理硬盘,在Win下最多可以划分出128个分区,应该是足够用了。
- GPT分区表,每个分区的最大容量是18EB(1EB = 1024PB = 1,048,576TB),这么大,不用考虑硬盘容量太大的问题了。
- GPT分区表,与运用UEFI的新计算机配合的非常好,但运用BIOS的老机器,会出一些问题,不建议运用。
- GPT分区表对新的Win操作系统,比如Win 7、8、10,都支持的非常好,但只支持64位的Win XP。
GPT分区表的扩展分区表为出于兼容性考虑,在 GPT 分区 表的最开 头存储了一份传统的MBR,以防止不支持GPT 的硬盘管理工具错误识别并破坏硬 盘中的数 据,这个 MBR 也叫做保护MBR。在支持从 GPT 启动的操作系统中,这里也用于存储第一 阶段的启动代码。
GPT分区内偏移所代表的的含义。
3.MBR和GPT分区的区别
MBR 导致的问题
- 只能有四个主分区或者三个主分区加一个扩展分区 (以及在扩展分区中的任意数量的逻辑分区). 如果你有三个主分区加一个扩展分区以及除此之外的空闲空间,在空闲空间之上你无法创立分区。
- 在扩展分区里,逻辑分区的元数据被存储在一个链表结构中。如果一个环节丢失,该元数据之后的逻辑分区全部丢失。
- MBR 只支持1个字节的分区类型编码,导致许多冲突。
- MBR 使用32位的 LBA 值来存储分区扇区信息。LBA 的大小以及512B的扇区大小共同限制了 硬盘可寻址大小最大为2TB. 如果使用 MBR, 2TB以外的空间无法使用。
GPT 的优点
- 使用 GUID (UUID) 来表明分区类型 - 无冲突。
- 为每个分区提供了一个唯一硬盘 GUID 和一个唯一分区 GUID - 一个好的不依赖文件系统的引用分区和硬盘的方式。
- 任意分区数 - 取决于给分区表分配的空间 - 不需要扩展和逻辑分区。GPT ,默认包含了定义128个分区的空间。当用户想要更多分区时,他可以给分区表分配更多空间 (目前只有 gdisk 支持这一特性)。
- 使用64位 LBA 存储扇区数 - 最大硬盘可寻址大小为 2 ZB.
- 存储了备份头和分区表可于主要部分损坏时进行急救。
- CRC32 校验值用于检测头和分区表的错误与损坏。
GPT分区最大的好处就是,支持大容量硬盘,支持UEFI。GPT分区在运用上比MBR多少麻烦一些,无论是安装操作系统,还是管理分区等,都需要对一些基础知识的了解。建议:用老式BIOS的计算机,建议用MBR分区格式;用UEFI的新计算机,建议用GPT。反过来用不是完全不行,但很容易出问题,除非是专业人士,否则不建议运用。
(二)文件系统
文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。举个通俗的比喻,一块硬盘就像一个块空地,文件就像不同的材料,我们首先得在空地上建起仓库(分区),并且指定好(格式化)仓库对材料的管理规范(文件系统),这样才能将材料运进仓库保管。文件系统的作用是,它负责为用户建立文件、读出、修改,控制文件的读取,我们常说的格式化硬盘就是写入文件系统。文件系统是对应硬盘的分区的,而不是整个硬盘,不管是硬盘只有一个分区,还是几个分区,不同的分区可以有着不同的文件系统!
1.FAT32
- DBR 是指操作系统引导记录,在文件系统的 0 号扇区,在 DBR 之后往往会有一 些保留扇区。
- FAT1 表是主 FAT 表,是 FAT32 的第一份文件分配表,FAT1 表通常在文件系统 的 2 号簇的位置。
- FAT2 表是 FAT32 的第二份文件分配表,也是 FAT1 表的备份。
- DATA 是数据区,是 FAT32 文件系统的主要区域,其中包含目录区域。
- FAT32 文件系统支持最大分区 2TB。
- FAT32 文件系统支持最大单个文件大小 4GB。
2.NTFS
NTFS目前是使用最为广泛的分区类型,我们可以进行设置权限,并且比Fat32多出许多功能,并且在安全性和易用性、稳定性方面出色。它是由Win 2000之后开始普及,如今发展到现在NTFS最大支持256TB(MBR),GPT分区下更是最大支持128EB。目前大多数的电脑硬盘都是使用NTFS,我们在分区的时候建议首选NTFS分区类型!U盘不建议使用NTFS,会大幅度缩短寿命。由于NTFS分区类型是微软公司的专利,因此对于Mac用户或多或少有点小麻烦,MAC用户需要借助第三方软件才可以写入NTFS文件系统,所以如果考虑多平台的用户,我们更加推荐exFAT格式。
- $BOOT 是引导文件。
- $MFTMirr 是 $MFT 前面四个表项的备份。
- $MFT 是主文件表,每个文件信息都在这个
- $MFT 文件中有记录。备份 DBR 即对 0 号扇区的 DBR 进行了备份。
- 安全性较高,NTFS文件系统有日志容错功能,安全性比 FAT系列文件系统高很多。NTFS 文件系统可以给文件设置访问权限。
- NTFS压缩功能可以对单个文件、整个文件夹或NTFS卷上的整个目录树进行压缩。
- NTFS 文件系统具有 EFS 文件加密功能。
- NTFS 文件系统支持大分区,在 MBR 磁盘最大支持 2TB,在 GPT 磁盘支持的分 区支持
- 2TB 以上。
- NTFS 文件系统支持最大单个文件大小 2TB。
3.exFAT
exFAT也可以叫做FAT64,从Windows CE6之后就出现了,它解决了FAT32不支持4G以上大容量文件的问题,直接最大支持16EB(目前256GB),而Windows与Mac均可适用,还有十分强的跨平台能力。是微软专为闪存(U盘、存储卡)闪存设备设计的文件系统,兼容性非常好。建议U盘等移动设备首选。
NTFS文件格式 | FAT32文件格式 | FAT16文件格式 |
---|---|---|
支持单个分区大于2G | 支持单个分区大于2G | 单个分区小于2G |
支持磁盘配额 | 不支持磁盘配额 | 不支持磁盘配额 |
支持文件压缩(系统 ) | 不支持文件压缩(系统) | 不支持文件压缩(系统 ) |
支持EFS文件加密系统 | 不支持EFS | 不支持EFS |
产生的磁盘碎片较少 | 产生的磁盘碎片适中 | 产生的磁盘碎片较多 |
适合于大磁盘分区 | 适合于中小磁盘分区 | 适合于小与2G的磁盘分区 |
支持WindowsNT | 支持9x,不支持NT4.0 | 不支持Win2000,支持NT,9x |
二、FAT32文件系统数据恢复
(一)短文件名(≤8字节)数据恢复
基础知识:起始簇号 = 低 16 位的数值+(高 16 位的数值 *65536)
1.首先添加一个2G的虚拟磁盘,文件系统类型为FAT32。
2.新建一个名为kaishui.docx的文件,放入虚拟磁盘中,随后再进行永久性删除(shift+delete)
3.winhex打开,跳转到2号簇,文件删除后开头长度为1的偏移量为E5,找到它。
4.需要计算起始簇号和文件的大小,然后跳到起始簇号去,然后再从起始位置跳转偏移量16进制文件头大小,复制到一个新的文件名为xiaofeng.docx
文件大小::273E
起始簇号: 低 16 位的数值+(高 16 位的数值 *65536)=7+0*65536=7
恢复成功!
(二)长文件名(≥8字节)数据恢复
1.在之前建立的虚拟磁盘中,新建一个名为kaishuixiaobaobao.docx的文件,放入虚拟磁盘中,随后再进行永久性删除(shift+delete)
2.winhex打开,跳转到2号簇,找到被删文件的短文件名后,查看相关信息。
3.后面跟短文件名方法一样,恢复到桌面xiaofengbaobao.docx
恢复成功!
三、NTFS文件系统数据恢复
1.首先添加一个2G的虚拟磁盘,文件系统类型为NTFS。
2.新建一个名为kaishui.docx的文件,放入虚拟磁盘中,随后再进行永久性删除(shift+delete)
3.winhex打开,找到主文件表$MFT
4.打开LoveString字符串转换工具,输入kaishui.docx,然后将unicode值复制,然后点击查找十六进制数值,进行搜索
4.分析簇流运行
5.根据簇流运行分析所得,被恢复的文件应该是在0906号(1545)簇中,然后大小为3个簇大小(1548),复制到桌面新文件xiaofeng.docx
恢复成功!