parted用于操纵磁盘分区的程序,通常用于规则大小超过2T的分区,也可用于小分区的规划;它支持多种分区表格式,包括MS-DOS(MBR)和GPT;这对于为新操作系统创建空间,重新组织磁盘使用以及将数据复制到新硬盘非常有用;parted命令的操作都是实时生效的,每操作一步都应小心
parted具有两种模式:命令行和交互式
在交互式模式下,一次输入一个命令(支持命令补全),然后立即修改磁盘
可使用"-s"选项禁用交互式
parted的所有操作都是实时生效的
MBR和GPT互不兼容,也不能相互转换
用法:parted [OPTIONs] [DEVICE [COMMANDs [PARAMETER...]...]]
交互式模式:parted [DEVICE]
命令行模式:parted [OPTIONs] DEVICE COMMANDs PARAMETER
选项:
-l, --list:列出所有块设备上的所有分区布局
-s, --script:避免和用户交互;即关闭交互式
子命令:支持缩写,不区分大小写(在2.4版本之后,删除了以下命令:check, cp, mkfs, mkpartfs, move, resize)
命令行COMMAND
print [devices|free|list|all|]:显示分区表;包括可用设备、可用空间、所有找到的分区或特定的划分
unit UNIT:设置默认单位
UNIT
s:扇区(n个字节,取决于扇区大小,通常为512)
B:字节
KiB:千字节(1024字节)
MiB:兆字节(1048576字节)
GiB:gibibyte(1073741824字节)
TiB:tebibyte(1099511627776字节)
kB:千字节(1000字节)
MB:兆字节(1000000字节)
GB:千兆字节(1000000000字节)
TB:兆字节(1000000000000字节)
%:设备的百分比(0到100之间)
cyl:柱面(与BIOS CHS几何相关)
chs:柱面,磁头,扇区寻址(与BIOS CHS几何相关)
compact:这是一个特殊的单位,默认输入为兆字节,并且选择一个单位,以紧凑的可读格式表示输出
mklabel, mktable LABEL_TYPE:创建一个新的分区表
LABEL_TYPE:
"aix", "amiga", "bsd", "dvh", "gpt", "loop", "mac", "msdos", "pc98", "sun"
mkpart PART_TYPE [NAME] [FILESYSTEM_TYPE] START END[UNIT]:创建一个新分区(可以指明文件系统),指明起始位置(默认单位为M)
PART_TYPE
"primary", "extended", "logical"
FILESYSTEM_TYPE
"btrfs", "ext2", "ext3", "ext4", "fat16", "fat32", "hfs", "hfs+", "linux-swap", "ntfs", "reiserfs", "xfs"
START,END:指定分区开始/结束位置(距磁盘开头的偏移量);其值可以是整数或小数,后缀选择UNIT
支持的UNIT:"s" (sectors), "B" (bytes), "kB", "MB", "MiB", "GB", "GiB", "TB", "TiB", "%" (percentage of device size), "compact", “-1s” 指向磁盘的最后一个扇区(负数从磁盘末尾算起)
注意:parted命令不会修改/etc/fstab文件;创建完分区后,需手动修改/etc/fstab文件
resizepart PART_NUMBER END:修改分区结束位置;即修改分区大小(不会修改分区中存在的任何文件系统)
rm PART_NUMBER:删除分区
有关msdos磁盘标签的注意事项:如果删除逻辑分区,则具有更大分区号的所有逻辑分区将被重新编号;例如,如果删除分区号为6的逻辑分区,则编号为7、8和9的逻辑分区将分别重新编号为6、7和8;例如,这意味着您必须更新/etc/fstab文件
set PART_NUMBER TYPE STATUS:设置分区类型和状态
disk_set TYPE STATUS:更改分区类型和状态
TYPE
"boot", "root", "swap", "hidden", "raid", "lvm", "lba", "legacy_boot", "palo"
STATUS
"on", "off"
toggle PART TYPE:切换分区类型(追加)
TYPE
root:Linux根文件系统;如果分区是Linux要使用的根设备,则应启用此TYPE(Mac)
swap:Linux swap(Mac)
legacy_boot:用于告知专用软件此GPT分区可以引导(GPT)
boot:从此分区引导(Mac, MS-DOS, PC98)
bios_grub:启用它以记录所选分区是GRUB BIOS分区(GPT)
raid:软RAID(MS-DOS)
LVM:LVM PV(MS-DOS)
msftdata:用于标识包含Microsoft文件系统(NTFS或FAT)的分区(GPT)
msftres:用于标识Windows所使用的“Microsoft保留分区”,请注意,通常不应在Windows文件系统分区(包含NTFS或FAT文件系统的分区)上设置此标志(MS-DOS,GPT)
irst:标识英特尔快速启动技术分区(MS-DOS, GPT)
esp:标识UEFI系统分区;在GPT上,它是引导的别名(MS-DOS, GPT)
hidden:标识以从Microsoft操作系统隐藏分区(MS-DOS, PC98)
DIAG:启用它可以指示一个分区可以用作诊断/恢复分区(MS-DOS)
name PART_NUMBER NAME: 设置/更改分区名称;此COMMAND仅适用于Mac、PC98和GPT分区表,名称请用引号引起来
rescue START END:救援丢失的分区,该分区位于START和END之间;如果找到分区,则分开将会询问您是否要在分区表中为其创建一个条目。
交互式COMMAND:在交互模式下,一次输入一个命令(支持命令补全),然后立即修改磁盘
进入交互式:parted [DEVICE]
DEVICE:指明要操作的块设备;默认为第一个
select DEVICE:选择指定块设备作为当前要操作的设备(默认为/dev/sda);设备通常应该是Linux硬盘设备,也可以是分区、软RAID设备、LVM逻辑卷
unit UNIT:设置默认单位
UNIT
"s" (sectors), "B" (bytes), "kB", "MB", "MiB", "GB", "GiB", "TB", "TiB", "%" (percentage of device size), "cyl" (cylinders), "chs" (cylinders, heads, sectors), "compact"
s:扇区(n个字节,取决于扇区大小,通常为512)
q, qu, qui, quit:退出交互式parted;只有在Parted退出后,Linux内核才能知道Parted对磁盘所做的更改
help [COMMAND]:显示某COMMAND的帮助信息;在交互式模式下使用
parted命令示例
创建一个MBR分区表
# parted -s /dev/sdb mklabel msdos
创建一个GPT分区表
# parted -s /dev/sdb mklabel gpt
在分区表上创建一个分区并创建文件系统
# parted -s /dev/sdb mkpart primary ext4 0.0 100%
创建一个gpt分区,将硬盘所有空间都分给这个分区,文件系统为ext4
# parted -s /dev/sdb mklabel gpt mkpart primary ext4 0.0 100%
激活分区
# parted -s /dev/sdb set 1 boot on
设置分区名称
# parted /dev/sdb name 1 'DATA_DISK'
删除分区
# parted /dev/sdb rm 1
查看可用分区
# parted /dev/sdb print devices
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。