硬盘分区格式MBR和GPT学习
目前硬盘分区格式有2种,MBR(Master Boot Record)分区格式和GPT(Guid Partition Table)分区格式。
一、MBR(Master Boot Record)分区格式
MBR也就是主引导记录的意思,这种分区格式分区时在硬盘的第一个扇区(0 磁道、0 柱面、1 扇区,占用512个字节)记录了磁盘的重要信息,它主要包含主引导程序(Initial Program Loader)446字节、磁盘分区表DPT(disk partition table)64字节和引导记录标识BRID(boot record ID)2字节三个部分。
早期的硬盘主要由碟片、机械手臂、磁头、主轴马达所组成,磁盘上又可细分出扇区(sector)、磁道(Track)两种单位,磁盘扇区大小主要有512B和4KB,而早期磁盘扇区只有512M, MBR分区格式就是通过第一个扇区来记录磁盘信息来达到读取磁盘和引导系统的目的。
======================MBR分区格式硬盘===================+----------------------------------------------------+| Initial Program Loader(446B) | #主引导程序IPL(446B)| DPT 1 | DPT 2 | DPT 3 | DPT 4 | #磁盘分区表DPT(64B)| boot record ID(2B) | #引导记录标识BRID(2B)+----------------------------------------------------+|[boot sector] | #引导扇区| basic Partition 1 Data | #基本分区1| |+----------------------------------------------------+|[boot sector] | #引导扇区| basic Partition 2 Data | #基本分区2| |+----------------------------------------------------+|[Extended Partition Table][0X55AA] | #扩展引导记录EBR(64B分区表+2B有效标志+无内容446B)|[boot sector] | #引导扇区,位于EBR扇区后的第63扇区,前面有62个保留扇区| logical Partition 1 Data | #逻辑分区1| |+----------------------------------------------------+|[Extended Partition Table][0X55AA] | #扩展引导记录EBR(64B分区表+2B有效标志+无内容446B)|[boot sector] | #引导扇区,位于EBR扇区后的第63扇区,前面有62个保留扇区| logical Partition 2 Data | #逻辑分区2| |+----------------------------------------------------+
1.主引导程序(Initial Program Loader)446字节。
主引导程序(Initial Program Loader初始程序加载),占用446B大小,顾名思义,它是用来安装初始的开机管理程序的,主要作用为:
- 检查硬盘分区表是否完好。
- 在分区表中寻找可引导的“活动”分区。
- 将活动分区的第一逻辑扇区内容(也叫分区引导记录,PBR)装入内存。在DOS分区中,此扇区内容称为DOS引导记录(DBR)。
2.磁盘分区表DPT(disk partition table)64字节。
分区表占用64B,用于记录整块磁盘的分区状态。
- 在分区表中,用16B来分别记录每一个分区,也就是最多记录4个分区信息。
- 每个基本分区开头部分都有一个引导扇区。
- 为解决多个分区的问题,可以允许其中一个分区信息为扩展分区,再在扩展分区内划分逻辑分区来实现多个分区。
16B的分区表信息都存了什么?如下为其中一个16进制的分区表信息。
分区表位数 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
分区表值(16B) 80 01 01 00 07 FE FF 7B 3F 00 00 00 3D A8 DA 00
分区表各值的含义:第1字节:80 是否活动分区标志。只能选00和80。80为活动,00为非活动第2字节:01 开始磁头 第3字节:01 开始扇区 第4字节:00 开始柱面 第5字节:07 分区类型,05表示扩展分区;07表示NTFS;83表示Linux分区等第6字节:FE 结束磁头 第7字节:FF 结束扇区 第8字节:7B 结束柱面 9-12字节:00 00 00 3F 该分区起始扇区数,也就是从磁盘开始扇区到该分区开始的扇区位移量13-16字节:00 DA A8 3D 该分区的总扇区数
可以看出,分区表用4个字节来记录分区的扇区总数,也就是32位,因此MBR分区格式的磁盘单分区最大容量为2^32*512B=2TB
3.引导记录标识BRID(boot record ID)2字节。
BRID的主要作用就是判断该设备是否可以用于启动。BIOS按照“启动顺序”,把控制权转交给排在第一位的储存设备。这时,计算机读取该设备的第一个扇区,也就是读取最前面的512个字节。如果这512个字节的最后两个字节是0x55和0xAA,表明这个设备可以用于启动;如果不是,表明设备不能用于启动,控制权于是被转交给“启动顺序”中的下一个设备。其实主引导记录的作用就是告诉计算机到硬盘的哪一个位置去找操作系统。
4.扩展分区引导记录EBR和引导扇区boot sector
- 每个逻辑驱动器的分区开头都有一个类似于MBR的扩展引导记录(Extended Boot Record,EBR),EBR由扩展分区表+有效标志组成。
- 扩展分区表位于EBR的开头,占用64B。共分4项,每项占用16B。第一项记录当前逻辑分区表基本信息,第二项目记录下一个逻辑分区表基本信息,若没有下一个逻辑分区,则无内容;第三项和第四项无内容。
- 逻辑分区的分区有效标志占用2B,用十六进制0X55AA表示。逻辑分区的分区引导记录部分共446B用0填充。
- 逻辑分区的引导扇区一般位于EBR扇区后的第63扇区,前面有62个保留扇区。
二、GPT(Guid Partition Table)分区格式
GPT分区格式完美解决了最大磁盘容量为2TB的限制,并且以逻辑区块地址 LBA(Logical Block Address)来记录分区信息,每个LBA区块默认512字节。同时,GPT 使用了 34 个 LBA 区块来纪录分区信息,第一个 LBA 称为 LBA0 (从 0 开始编号)!而且, GPT 除了前面 34 个 LBA 之外,整个磁盘的最后 33 个 LBA 也拿来作为分区记录的备份!
===============GPT分区格式硬盘==============+----------------------------------------+| Protective MBR | # LBA 0 | Primary GPT Header | # LBA 1| DPT 1 | DPT 2 | DPT 3 | DPT 4 | # LBA 2 | DPT 5 ~~~ DPT 128 | # LBA 3 ~~ 34+----------------------------------------+|[boot sector] || Partition 1 || |+----------------------------------------+|[boot sector] || Partition 2 || |+----------------------------------------+| || Remaining Partitions || |+----------------------------------------+| DPT 1 | DPT 2 | DPT 3 | DPT 4 | # LBA -34| DPT 5 ~~~ DPT 128 | # LBA -2~~-33 | Second GPT Header | # LBA -1+----------------------------------------+
1. LBA 0 (MBR 兼容区块)
与 MBR 模式相似的,这个兼容区块也分为两个部份,一个就是跟之前 446 bytes 相似的区块,储存了第一阶段的开机管理程序! 而接下来64B原本用来记录分区表的地方,则仅仅放入一个特殊标志的分区,用来表示此磁盘为 GPT 分区格式的硬盘。
2. LBA 1 (GPT 表头纪录)
这个部份既纪录了分区表本身的位置与大小,也纪录了备份用的 GPT 分区 (最后的 34 个 LBA 区块) 放置的位置, 同时还放置了分区表的检验机制码 (CRC32),操作系统可以根据这个检验码来判断 GPT 是否正确。若有错误,还可以透过这个纪录区来取得备份的 GPT 来恢复 GPT 的正常运作。
3. LBA 2 ~~ 33 (实际纪录分区信息处)
从 LBA2 区块开始,每个 LBA 都可以纪录 4 个分区纪录,因此,在默认的情况下可以记录 4 * 32 = 128 个分区纪录。因为每个 LBA 有 512B 大小,所以每个分区记录占用 128B 的空间,这个空间除了纪录所需要的标识符与相关的纪录之外,提供了64B 大小来记录开始/结束的扇区号码,因此,GPT 分区表对于单一分区来说, 其最大容量可以达到 2^64 * 512B = 2^3 * 2^30 * 2^ 30 * 2 * 512B = 8 ZB (1 ZB = 2^30 TB)。
硬盘分区格式MBR和GPT学习相关推荐
- 硬盘分区形式MBR转GPT
1.打开DOS命令界面 2.输入diskpart命令,回车键确定. 3.再输入list disk命令,回车键确定后,下面出现的文字就会显示硬盘的信息. 4.输入select disk 1命令,该命令是 ...
- 硬盘分区形式(MBR、GPT)、系统引导、文件系统、Inode和Block
目录 查看全文 http://www.taodudu.cc/news/show-5813605.html 相关文章: 当系统开机遇到错误代码0xc0000001 初始化CEF中CefInitializ ...
- 磁盘分区格式(MBR分区和GPT分区)和启动引导模式(Legacy和UEFI)的关系
文章目录 1. 专业名词概览 2. 磁盘分区格式:MBR分区和GPT分区 2.1 简介 2.2 区别 3. 启动引导模式:Legacy BIOS和UEFI BIOS 3.1 Legacy BIOS的启 ...
- 详谈硬盘分区表格式MBR与GUID/GPT
目录 MBR主引导记录 GUID/GPT全局唯一标识分区表 UEFI BIOS详解 GPT分区表下的隐藏分区 BIOS启动方式 前言:我们在重装系统前,在PE中进行硬盘重新分区的时候分区表格式选择MB ...
- win7系统的两种硬盘格式mbr和gpt怎么选择?
win7系统的两种硬盘格式mbr和gpt怎么选择?首先这两个格式在日常的使用中没有什么差别,都是可以正常运行的.只不过在一些特别的操作中,不同的格式便利性不一样.比如系统重装的时候,很多都是有指定硬盘 ...
- Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)...
一.硬盘 硬盘的功能相当简单但很重要,它负责记录系统所需要的各种数据.硬盘记录数据有两个方面,一个是硬件方面的存储原理和结构,另外一方面则是软件方面的数据和文件系统.硬盘的主要行为就是数据的存放和取出 ...
- Windows中的磁盘分区、MBR、GPT
Windows中的磁盘分区: 1.分为主分区,扩展分区.其中拓展分区又包含若干个逻辑分区: 注意:如果拓展分区被删除或者破坏,则所有逻辑分区将会被删除. 2.分区时注意磁盘的连续性,建议将拓展分区放在 ...
- 硬盘分区格式GPT与MBR无损互相转换而不破坏硬盘存储资料
重装系统有时候需要转换硬盘格式和分区方式,最近两年生产的笔记本电脑几乎都是UEFI+GPT分区方式的系统,WIN10改WIN7 32位系统的时候需要将硬盘分区方式从GPT改成MBR.有时候想升级配置, ...
- linux mbr转换成gpt分区格式,MBR怎么转换为GPT?硬盘MBR格式转换成GPT格式教程
硬盘MBR格式怎么转换成GPT格式?这是很多小白电脑用户所不了解的.首先介绍一下硬盘gpt格式,GPT是一种全局唯一标识分区表(GUID Partition Table,缩写:GPT),是指全局唯一标 ...
最新文章
- Nginx的启动、停止
- [云炬创业基础笔记]第七张创业团队测试2
- ubuntu 10.04 CTS 环境搭建
- python 标量_python:将标量视为一个元素列表
- 第二章 算法 (大话数据结构)
- js几种加密/解密方法
- Honeywell1900霍尼韦尔 扫描二维码 QT 客户端显示数据
- C++ 二进制读入和Minist图片展示
- Tenserflow 情感分类
- 正/负相比例放大中压摆率对电路带宽的影响分析
- ajax 的四步法处理
- linux中tac的用法,如何在Linux中使用“cat”和“tac”命令与示例
- Python 用Ursina引擎制作一个3D迷宫游戏
- 微信小程序—audio(音频)
- SCP批量拷贝指定文件
- 在OpenGL中实现Geometry Instancing
- 输出的字符串中有空格并且无法替换B e a r e r N D c y Z T g 4 N z A t N 2 N h Z C 0 0 Y 2 E 4 L T g x M W E t O D Y
- 2022年金三银四面试葵花宝典(你不知道的程序员面试技巧)
- app 的 icon图标 有黑边
- python-scrapy-MongoDB 爬取链家二手房
热门文章
- Qt5.9设置窗口透明而控件不透明
- window.external为空或不是对象
- 《计算机网络》第一章 概述
- C语言获取当前的时间,秒,毫秒,纳秒
- 【免费】最新大数据/机器学习课程下载
- 微信小程序--icon引入外部图标
- gtsam配置MATLAB toolbox
- RabbitMQ.Client.TopologyRecoveryException问题与解决
- com.qihoo.android.float window,全民枪战360版(com.crisisfire.android.qihoo) - 3.23.1 - 游戏 - 酷安...
- window.parent