1. 介绍
parted命令是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具,与fdisk不同,它支持调整分区的大小。作为一种设计用于Linux的工具,它没有构建成处理与fdisk关联的多种分区类型,但是,它可以处理最常见的分区格式,包括:ext2、ext3、fat16、fat32、NTFS、ReiserFS、JFS、XFS、UFS、HFS以及Linux交换分区。
1 | fdisk |
不能处理 2T 以上的此案,因此不如直接使用
1 | parted |
命令
1 | parted |
命令主要有 2 种模式:命令行模式和交互模式
1.1 MBR与 GPT
1 | MBR(Main Boot-loader Record) |
主引导记录。最大支持 2T 的卷,且对分区有限制,只能 4 个主分区或 3 个主+一个逻辑分区。Windows 常用这种模式;
1 | GPT(GUID Partition Table) |
即 GUID 分区表,突破 4 个主分区的限制,每个磁盘最多支持 128 个分区,支持大于 2T 的分区。最大卷为 18EB
2. 命令详解
1 | parted [选项]... [设备 [命令 [参数]...]...] |
将带有“参数”的命令应用于“设备”。如果没有给出“命令”,则以交互模式运行
2.1 帮助
命令 | |
---|---|
-h(–help) | 显示此求助信息 |
-l(–list) | 列出所有设别的分区信息 |
-i(–interactive) | 在必要时,提示用户 |
-s(–script) | 从不提示用户 |
-v(–version) | 显示版本 |
2.2 操作
命令 | 描述 |
---|---|
check minor-num | 执行文件系统检查 |
cp from to | 将文件系统复制到另一个分区 |
set FLAG STATE | 对指定编号的分区设置分区标记 FLAG,FLAG可为 boot/hidden/raid/lvm 等,STATE 为 on/off |
print {free|NUM|all} | 显示分区表或指定编号的分区表 |
mkpart PART-TYPE START END | 创建新分区,PART-TYPE支持primary, extended, logical, START-END 为分区起始和结束位置 |
rm NUM | 删除指定编号 NUM 的分区 |
检查MINOR | 对文件系统进行一个简单的检查 |
mklabel LABEL | 为分区表创建磁盘标签 |
mkfs MINOR 文件系统类型 | 在 MINOR 创建类型为“文件系统类型”的文件系统 |
mkpart 分区类型 [文件系统类型] 起始点 终止点 | 创建一个分区 |
mkpartfs 分区类型 文件系统类型 起始点 终止点 | 创建一个带有文件系统的分区 |
move MINOR 起始点 终止点 | 移动编号为 MINOR 的分区 |
name MINOR 名称 | 将编号为 MINOR 的分区命名为“名称”(MAC & PC 支持) |
rescue 起始点 终止点 | 挽救临近“起始点”、“终止点”的遗失的分区 |
resize MINOR 起始点 终止点 | 改变位于编号为 MINOR 的分区中文件系统的大小 |
rm MINOR | 删除编号为 MINOR 的分区 |
select 设备 | 选择要编辑的设备 |
3. 实例
3.1 查询类
- 打印某磁盘分区表
1parted -s /dev/sda print
结果:
1
2
3
4
5
6
7
8
9 Model: AVAGO AVAGO (scsi)
Disk /dev/sda: 599GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt # 分区表格式为 gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 512MB 511MB primary bios_grub
2 513MB 599GB 598GB ext4 primary 启动
可知磁盘 sda 一共有 2 个分区。
注意
MBR支持的磁盘最大容量为2 TB,GPT最大支持的磁盘容量为18 EB,使用大于2 TB的磁盘容量,分区形式请采用GPT。当磁盘已经投入使用后,此时切换磁盘分区形式时,磁盘上的原有数据将会清除,因此在磁盘初始化时谨慎选择磁盘分区形式。
3.2 删除分区
1 | parted -s /dev/sda rm 1 |
删除分区 1
3.3 建立分区
-
指定分区格式
1parted -s /dev/sda -- mklabel gpt -
做 SWAP 分区
1parted -s /dev/sda -- mkpart swap 2048s 2000这里的
12048s表示 2048个扇区(sector),而非 2048 字节等,后面的 2000 表示磁盘截止容量。表示创建了个 2G 的 swap 分区,这里的单位为 MB
1
2
3
4
5
6
7
8 Model: AVAGO AVAGO (scsi)
Disk /dev/sda: 299GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name 标志
1 1049kB 2000MB 1999MB linux-swap(v1) swap
2 2001MB 299GB 297GB ext4 primary 启动
1
2
3 /sbin/parted -s /dev/sda -- mkpart swap 2048s 2000
/sbin/parted -s /dev/sda -- mkpart primary 2001 2500
/sbin/parted -s /dev/sda -- mkpart primary 2501 -1
当针对多个磁盘执行分区命令是,那么磁盘编号会依次递进,如 sda1, sda2 等。划分完后
1 | partprobe |
执行生效
- 格式化成指定文件类型
1mkfs.ext4 -F -b 4096 -i 8192 -I 256 -m0 /dev/sda2
对于大磁盘分配
1inode节点会占用大量磁盘空间,因此一般会人工制定。
- -i:指定多大磁盘空间分配一个
1inode
,这里设置为8192 字节/inode
- -b: 指定 block 大小,默认 4096
- -I: 指定 inode大小,默认 256
- -m:指定保留 block 占用总数百分比,默认 5%
- -F:强制格式化
- 挂载分区
1parted -s /dev/sda set 3 boot on
表示 将sda分区编号为 3 的分区设置为 boot 分区,状态为 on
评论已关闭。