Linux下磁盘分区工具-Parted
2015-06-07 16:17:50 阿炯

GUN parted是linux下的磁盘分区管理工具。用于硬盘分区或调整分区大小的工具。使用它你可以创建、清除、调整、移动和复制ext2、ext3、linux-swap、FAT32和reiserfs分区;也能创建、调整和移动苹果系统的HFS分区;还能检测jfs、ntfs、ufs和xfs分区。该工具常用于为新安装的操作系统创建空间,重新分配硬盘使用情况,在将数据拷贝到新硬盘的时候也常常使用。另外你还可以用它来检查磁盘使用状况,在不同的磁盘间复制数据,甚至是映像磁盘 -- 将一个磁盘完整复制到另一个磁盘。它采用C语言开发并在GPLv3协议下授权,在Gnome桌面环境下还有基于此的可视工具-GParted


GUN Parted这个分区管理管理工具比fdisk更加灵活,功能也更丰富;同时还支持GUID分区表(GUID Partition Table),在对超过2TB分区时,它是不二之选。 parted同时支持交互模式和非交互模式,它除了能够进行分区的添加、删除等常见的操作外,还可以移动分区,制作文件系统,调整文件系统的大小,复制文件系统等等。另外注意:不同于fdisk命令的分区中使用w命令可以保存并写入分区表信息,parted命令是执行的时候立即生效的,这个继承了linux指令的优秀特点,所以操作的时候要格外谨慎。


GNU Parted manipulates partition tables. This is useful for creating space for new operating systems, reorganizing disk usage, copying data on hard disks and disk imaging. The package contains a library, libparted, as well as well as a command-line frontend, parted, which can also be used in scripts.


Parted 命令分为两种模式:命令行模式和交互模式。

1. 命令模式  parted [options] [device [command [options...]...]]

2、交互模式:parted [option] device

Parted是一个磁盘分区和分调整程序,它允许你创建,销毁,调整,移动,复制ext2,ext3,linux-swap,  FAT, FAT32,reiserfs分区,它可以创建、调整, 移动Macintosh HFS分区,以及检测jfs,ntfs,ufs,  xfs分区。这有助于创建新的操作系统的空间,重组磁盘使用情况,和复制数据到新硬盘。

OPTIONS

 -h 输出帮助信息
 -i, --interactive 给用户输出提示信息
 -l, --list 列出分区在所有块设备
 -m, --machine 显示机器可解析输出
 -s, --script 不给用户输出提示信息
 -v, --version 显示版本

COMMANDS

[device] 对哪个块设备进行操作,如果没有指定则使用第一个块设备

[command [options]]
    
check partition 做一个简单的检查分区

cp [source-device] source dest 复制源分区文件系统所在设备到目标分区设备

mkfs partition fs-type 创建一个文件系统在分区上,文件系统类型可以是,"fat16", "fat32","ext2""linux-swap", or  "reis‐erfs".

mklabel label-type 创建一个新磁盘分区表类型,该类型可以是"bsd", "dvh", "gpt", "loop","mac", "msdos", "pc98", or "sun" 一般的pc机都是msdos格式,如果分区大于2T则需要选用gpt格式的分区表。

mkpart part-type [fs-type] start end 创建一个part-type类型的分区,part-type可以是:"primary", "logical", or "extended" 如果指定fs-type则在创建分区的同时进行格式化。start和end指的是分区的起始位置,单位默认是M。

mkpartfs part-type fs-type start end 创建一个fs-type类型的part-type分区         

move partition start end 移动partition分区                      

name partition name 设置一个分区的名字,这个选项只工作在Mac, PC98, and GPT的分区表,这个名字可以放在引号中.

print 显示分区表信息

quit 退出parted

rescue start end 拯救一个位于stat和end之间的分区

rm partition 删除一个分区

select device 选择要编辑的设备

unit unit 在前面分区时,默认分区时数值的单位是M,这个参数卡伊改变默认单位,"kB", "MB",  "GB",  "TB"。

按G为单位展示
# parted /dev/sda unit GB print free

按字节(bytes)为单位展示
# parted /dev/sda unit B print free

按百分比(%)为单位展示
# parted /dev/sda unit '%' print free

按扇区(sectors)为单位展示
# parted /dev/sda unit s print free


(1)命令行方式
# parted /dev/sdb mklabel gpt mkpart 1 ext3 1 5T
(2)交互式命令方式
命令
解释
# parted /dev/sdb
对/dev/sdb进行分区或管理操作

GNU Parted 1.8

使用 /dev/sdb

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

系统返回值

(parted) mklabel gpt

定义分区表格式
(常用的有msdos和gpt分区表格式,msdos不支持2TB以上容量的磁盘,所以大于2TB的磁盘选gpt分区表格式)

(parted) mkpart p1

创建第一个分区,名称为p1(p1只是第一个分区的名称,用别的名称也可以,如part1)
File system type? [ext2]? ext3
定义分区格式(不支持ext4,想分ext4格式的分区,可以通过mkfs.ext4格式化成ext4格式)
Start? 1
定义分区的起始位置(单位支持K,M,G,T)
End? 5T
定义分区的结束位置(单位支持K,M,G,T)
(parted) print
查看当前分区情况
删除分区
命令
解释
# parted /dev/sdb
对/dev/sdb进行分区或管理操作
(parted) rm
rm删除命令(删除之前必须确保分区没有被挂载)
Partition number? 1
删除第一个分区
(parted) print
查看当前分区情况


对sdb与sdc盘的分区后做成lvm的形式

parted /dev/sdb
(parted) mkpart extended 13GB 20GB
(parted) print
(parted) mkpart logical lvm 13GB 20GB
(parted) select /dev/sdc/
(parted) mklabel msdos
(parted) mkpart primary 1GB 20GB
(parted) set 1 lvm on
(parted) print

parted /dev/sdc - Add or assign more partitions to volume group LVM.
(parted) print
(parted) mkpart primary 20GB 25GB
(parted) print
(parted) set 2 lvm on
(parted) print

You may need to run "mkpart primary 0 3TB" instead of "mkpart primary 0 3".
parted /dev/sdb
mklabel gpt
unit TB
mkpart primary 0 3
print
quit



最新版本:3.2


项目主页:http://www.gnu.org/software/parted/