Linux下的GPT分区,这是另外一种分区,针对MBR分区,它有很多优点:
(1)几乎突破了分区个数的限制。
在GPT分区表中最多可以支持128个主分区。
(2)单个分区容量几乎没有限制。
单个分区最大支持1EB容量。
因此GPT分区中,主分区和扩展分区,逻辑分区的概念已经很模糊了。甚至没必要这么叫。其实我们知道
扩展分区之所以存在,意义就是为了解决MBR中分区个数的限制问题。既然在GPT中,分区个数几乎没有了
限制,那么这些概念当然就模糊起来了。
(3)以下是创建GPT分区的步骤:
依然是新加入了一块硬盘,我们要为它分区。使用的工具是”parted”,这个工具既可以做MBR分区,又可以做GPT分区。当然了,还是主要用它来做GPT分区,下面是分区的操作流程:
1.在命令行键入命令“parted”,如下:
[[email protected] ~]# 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”命令查看硬盘分区情况,现在再来试试,如下:
[[email protected] ~]# 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".如下:
[[email protected] ~]# 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分区就创建完成了。