1、选择我们需要的磁盘:parted /dev/mmcblk0
#这里以我的eMMC为例
parted /dev/mmcblk0
2、查看磁盘信息:print
(parted) print
Model: MMC 8GUF4R (sd/mmc)
Disk /dev/mmcblk0: 7818MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted)
3、创建分区表:mklabel
#创建GPT分区表
(parted) mklabel gpt
#创建MBR分区表
(parted) mklabel msdos
4、创建分区:mkpart 这里以gpt分区为例
(parted) mklabel gpt
Warning: The existing disk label on /dev/mmcblk0 will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes
(parted) print
Model: MMC 8GUF4R (sd/mmc)
Disk /dev/mmcblk0: 7818MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) mkpart //创建分区
Partition name? []? rootfs_a //输入分区的名字
File system type? [ext2]? ext4 //输入文件系统类型
Start? 10 //分区的起始位置 以MByte为单位
End? 3818 //分区的结束位置 以MByte为单位
(parted)
5、创建分区:mkpart 这里以MBR分区为例
(parted) mklabel msdos //创建MBR分区表
Warning: The existing disk label on /dev/mmcblk0 will be destroyed and all data
on this disk will be lost. Do you want to continue?
Yes/No? yes
(parted) mkpart //创建分区
Partition type? primary/extended? primary //这里选择分区类型:主分区、扩展分区
File system type? [ext2]? ext4 //这里配置文件系统类型
Start? 10 //配置分区的起始位置 这里以MByte为单位
End? 3818 //配置分区的结束位置 这里以MByte为单位
(parted)
6、退出指令:quit
(parted) quit //保存退出
很多时候,我们已经明确知道我们各个分区的起始位置、大小等信息。那么我们可以使用如下命令进行一步到位:
#下面这条命令对/dev/mmcblk0磁盘设置为GPT分区格式,并分了2个分区,每个分区2G
# 注:10485760B 这里的B是Byte的意思 10485760B表示从磁盘的10485760字节开始 2107637759B表示到2107637759字节介绍。
parted -s /dev/mmcblk0 mklabel gpt mkpart rootfs_a 10485760B 2107637759B mkpart rootfs_b 2107637760B 4204789759B
#上一条命令是以Byte为单位进行设置分区的起始位置、大小等信息。下面这条命令是以MByte为单位进行设置。
parted -s /dev/mmcblk0 mklabel gpt mkpart rootfs_a 10M 2010M mkpart rootfs_b 2010M 4010M
#上面两条命令都是按具体的单位配置。下面这条命令则是以百分比来进行配置
parted -s /dev/mmcblk0 mklabel gpt mkpart rootfs_a 0% 50% mkpart rootfs_b 50% 100%
注:如果想把最后的存储空间都给到最后一个分区,那么最后一个分区配置结束位置时填 -1
更改分区的名字:不同的分区,有不同的label。有时因为条件的需要,要求我们更改分区对应的名字,我们可以使用如下方法:
/ # parted /dev/mmcblk0
GNU Parted 3.2
Using /dev/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: MMC 8GUF4R (sd/mmc)
Disk /dev/mmcblk0: 7818MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 19.5kB 2048B veeprom msftdata
2 19.5kB 544kB 524kB sbl msftdata
3 544kB 1068kB 524kB ddr msftdata
4 1068kB 1592kB 524kB bl31 msftdata
5 1592kB 2641kB 1049kB uboot_a msftdata
6 2641kB 3689kB 1049kB uboot_b msftdata
7 3689kB 3821kB 131kB vbmeta msftdata
8 3821kB 3952kB 131kB vbmeta_b msftdata
(parted) name 5 new_uboot //将第5个分区的名字更改为new_uboot
(parted) print
Model: MMC 8GUF4R (sd/mmc)
Disk /dev/mmcblk0: 7818MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 19.5kB 2048B veeprom msftdata
2 19.5kB 544kB 524kB sbl msftdata
3 544kB 1068kB 524kB ddr msftdata
4 1068kB 1592kB 524kB bl31 msftdata
5 1592kB 2641kB 1049kB new_uboot msftdata
6 2641kB 3689kB 1049kB uboot_b msftdata
7 3689kB 3821kB 131kB vbmeta msftdata
8 3821kB 3952kB 131kB vbmeta_b msftdata
(parted) q
/ #