Linux下的GPT分区,这是另外一种分区,针对MBR分区,它有很多优点:


(1)几乎突破了分区个数的限制。


在GPT分区表中最多可以支持128个主分区。


(2)单个分区容量几乎没有限制。


单个分区最大支持1EB容量。


因此GPT分区中,主分区和扩展分区,逻辑分区的概念已经很模糊了。甚至没必要这么叫。其实我们知道


扩展分区之所以存在,意义就是为了解决MBR中分区个数的限制问题。既然在GPT中,分区个数几乎没有了


限制,那么这些概念当然就模糊起来了。


(3)以下是创建GPT分区的步骤:


依然是新加入了一块硬盘,我们要为它分区。使用的工具是”parted”,这个工具既可以做MBR分区,又可以做GPT分区。当然了,还是主要用它来做GPT分区,下面是分区的操作流程:


1.在命令行键入命令“parted”,如下:

[root@lwm ~]# parted

GNU Parted 2.1

使用 /dev/sda

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) 


2.先来看看parted这个工具的帮助信息吧,键入help,出现如下信息,以下信息可以帮我们进行分区:

  align-check TYPE N                        check partition N for

        TYPE(min|opt) alignment

  check NUMBER                             do a simple check on the

        file system

  cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER   copy file system to

        another partition

  help [COMMAND]                           print general help, or

        help on COMMAND

  mklabel,mktable LABEL-TYPE               create a new disklabel

        (partition table)

  mkfs NUMBER FS-TYPE                      make a FS-TYPE file

        system on partition NUMBER

  mkpart PART-TYPE [FS-TYPE] START END     make a partition

  mkpartfs PART-TYPE FS-TYPE START END     make a partition with a

        file system

  move NUMBER START END                    move partition NUMBER

  name NUMBER NAME                         name partition NUMBER as

        NAME

  print [devices|free|list,all|NUMBER]     display the partition

        table, available devices, free space, all found partitions,

        or a particular partition

  quit                                     exit program

  rescue START END                         rescue a lost partition

        near START and END

  resize NUMBER START END                  resize partition NUMBER

        and its file system

  rm NUMBER                                delete partition NUMBER

  select DEVICE                            choose the device to

        edit

  set NUMBER FLAG STATE                    change the FLAG on

        partition NUMBER

  toggle [NUMBER [FLAG]]                   toggle the state of FLAG

        on partition NUMBER

  unit UNIT                                set the default unit to

        UNIT

  version                                  display the version

        number and copyright information of GNU Parted




3.下面选择新加入的那块硬盘,在这里,它的名字是/dev/sdb,选择这个设备进入分区即可:

 (parted) select /dev/sdb

 使用 /dev/sdb

 (parted) 


 


4.接着要选择分区表的格式,应该选为gpt格式。表示我们是GPT分区,键入”mklabel gpt”,如下:

(parted) select /dev/sdb

使用 /dev/sdb

(parted) mklabel gpt 

(parted) mklabel gpt                                                      

 警告: The existing disk label on /dev/sdb will be destroyed and all       

 data on this disk will be lost. Do you want to continue?

 是/Yes/否/No? y


 5.在parted中,既可以选择交互式的分区(即有问有答的方式),也可以选择


命令的方式,我们用交互式的方式分区。


键入命令mkpart,如下:

(parted) mkpart 

分区名称?  []? fuly  

 

6.这里是让我们给分区起一个名字。因为GPT分区中模糊了主分区,扩展分区的概念,就没有了那些规定,


因此分区的名称可以随意来起来。随便起一个名字”fuly“,如下:

(parted) mkpart 

分区名称?  []? fuly                                                      

文件系统类型?  [ext2]?  


7.又让你来选择文件系统的类型了,这里先不管,默认即可。直接按下enter键,如下:

(parted) mkpart 

分区名称?  []? fuly                                                      

文件系统类型?  [ext2]?                                                   

起始点?  


8.这里是让输入文件大小的起始点。注意,这里不同于MBR分区中的起始点。在这里输入的是实际文件的大小起始点。


比如我想给这个分区分200M,那么它的起始点在这里就是0,键入0,如下:

起始点? 0                                                                

结束点? 200

警告: The resulting partition is not properly aligned for best            

performance.

忽略/Ignore/放弃/Cancel? Cancel 


 

9.尽然弹出了警告,大概意思就是磁盘中的存储没有达到最好的对齐方式,造成的原因就是我们的起点从0开始了


如果你不理解,就记住即可。这里我们取消,然后从1开始即可。如下:

(parted) mkpart

分区名称?  []? fuly                                                      

文件系统类型?  [ext2]?                                                   

起始点? 1                                                                

结束点? 2000 


10.这样子再一步如图中操作,就完成了这个分区了。那么我们来看看这个分区存在了否,键入print即可,如下:

(parted) print                                                            

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 21.5GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt


Number  Start   End     Size    File system  Name  标志

 1      1049kB  2000MB  1999MB               fuly



11.从上图中看到我们刚刚创建的分区fuly。也可以看到它的大小实际上是1999MB。


上面是用交互式的方法来分区的。下面我们再来一个分区,使用命令行的方式分区。如下:

(parted) mkpart  mage 2000 3000

(parted) 


是不是更简单了,其实这条命令的意思就是创建一个名为mage的分区,大小为1000M,起始点为2000(


因为我们刚才的终点是2000嘛),终点自然就是3000了。


12.那么分区成功了吗?再用print看一下,如下:

(parted) print                                                            

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 21.5GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt


Number  Start   End     Size    File system  Name  标志

 1      1049kB  2000MB  1999MB               fuly

 2      2000MB  3000MB  1000MB               mage


(parted) 


分区mage 存在了。


13.好了,假设我们就需要两个分区,那么分区已经完成了。怎么保存退出呢?


只要键入quit即可。如下:

(parted) quit                                                             

信息: You may need to update /etc/fstab.  

 


好了,不同于MBR还有用w来写入分区表,GPT使用quit退出时就直接生效了。


这样子我们的整个分区工作就完成了。


14.我们曾经用”fdisk -l”命令查看硬盘分区情况,现在再来试试,如下:

[root@lwm ~]# fdisk -l


Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0006a288


   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1        1020     8192000   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2            1020        1275     2048000   82  Linux swap / Solaris


WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.



Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1        2611    20971519+  ee  GPT

 


我们发现此时并不能查看到我们刚才的分区信息。因为使用fdisk工具无法查看gpt分区类型的详细信息。

只能查看msdos类型的分区信息(即MBR分区)。那么怎么查看呢?还是要使用parted工具。先选中gpt这样子分区


的硬盘,然后print即可。你可以直接键入命令“print all".如下:

[root@lwm ~]# parted

GNU Parted 2.1

使用 /dev/sda

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) print all

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sda: 21.5GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos


Number  Start   End     Size    Type     File system     标志

 1      1049kB  8390MB  8389MB  primary  ext4            启动

 2      8390MB  10.5GB  2097MB  primary  linux-swap(v1)



Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 21.5GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt


Number  Start   End     Size    File system  Name  标志

 1      1049kB  2000MB  1999MB               fuly

 2      2000MB  3000MB  1000MB               mage



警告: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。

Model: NECVMWar VMware IDE CDR10 (scsi)

Disk /dev/sr0: 7770MB

Sector size (logical/physical): 2048B/2048B

Partition Table: msdos


Number  Start   End     Size    Type     File system  标志

 2      10.6MB  36.3MB  25.7MB  primary


综上所述GPT分区就创建完成了。