Linux下关于大于2T磁盘的使用GPT磁盘

gdb 2011-06-23

我们来看一下两种分区表

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的主分区

相关推荐