浅议磁盘分区——从MBR到GPT
diskpart这个命令,用了很多年了。
作为曾经SCCM的老手,至今还记得在System Center Configuration Manager的OSD(操作系统部署)中,为了实现单一镜像单一序列部署到不同的计算机硬件,去编写提供不同的磁盘分区的脚本。
这是由于不同厂商OEM提供Windows时,往往在磁盘上划分了保留分区以存放恢复镜像。如果企业或机构中存在非在线恢复系统的需求,那么可以把OSD产生的镜像WIM保存到保留的恢复分区,以供需要时进行系统的回复。
另外,对于一个生产环境,用户往往希望保留自己的数据分区而只恢复系统分区。在这个情况下,规范分区并且在OSD的任务序列中进行识别和处理就显得非常的重要了。
在以前很长的一段时间里,对磁盘分区的了解满足主分区、扩展分区、活动分区和MBR(主引导记录)就能大致满足日常需求了。在PC/AT时代,BIOS会去寻找磁盘上的激活的引导分区,然后根据之上的引导扇区的信息,加载SYS或者bootmgr之类的引导控制程序,引导进入操作系统。
还记得用16进制磁盘编辑器查看分区表,能够看到活动分区的0x80标记么?还记得查看引导扇区,最后两个双字节为0x55 0xAA么?这里有几篇文章可以帮助回忆:
Why 55 AA is used as the boot signature on IBM PCs?
http://stackoverflow.com/questions/11075003/why-55-aa-is-used-as-the-boot-signature-on-ibm-pcs
The PC/AT boot process
http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/pcat-boot-process.html#Active
可是技术不会停留,为了适应新的需求,例如为了超越2TB磁盘的限制,GPT磁盘分区出现了。相应的,磁盘类型ID也从以前的一个双字节变成了GUID。
之所以想起来了解这个问题,是因为我干掉了机器出场自带的恢复分区。所以顺便了解下GPT分区。
如何创建、删除分区,一搜一堆,不在这篇的讨论范围内。主要想看看分区类型。在删除恢复分区的时候,通过diskpart detail partition命令,能看到我的SSD上有这些类型的分区。
除了熟悉的分区/卷的信息,主要有两个信息是我想了解的,一个是分区类型,因为使用GPT磁盘,都显示为GUID了;一个是属性。
使用diskpart setid命令可以修改分区类型,当然也可以查看。
DISKPART> help setid 为带焦点的分区更改分区类型字段。 语法: SET ID={<BYTE> | <GUID>} [OVERRIDE] [NOERR] ID={<BYTE> | <GUID>} 指定新分区类型。 对于主启动记录(MBR)磁盘,可以采用十六进制形式 对于 GUID 分区表(GPT)磁盘,可以为分区指定 EFI 系统分区: 基本数据分区: 可以使用此参数指定任何分区类型 GUID, Microsoft 保留分区: 动态磁盘上的 LDM 元数据分区: 动态磁盘上的 LDM 数据分区: 群集元数据分区: 除提及的限制之外,DiskPart 不会检查 OVERRIDE 启用 DiskPart 能够强制首先卸载卷上的文件系统, NOERR 仅用于脚本。遇到错误时,DiskPart 会继续 仅供原始设备制造商(OEM)使用。 必须选择一个分区才能成功执行此操作。 警告: 使用此参数更改分区类型字段可能会导致计算机发生故障 此命令在动态磁盘或 Microsoft 保留分区上无法使用。 示例: SET ID=07 OVERRIDE |
这里有一篇比较完整的介绍:https://technet.microsoft.com/en-us/library/cc771243.aspx
我注意到帮助没有说明我的OEM分区,于是搜索。
原来这是个用于实现Intel Rapid Start Technology的分区,文档参见:http://download.intel.com/support/motherboards/desktop/sb/rapid_start_technology_user_guide_for_uefi1.pdf
那么,分区属性又是怎么回事呢?使用diskpart gpt命令可以获得分区属性。
DISKPART> help gpt 在基本 GUID 分区表(GPT)磁盘上,将 GPT 属性分配给带焦点的分区。 语法: GPT ATTRIBUTES=<N> ATTRIBUTES=<N> 表示可应用于带焦点的分区的属性的十六进制值。GPT 属性字段 可以在所有分区上设置以下属性: 0x0000000000000001 将该分区标记为必需分区。这向所有的磁 对于基本数据分区,定义了以下属性: 0x8000000000000000 0x4000000000000000 0x2000000000000000 x1000000000000000 Microsoft 可能会随时添加其他属性。 GPT 分区属性提供有关该分区使用情况的附加信息。 必须选择一个基本 GPT 分区才能继续执行此操作。 警告: 更改 GPT 属性可能会导致无法为基本数据卷分配驱动器号,或阻止装载文件 示例: GPT ATTRIBUTES=0x8000000000000000 |
对照detail partition命令获得的分区属性,能够发现有这么几种:
0x0000000000000000;0X8000000000000000;0X8000000000000001
这样一来,磁盘管理器中分区不能操作就很好理解了。
0x0000000000000000是标准的数据分区,系统会自动分配盘符,也能够正常的通过磁盘管理器进行操作管理;
0X8000000000000000系统不会分配盘符,这样磁盘挂载到其他操作系统时不会出现不需要的盘符。但在需要的时候可以进行操作;
0X8000000000000001除了以上属性之外,还叠加了防止删除分区的属性。
对于GPT磁盘以及相应的GUID等介绍,不论TechNet还是MSDN都有专门的文章。
Frequently asked questions about the GUID Partitioning Table disk architecture
https://support.microsoft.com/en-us/kb/302873
Windows and GPT FAQ
https://msdn.microsoft.com/en-us/library/windows/hardware/dn640535(v=vs.85).aspx
还记得安装Windows的时候,自动多出来的两个分区吗?一个叫引导分区,一个叫保留分区,都是干啥用的呢?
查一下前面的GUID,引导分区其实就是一个EFI分区,也可以简称ESP。这个分区通常保存引导需要的文件,例如bootmgr等。单独做出来一个分区的好处是系统运行时,病毒和恶意代码一般无法影响这个分区。
而保留分区,全称是Microsoft Reserved partition。安装Windows的GPT分区磁盘一定会有这个分区。这个分区有什么作用呢?例如,基本磁盘转化成动态磁盘,这个分区的数据就可以转为LDM动态卷的数据库。
为了验证系统EFI分区,上图显示了我使用提升的System账户查看了挂载的这个分区的内容。
关于分区还有一篇极好的介绍文章:
https://technet.microsoft.com/en-us/library/dd799232%28v=ws.10%29.aspx
传统MBR分区的模式如下:
GPT分区的模式如下:
转载于:https://blog.51cto.com/haohu/1704048
浅议磁盘分区——从MBR到GPT相关推荐
- Windows中的磁盘分区、MBR、GPT
Windows中的磁盘分区: 1.分为主分区,扩展分区.其中拓展分区又包含若干个逻辑分区: 注意:如果拓展分区被删除或者破坏,则所有逻辑分区将会被删除. 2.分区时注意磁盘的连续性,建议将拓展分区放在 ...
- Linux 磁盘分区(MBR和GPT,loop详细分区方法介绍)
磁盘分区和格式化操作是比较接近硬件底层的操作,这两个操作也是至关重要的,决定了磁盘的使用效率和磁盘的数据安全.(相信现在应该没有什么特别的需要,一般都已经抛弃了ext2,ext4文件格式了吧~~~~, ...
- 磁盘分区方式——MBR与GPT之学习笔记
大数据时代,硬盘作为数据存储工具,是生产生活中必不可少的工具.在数据日益繁多的情况下,如何让对数据进行有效管理变得愈发重要.磁盘分区,是对数据进行有效管理的重要手段之一. 磁盘分区,就是使用分区编辑器 ...
- 磁盘分区形式mbr和gpt哪个好_济南历下区中考美术集训应该选哪个
济南历下区中考美术集训应该选哪个 中考美术生除了平时在画室跟随老师学习,也可以利用零碎的时间画一些小画稿进行自我训练."台上一分钟,台下十年功",好成绩和大量的练习分不开.只有平时 ...
- Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)...
一.硬盘 硬盘的功能相当简单但很重要,它负责记录系统所需要的各种数据.硬盘记录数据有两个方面,一个是硬件方面的存储原理和结构,另外一方面则是软件方面的数据和文件系统.硬盘的主要行为就是数据的存放和取出 ...
- 磁盘分区格式(MBR分区和GPT分区)和启动引导模式(Legacy和UEFI)的关系
文章目录 1. 专业名词概览 2. 磁盘分区格式:MBR分区和GPT分区 2.1 简介 2.2 区别 3. 启动引导模式:Legacy BIOS和UEFI BIOS 3.1 Legacy BIOS的启 ...
- 两种磁盘分区形式MBR(只支持4个主分区)和GPT
两种磁盘分区形式MBR(只支持4个主分区)和GPT: MBR: master boot record(主引导记录),存在于驱动器开始部分的特殊启动扇区,是存在于驱动器开始部分的一个特殊启动扇区,包括已 ...
- Linux 学习手记(6): 磁盘、分区、MBR与GPT
1. 磁盘在LINUX中的表示 Linux所有设备都被抽象为一个文件,保存在/dev目录下 设备名称一般为hd[a-z]或者sd[a-z]([a-z]为分区号),如:hda.hdb.sda.sdb I ...
- linux mbr 分区表修复,磁盘分区中MBR的模拟损坏及修复
目前对于硬盘的分区方式有两种:MBR和GPT.本文只是为了介绍分区中的MBR的备份和恢复,所以不对GPT分区做过多的介绍. 我们先来对MBR的分区方式进行一个简单的介绍: 上图说明: 采用MBR分区的 ...
- Linux 磁盘管理-分区管理-磁盘分区【gdisk】gpt分区工具使用介绍
gdisk -l [设备] gdisk又叫GPT fdisk,算是fdisk的延伸吧,主要使用的是GPT分区类型,用来划分容量大于2T的硬盘. 扩展1:分区类型GPT和MBR.GPT最大支持18EB( ...
最新文章
- JackJson 使用记录
- vsftp锁定用户在家目录
- Samba的主配置文件
- Android init.rc文件解析过程详解(二)
- 解决Eclipse查看源代码出现Source not found的问题
- 这 31 条,或给你的数据分析工作一些启发
- Jekyll报'Tag was never closed'错误
- 电话光端机技术参数配置介绍
- 华为交换机S3700-TELNET远程管理交换机配置
- Google Wave 的失败给现代实时协作办公的一个重大教训!
- python有三个包如何只导入两个包_云计算开发学习笔记:Python3如何从一个包中导入*...
- jQuery 学习-样式篇(四):jQuery 设置和删除元素的属性
- 私网互联(本质是三层路由)
- 【Java教程】Java 适配器模式
- 用swaks进行发件人伪造
- modelsim与quartus仿真的区别
- 开发流程与管理--华为硬件开发
- 俞扬 新书_哇,太好了...新书
- 计算机软件后缀名,如何显示文件后缀名
- n维线性空间上的几何:直线与平面的方程