随着单块硬盘容量的增大和硬盘价格的下降,2TB的磁盘使用将很快会普及,由于传统的MBR方式存储分区表的方式缺陷,将可能导致很多分区工具不能正确地读取大于2TB容量的硬盘而无法正常分区大容量硬盘。其实linux在很早就已经有相关的工具来化解这个困境了,那就是parted。
parted是类似fdisk的命令行分区软件,假设我们在linux系统中有一块未分区的硬盘挂载为/dev/sdb,下面以实例的方式来讲解如何使用parted:
注意:parted的操作都是实时的,也就是说你执行了一个分区的命令,他就实实在在地分区了,而不是像fdisk那样,需要执行w命令写入所做的修改,所以进行parted的测试千万注意不能在生产环境中!!
标记:#开始表示在shell的root下输入的命令,(parted)表示在parted中输入的命令,其他为自动打印的信息
1、首先类似fdisk一样,先选择要分区的硬盘,此处为/dev/hdd:
# parted /dev/sdb
GNU Parted 1.8.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
2、现在我们已经选择了/dev/sdb作为我们操作的磁盘,接下来需要创建一个分区表(在parted中可以使用help命令打印帮助信息):
(parted) mklabel                                                   
Warning: The existing disk label on /dev/hdd will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No?(警告用户磁盘上的数据将会被销毁,询问是否继续,我们这里是新的磁盘,输入yes后回车) yes                                                              
New disk label type?  [msdos]? (默认为msdos形式的分区,我们要正确分区大于2TB的磁盘,应该使用gpt方式的分区表,输入gpt后回车)gpt
或者可以直接mklabel gpt

3、创建好分区表以后,接下来就可以进行分区操作了,执行mkpart命令,分别输入分区名称,文件系统和分区的起止位置
(parted) mkpart                                                          
Partition name?  []? dp1                                                 
File system type?  [ext2]? ext3                                          
Start? 0                                                                 
End? 500GB              
这种方法创建分区的同时也将文件系统创建了!
也可以直接mkpart primary 0 XXX   --此处表示创建一个primary分区,从0开始,XXX结束,其中XXX部分应以mb表示,千万别表示错误了,有些文档上写大写的GB等等,我试过,不好使啊!                  
4、分好区后可以使用print命令打印分区信息,下面是一个print的样例
(parted) print                                                           
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number  Start   End    Size   File system  Name  Flags
 1      17.4kB  500GB  500GB               dp1   
5、如果分区错了,可以使用rm命令删除分区,比如我们要删除上面的分区,然后打印删除后的结果
(parted)rm 1  #rm后面使用分区的号码
(parted) print                                                           
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number  Start  End  Size  File system  Name  Flags
6、按照上面的方法把整个硬盘都分好区,下面是一个分完后的样例
(parted) mkpart                                                          
Partition name?  []? dp1                                                 
File system type?  [ext2]? ext3                                          
Start? 0                                                                 
End? 500GB                                                               
(parted) mkpart                                                          
Partition name?  []? dp2                                                 
File system type?  [ext2]? ext3                                          
Start? 500GB                                                            &nb
有一些内容做出了修改!