前两天安装SUSE enterprise linux 11的时候,碰到了建立磁盘分区表类型这个问题,有两个选项:MSDOS和GPT。这就让我很纠结了,搞不懂这两个概念是什么意思,来从信息描述能够看出是关于磁盘上至关重要的分区表结构,因此对其的准确了解很重要。linux
MSDOS:

现有的PC机架构,大可能是沿用了数十年的主板BIOS+硬盘MBR分区的这种组合模式,在这种模式下磁盘分区表类型就称为MSDOS,也可称为MBR格式。
MBR是主引导记录(Master Boot Record),也就是现有的硬盘分区表的存放地点,在1024扇区以内。MBR格式的标准决定了MBR只支持在2TB如下的硬盘,若是硬盘超过2TB时,只能管理到2TB!
MSDOS格式的分区表支持的最大卷为2 TB (terabytes),而且每一个磁盘最多只能有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑分区)
在linux下,fdisk命令只能用来操做MSDOS格式的分区表。
--------------------------------------------分割线--------------------------------------------
GPT:
GPT分区表数据结构sql
随着磁盘技术愈来愈先进,使用垂直磁化和巨磁阻磁头,出现了容量远超于传统磁盘的容量,因此为了克服BIOS+MBR的2TB、4分区限制,就出现了
EFI+GPT的模式。
2004年,微软和英特尔共同推出一种名为可扩展固件接口(EFI)的主板升级换代方案。EFI,便可扩展固件接口(Extensible Firmware Interface),EFI的位置很特殊,不像是BIOS那样是固件又是接口,EFI只是一个接口,位于操做系统与平台固件之间。到目前为止,现有的PC机主板绝大部分仍是BIOS模式,EFI主板寥寥可数。
GPT,全局惟一标识分区表(GUID Partition Table)。GPT是EFI方案的一部分,但并不依赖于EFI主板,在BIOS主板的PC中也可以使用GPT分区。与MBR最大4个分区表项的限制相比,
GPT对分区数量没有限制,但Windows最大仅支持128个GPT分区。
GPT可管理硬盘大小达到了18EB(1EB=1024PB=1,048,576TB),不过NTFS格式最大仅支持256TB。
GPT的分区信息是在分区中,而不象MBR同样在主引导扇区,相当重要的平台操做数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT 分区磁盘有多余的主要及备份分区表来提升分区数据结构的完整性。容许将主磁盘分区表和备份磁盘分区表用于冗余,支持惟一的磁盘和分区ID。
为保护GPT不受MBR类磁盘管理软件的危害,GPT在主引导扇区创建了一个保护分区(Protective MBR)的MBR分区表,这种分区的类型标识为0xEE,这个保护分区的大小在Windows下为128MB,Mac OS X下为200MB,在Window磁盘管理器里名为GPT保护分区,可以让MBR类磁盘管理软件把GPT当作一个未知格式的分区,而不是错误地当成一个未分区的磁盘
在linux下,对GPT格式分区表的操做是经过parted命令
- #parted /dev/sda
-
-
-
- (parted)mklabel gpt //在磁盘sda上写上GPT格式分区表
- (parted)mkpartfs primary ext3 0 -1 //将整个磁盘建立为1个主分区,并使用ext3文件系统。
- (parted)print
- (parted)quit
PS:当使用GPT格式时,若是存储方式是按照MBR的磁盘1027磁柱内存放的,则不使用EFI主板便可启动,也就是GPT也可使用BIOS启动,不然,
分区表使用GPT格式,而且配备2TB以上磁盘,也必须使用EFI主板,并且操做系统也必须支持GPT分区表!