Linux下关于大于2T磁盘的使用GPT磁盘
我们来看一下两种分区表
MBR分区表:(MBR含义:主引导记录)
所支持的最大卷:2T(T;terabytes,1TB=1024GB)
对分区的设限:最多4个主分区或3个主分区加一个扩展分区(扩展分区中支持无限制的逻辑驱动器)
GPT分区表:(GPT含义:GUID分区表)
支持最大卷:18EB,(E:exabytes,1EB=1024TB)
每个磁盘最多支持128个分区
假设要用parted对/dev/sdb(大小为6000G)进行分区操作:
1、进入系统执行:
#parted/dev/sdb
2、建立磁盘label:
mklabelGPT
3、按p键,查看磁盘可用空间,显示单位为M。6000G应该显示大致
为:/dev/sdb的磁盘几何结构:0.000-6000000.000兆字节
4、创建分区:
在(parted)后输入:
mkpart并按照提示操作
分区类型?primary/主分区/extended/扩展分区?p(如果要创建扩展分区此处
输入e)
文件系统类型?[ext2]?(这里直接回车,分区创建完毕后通过mkfs.ext3
/dev/sdb*建立文件系统)
起始点?0
结束点?-1
5、按p键查看刚创建的分区是否已经成功。
6、如果成功,键入quit退出parted。
7、使用mkfs.ext3/dev/sdb1来创建文件系统
fdisk命令虽然很交互,操作也方便,但是对于大于2T的磁盘无法操作,如果我们想用大于2T的磁盘怎么办?可以把磁盘转化为GPT格式。
GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partitiontable的4*16个字节只留第一个16个字节,类似于扩展分区,真正的partitiontable在512字节之后,GPT磁盘没有四个主分区的限制。
但fdisk不支持GPT,我们可以使用parted来对GPT磁盘操作。
parted功能很强大,既可用命令行也可以用于交互式
在提示符下输入parted就会进入交互式模式,如果有多个磁盘的话,我们需要运行selectsdxx为磁盘,来进行磁盘的选择
parted>
parted>selectsdb假设磁盘为sdb
parted>mklablegpt将MBR磁盘格式化为GPT
parted>mklablemsdos将GPT磁盘转化为MBR磁盘
parted>mkpartprimary0100划分一个起始位置为0大小为100M的主分区
parted>mkpartprimary100200划分一个起始位置为100M大小为100M的主分区
parted>print打印当前分区
在parted里边不支持ext3的文件系统,所以如果要使用的话,要退出parted进行格式话
mkfs.ext3/dev/sdx1
因为fdisk是不支持GPT磁盘,所以不要使用fdisk-l来查看X磁盘刚才分好的区,看不到的。
命令行的模式:
将硬盘转化为GPT磁盘后,执行下列命令
parted/dev/sdxmkpartprimary0100划分一个起始位置为0大小为100M的主分区
AcronymforGUIDPartitionTable
GPTwasintroducedforiA64systems,togetaroundafixed32bitissue(2tothepowerof32is4billiontimesa512byteblockequals2Terabytes)inthePC-BIOSPartitiontable.Partitionslargerthan2TBrequireusingaGPTdisklabel,whichdiffersfromthePC-BIOSPartitiontableinanumberofways:
*Iseasilyextensible.
*Cancontainupto128primarypartitions,asopposedto4,sothere'snoneedforextendedpartitions.
*AllowsPartitionslargerthan2TB.
*IdentifiesPartitionswithaGUIDsoyoucanreferencethatPartitionevenifdisksaremovedaround.
*IdentifiesPartitiontypewithaGUID,thusavoidingthetypeconflictsthatplaguethePC-BIOSPartitiontableformat.
*Providesa46(?)characterUTF-16partitionlabeltoidentifyPartitions.
*Hasa"fake"MBRforbackwardscompatibility.
*IncludesaCRC32todetectcorruptPartitiontables.
*StoresabackupPartitiontableattheendofthedisk.
MostpartitioningtoolsunderLinuxwillfailtodoanythingsensiblewitha>2TBPartition.Asofthiswriting,parted(8)istheonlyonethatunderstandsthemandwillletyousettheGPTlabelonthedisk.
ThereisalotofinformationstatingthatyoucannotbootoffaGPTenableddevice.MostoftheclaimsimplythatthefaultiswithLILOorGRUBnotunderstandingGPTdevices.We'venottestedthis,butGPTandtraditionalMBRswillcoexist.
Seealso:
*DiskSectorsonGPTDisksfromtheMSKnowledgeBase
所以在超过2TB时,我不能使用交互很好的Fdisk命令,只能磁盘转化为GPT格式。由于GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partitiontable的4*16个字节只留第一个16个字节,其它的类似于扩展分区,真正的partitiontable在512字节之后,所以对GPT磁盘表来讲没有四个主分区的限制。
对GPT磁盘分区表进行操作,我们要使用parted命令。其实parted功能很强大,它可以象fdisk一样既可用命令行也可以用于交互式.
下面我们就来实际操作吧,在提示符下输入parted就会进入交互式模式
#parted/dev/sdb
GNUParted1.8.1
Using/dev/sdb
WelcometoGNUParted!Type'help'toviewalistofcommands.
(parted)mklabelgpt
将MBR磁盘格式化为GPT
(parted)mkpartprimary0100
划分一个起始位置为0大小为100M的主分区
(parted)mkpartprimary100200
划分一个起始位置为100M大小为100M的主分区
(parted)mkpartprimary0-1
划分所有空间到一个分区
(parted)print
打印当前分区
(parted)quit
可能还会用到的一些命令
(parted)mklablemsdos
如果要反过来.将GPT磁盘转化为MBR磁盘
在这样分完分区后,还要使用mkfs.ext3来进行格式化
#partprobe
#mkfs.ext3-F/dev/sdb1
记的哦,因为fdisk是不支持GPT磁盘,所以使用fdisk-l来查看磁盘刚才的分区是没有用的.
命令行的模式:
将硬盘转化为GPT磁盘后,执行下列命令
parted/dev/sdxmkpartprimary0100
##划分一个起始位置为0大小为100M的主分区