一、命令简介
parted是一个操作磁盘分区的程序。它支持多种分区表格式,包括MS-DOS和GPT。它对于为新的操作系统创建空间、重新组织磁盘使用以及将数据复制到新的硬盘上非常有用。parted的操作都是实时的,也就是说你执行了一个分区的命令,他就实实在在地分区了,而不是像fdisk那样,需要执行w命令写入所做的修改, 所以进行parted的操作务必谨慎,切勿在生产环境中进行实验性试验。通常划分分区工具我们用的比较多是fdisk命令,fdisk工具他对分区是有大小限制的,它只能划分小于2T的磁盘。现在的磁盘空间已经远远大于2T,有两个方法来解决这个问题:其一是通过卷管理来实现,其二就是通过Parted工具来实现对2T磁盘进行分区操作。GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partition table的4*16个字节,只留第一个16个字节,类似于扩展分区,真正的partition table在512字节之后,GPT分区方式没有四个主分区的限制,最多可达到128个主分区。
二、使用示例
1、获取命令帮助
[root@s151 ~]# parted --help
Usage: parted [OPTION]… [DEVICE [COMMAND [PARAMETERS]…]…]
Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in
interactive mode.
…
2、查看命令版本
[root@s151 ~]# parted -v
parted (GNU parted) 3.1
Copyright © 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by http://git.debian.org/?p=parted/parted.git;a=blob_plain;f=AUTHORS.
3、查看所有分区
[root@s151 ~]# parted -l
警告: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
1 1049kB 1075MB 1074MB primary xfs 启动
2 1075MB 64.4GB 63.3GB primary lvm
4、命令行模式查看指定分区
[root@s151 ~]# parted /dev/sdb print
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
1 1049kB 11.2GB 11.2GB primary
5、进入交互模式
[root@s151 ~]# parted
GNU Parted 3.1
使用 /dev/sda
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted)
6、交互模式下获取帮助
(parted) help
align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] print general help, or help on
…
7、获取指定命令帮助文档
(parted) help command
8、选择分区
(parted) select /dev/sdb
使用 /dev/sdb
9、查看分区信息剩余磁盘空间
(parted) print free
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
32.3kB 1049kB 1016kB Free Space
1 1049kB 11.2GB 11.2GB primary
11.2GB 21.5GB 10.2GB Free Space
10、删除一个分区
(parted) rm 1
(parted) print
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
11、创建一个分区
(parted) mkpart
分区类型? primary/主分区/extended/扩展分区? primary
文件系统类型? [ext2]? ext4
起始点? 1
结束点? 10G
(parted) print
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
1 1049kB 10.0GB 9999MB primary
12、将磁盘格式化为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? 是
13、将磁盘格式化为MBR磁盘
(parted) mklabel msdos
警告: 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? Yes
14、gpt格式下创建一个分区
15、退出交换模式
(parted) quit
信息: You may need to update /etc/fstab.
16、恢复分区
(parted) rescue
起始点? 1
结束点? 11G
正在搜索文件系统… 1% (剩余时间 01:32)信息: A ext4 primary partition was found at 1049kB -> 10.0GB. Do you want to add it to the partition table?
是/Yes/否/No/放弃/Cancel? Yes
##此恢复仅适用于删除了已经格式化磁盘
17、修改分区标志和状态
(parted) set 1 lv on
三、使用语法和参数说明
1、使用语法
Parted 命令分为两种模式:命令行模式和交互模式。
(1)命令行模式: parted [option] device [command] ,该模式可以直接在命令行下对磁盘进行分区操作。
(2)交互模式:parted [option] device
2、参数说明
参数 | 参数说明 |
---|---|
-h, --help | 显示此求助信息 |
-l, --list | 列出所有块设备上的分区布局 |
-m, --machine | 显示机器可解析的输出 |
-s, --script | 从不提示用户 |
-v, --version | 显示版本 |
-a, --align=[none|cyl|min|opt] | 设置新分区对齐方式 |
3、命令介绍
命令 | 命令说明 |
---|---|
align-check TYPE N | 检查分区N的类型(最小选择)对齐 |
help [COMMAND] | 打印常规帮助或命令帮助 |
mklabel,mktable LABEL-TYPE | 创建新的disklabel(分区表) |
mkpart PART-TYPE [FS-TYPE] START END | 创建一个分区 |
name NUMBER NAME | 使用分区号作为分区名称 |
print [devices|free|list,all|NUMBER] | 显示分区表、可用设备、可用空间、找到的所有分区或特定分区 |
quit | 退出程序 |
rescue START END | 在起点和终点附近营救丢失的分区 |
resizepart NUMBER END | 调整分区号大小,版本3中已经移除改命令 |
rm NUMBER | 删除分区号 |
select DEVICE | 选择要编辑的设备 |
disk_set FLAG STATE | 更改所选设备上的标志 |
disk_toggle [FLAG] | 切换所选设备上的标志状态 |
set NUMBER FLAG STATE | 更改分区号上的标志 |
toggle [NUMBER [FLAG]] | 切换分区号上的标志状态 |
unit UNIT | 将默认单位设置为“UNIT”大小 |
version | 显示GNUParted的版本号和版权信息 |