MBR与GPT分区格式.docx
《MBR与GPT分区格式.docx》由会员分享,可在线阅读,更多相关《MBR与GPT分区格式.docx(10页珍藏版)》请在冰豆网上搜索。
MBR与GPT分区格式
MBR与GPT分区格式(实例-创建大于2TB的分区)
MBR和2TB的限制
在使用fdisk建立分区时,我们最大只能建立2TB大小的分区,如果你的磁盘(阵列)大于2TB,只能通过划分多个分区的方法才能充分利用磁盘容量,这对于使用小于2TB分区的朋友没啥影响,但对于使用大于2TB分区(比如5TB的分区)的朋友就会遇到问题了,要突破这个限制;我们先来了解下MBR(MasterBootRecord)和GPT(GUIDPartitionTable).
MBR
主引导记录(MasterBootRecord,缩写:
MBR),又叫做主引导扇区,是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。
MBR是由分区程序(如Fdisk,Parted)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而能够实现多系统引导。
从主引导记录的结构可以知道,它仅仅包含一个64个字节的硬盘分区表。
由于每个分区信息需要16个字节,所以对于采用MBR型分区结构的硬盘(其磁盘卷标类型为MS-DOS),最多只能识别4个主要分区。
所以对于一个采用此种分区结构的硬盘来说,想要得到4个以上的主要分区是不可能的。
这里就需要引出扩展分区了。
扩展分区也是主分区(Primarypartition)的一种,但它与主分区的不同在于理论上可以划分为无数个逻辑分区,每一个逻辑分区都有一个和MBR结构类似的扩展引导记录(EBR)。
在MBR分区表中最多4个主分区或者3个主分区+1个扩展分区,也就是说扩展分区只能有一个,然后可以再细分为多个逻辑分区。
在Linux系统中,硬盘分区命名为sda1-sda4或者hda1-hda4(其中a表示硬盘编号可能是a、b、c等等)。
在MBR硬盘中,分区号1-4是主分区(或者扩展分区),逻辑分区号只能从5开始。
在MBR分区表中,一个分区最大的容量为2T,且每个分区的起始柱面必须在这个disk的前2T内。
你有一个3T的硬盘,根据要求你至少要把它划分为2个分区,且最后一个分区的起始扇区要位于硬盘的前2T空间内。
如果硬盘太大则必须改用GPT。
GPT
全局唯一标识分区表(GUIDPartitionTable,缩写:
GPT)是一个实体硬盘的分区结构。
它是EFI(可扩展固件接口标准)的一部分,用来替代BIOS中的主引导记录分区表。
但因为MBR分区表不支持容量大于2.2TB(2.2×1012字节)的分区,所以也有一些BIOS系统为了支持大容量硬盘而用GPT分区表取代MBR分区表。
在MBR硬盘中,分区信息直接存储于主引导记录(MBR)中(主引导记录中还存储着系统的引导程序)。
但在GPT硬盘中,分区表的位置信息储存在GPT头中。
但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头。
与支持最大卷为2TB(Terabytes)并且每个磁盘最多有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑驱动器)的MBR磁盘分区的样式相比,GPT磁盘分区样式支持最大卷为18EB(Exabytes)并且每磁盘的分区数没有上限,只受到操作系统限制(由于分区表本身需要占用一定空间,最初规划硬盘分区时,留给分区表的空间决定了最多可以有多少个分区,IA-64版Windows限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸)。
与MBR分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。
另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性。
EFI
可扩展固件接口(英文名ExtensibleFirmwareInterface或EFI)是一种个人电脑系统规格,用来定义操作系统与系统韧体之间的软件界面,为替代BIOS的升级方案。
可扩展固件接口负责加电自检(POST)、连系操作系统以及提供连接操作系统与硬件的接口。
EFI最初由英特尔开发,现时由UEFI论坛来推广与发展。
UEFI
是由EFI1.10为基础发展起来的,它的所有者已不再是Intel,而是一个称作UnifiedEFIForm的国际组织,贡献者有Intel,Microsoft,AMI,等几个大厂,属于opensource,目前版本为2.1。
二创建一个大于2TB的分区
MBR与GPT,都是分区格式,其中MBR最大分区小于等于2TB,而GPT分区没有2TB的限制,理论最大分区18EB!
现在我们知道了要创建一个大于2TB的分区,就不能使用MBR格式的分区表了,而要使用GPT格式的分区表,我们最常用的fdisk分区工具就爱莫能助了,需要使用linux下的Parted分区工具!
测试环境为:
DellR710 2u服务器
cpu2*XEON5606
mem16G
disk6*1TBsas7200rpm
raidraidlevel5 perc6i卡
rhel664bit,创建一个4TB大小分区
下面正式开始分区:
1在使用parted分区之前,我们先用fdisk-l来查看下硬盘信息!
2上边的信息我们知道/dev/sdb4.6TB,现在使用parted命令,如下图。
3进入parted后,执行2,3,4,5,6,7,8,9,10,10,11步骤,指令下边有解释!
4分区完成后使用print可以看到刚才分区的信息!
大小4684GB
5quit用于退出parted环境,信息提示更新/etx/fstab!
6再用fdisk-l来查看下sdb硬盘,现在已经有sdb1分区了,注意systemgpt!
7parted到这里就完成了!
下面格式化/dev/sdb1文件系统为EXT4:
1执行mkfs.ext4/dev/sdb1一路回车即可!
更新/etc/fstab:
1.使用blkid查看分区的uuid如下图,复制新分区/dev/sdb1的UUID
2将/dev/sdb1的UUID添加到/etc/fstab,/dev/sdb1挂载在/data目录下!
3至此全部完成,下面检查一下!
mount-a重新挂载/etc/fstab文件中的记录!
mount可以发现/dev/sdb1已经挂载到/data目录下了!
df-h发现/data4.2TB
三详细介绍下Parted命令
[root@abintel~]#parted--help
用法:
parted[选项]...[设备[命令[参数]...]...]
将带有“参数”的命令应用于“设备”。
如果没有给出“命令”,则以交互模式运行。
选项:
-h,--help 显示此求助信息
-i,--interactive 在必要时,提示用户
-s,--script 从不提示用户
-v,--version 显示版本
命令:
检查MINOR 对文件系统进行一个简单的检查
cp[FROM-DEVICE]FROM-MINORTO-MINOR 将文件系统复制到另一个分区
help[COMMAND] 打印通用求助信息,或关于COMMAND的信息
mklabel标签类型 创建新的磁盘标签(分区表)
mkfsMINOR文件系统类型 在MINOR创建类型为“文件系统类型”的文件系统
mkpart分区类型[文件系统类型]起始点终止点 创建一个分区
mkpartfs分区类型文件系统类型起始点终止点创建一个带有文件系统的分区
moveMINOR起始点终止点 移动编号为MINOR的分区
nameMINOR名称 将编号为MINOR的分区命名为“名称”
print[MINOR] 打印分区表,或者分区
quit 退出程序
rescue起始点终止点 挽救临近“起始点”、“终止点”的遗失的分区
resizeMINOR起始点终止点 改变位于编号为MINOR的分区中文件系统的大小
rmMINOR 删除编号为MINOR的分区
select设备 选择要编辑的设备
setMINOR标志状态 改变编号为MINOR的分区的标志
注意
mklabellabel-type必须是一下这些类型:
*bsd
*loop(rawdiskaccess)
*gpt
*mac
*msdos
*pc98
*sun
例:
(parted)mklabelgtp或者(parted)mklabelmsdos
mkpart(建立新分区)
格式:
mkpartpart-typefs-typestartend
建立一个新的分区
part-type是以下类型之一primary(主分区),extended(扩展分区),logical(逻辑分区)。
fs-type来指定文件系统,比如ext4。
start和end是新分区开始和结束的具体位置。
0表示起止,-1表示结尾;或者以mb表示或者GB表示!