当前位置:首页>文章中心>技术文章>GPT磁盘与MBR磁盘区别

GPT磁盘与MBR磁盘区别

发布时间:2016-02-13 点击数:1312

摘要:   Windows 2008磁盘管理器中,在磁盘标签处右击鼠标,随磁盘属性的不同会出现“转换到动态磁盘”,“转换到基本磁盘”“转换成GPT磁盘”,“转换成MBR磁盘”等选项,在此做简单介绍。部分资料参照网络上的资源。

基本磁盘与动态磁盘

    磁盘的使用方式可以分为两类:一类是“基本磁盘”。基本磁盘非常常见,我们平时使用的磁盘类型基本上都是“基本磁盘”。“基本磁盘”受26个英文字母的限制,也就是说磁盘的盘符只能是26个英文字母中的一个。因为AB已经被软驱占用,实际上磁盘可用的盘符只有CZ 24个。另外,在“基本磁盘”上只能建立四个主分区(注意是主分区,而不是扩展分区);另一种磁盘类型是“动态磁盘”。“动态磁盘”不受26个英文字母的限制,它是用“卷”来命名的。“动态磁盘”的最大优点是可以将磁盘容量扩展到非邻近的磁盘空间。

    动态硬盘,是指在磁盘管理器中将本地硬盘升级得来的。动态磁盘与基本磁盘相比,最大的不同就是不再采用以前的分区方式,而是叫做卷集(Volume),卷集分为简单卷、跨区卷、带区卷、镜像卷、RAID-5 卷。基本磁盘和动态磁盘相比,有以下区别:

    1、卷集或分区数量。动态磁盘在一个硬盘上可创建的卷集个数没有限制。而基本磁盘在一个硬盘上只能分最多四个主分区。

    2、磁盘空间管理。动态磁盘可以把不同磁盘的分区创建成一个卷集,并且这些分区可以是非邻接的,这样的大小就是几个磁盘分区的总大小。基本磁盘则不能跨硬盘分区并且要求分区必须是连续的空间,每个分区的容量最大只能是单个硬盘的最大容量,存取速度和单个硬盘相比也没有提升。

    3、磁盘容量大小管理。动态磁盘允许我们在不重新启动机器的情况下调整动态磁盘大小,而且不会丢失和损坏已有的数据。而基本磁盘的分区一旦创建,就无法更改容量大小,除非借助于第三方磁盘工具软件,比如PQ Magic

    4、磁盘配置信息管理和容错。动态磁盘将磁盘配置信息放在磁盘中,如果是RAID容错系统会被复制到 其他动态磁盘上,这样可以利用RAID-1的容错功能,如果某个硬盘损坏,系统将自动调用另一个硬盘的数据,保持数据的完整性。而基本磁盘将配置信息存放在引导区,没有容错功能。

    基本磁盘转换为动态磁盘可以直接进行,但是该过程是不可逆的。要想转回基本磁盘,只有把所有数据全部拷出,然后删除硬盘所有分区后才能转回去。

 

GPT磁盘与MBR磁盘

GPTGlobally Unique Identifier Partition Table Format)一种由基于 Itanium 计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与主启动记录 (MBR) 分区方法相比,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区(WIN限制),支持高达 18 千兆兆字节的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID GUID)。

与支持最大卷为 2 TB terabytes) 并且与每个磁盘最多有 4 个主分区(或 3 个主分区,1 个扩展分区和无限制的逻辑驱动器)的主启动记录 (MBR) 磁盘分区的样式相比,GUID 分区表 (GPT) 磁盘分区样式支持最大卷为 18 EB exabytes) 并且每磁盘最多有 128 个分区。与 MBR 分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT 分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。

    在运行带有 Service Pack 1 SP1) 的 Windows Server 2003 的基于 x86 的计算机和基于 x64 的计算机上,操作系统必须驻留在 MBR 磁盘上。其他的硬盘可以是 MBR GPT

    在基于 Itanium 的计算机上,操作系统加载程序和启动分区必须驻留在 GPT 磁盘上。其他的硬盘可以是 MBR GPT

    在单个动态磁盘组中既可以有 MBR,也可以有 GPT 磁盘。也使用将基本 GPT MBR 磁盘的混合,但它们不是磁盘组的一部分。可以同时使用 MBR GPT 磁盘来创建镜像卷、带区卷、跨区卷和 RAID-5 卷,但是 MBR 的柱面对齐的限制可能会使得创建镜像卷有困难。通常可以将 MBR 的磁盘镜像到 GPT 磁盘上,从而避免柱面对齐的问题。可以将 MBR 磁盘转换为 GPT 磁盘,并且只有在磁盘为空的情况下,才可以将 GPT 磁盘转换为 MBR 磁盘。否则数据将发生丢失!!!

    不能在可移动媒体,或者在与群集服务使用的共享 SCSI Fibre Channel 总线连接的群集磁盘上使用 GPT 分区样式

MBR,全称为Master Boot Record,即硬盘的主引导记录。

为了便于理解,一般将MBR分为广义和狭义两种:广义的MBR包含整个扇区(引导程序、分区表及分隔标识),也就是上面所说的主引导记录;而狭义的MBR仅指引导程序而言。

硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导程序、硬盘分区表DPT和硬盘有效标志(55AA)。在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA

MBR是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它,但可以通过命令来修改和重写,如在minix3里面,可以用命令:installboot -m /dev/c0d0 /usr/mdec/masterboot来把masterboot这个小程序写到mbr里面,masterboot通常用汇编语言来编写。我们也可以用ROM-BIOS中提供的INT13H2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。

INT13H的读磁盘扇区功能的调用参数如下:

入口参数:AH=2 (指定功能号)

AL=要读取的扇区数

DL=磁盘号(01-软盘;8081-硬盘)

DH=磁头号

CL2+CH=柱面号

CL6=扇区号

CS:BX=存放读取数据的内存缓冲地址

出口参数:CS:BX=读取数据存放地址

错误信息:如果出错CF=1 AH=错误代码

DEBUG读取位于硬盘0柱面、0磁头、1扇区的操作如下:

A>DEBUG

-A 100

XXXX:XXXX MOV AX,0201 (用功能号21个扇区)

XXXX:XXXX MOV BX,1000 (把读出的数据放入缓冲区的地址为CS:1000

XXXX:XXXX MOV CX,0001 (读0柱面,1扇区)

XXXX:XXXX MOV DX,0080 (指定第一物理盘的0磁头)

XXXX:XXXX INT 13

XXXX:XXXX INT 3

XXXX:XXXX (按回车键)

-G=100 (执行以上程序段)

-D 1000 11FF (显示512字节的MBR内容)

windows操作系统下,例如xp2003Vistawindows7,有微软提供的接口直接读写mbr;

FILE * fd=fopen("\\\\.\\PHYSICALDRIVE0","rb+");

char buffer[512];

fread(buffer,512,1,fd);

//then you can edit buffer[512] as your wish......

fseek(fd,0,SEEK_SET); //很重要

fwrite(buffer,512,1,fd); //把修改后的MBR写入到你的机器

fclose(fd); //大功告成

MBR组成

一个扇区的硬盘主引导记录MBR由如图6-15所示的4个部分组成。

·主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序。

·出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节。

·分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4

·结束标志字,偏移地址01FE--01FF2个字节值为结束标志55AA,如果该标志错误系统就不能启动。


在线客服