parted 硬盘分区工具简单用法


一、前言

其实新版的 fdisk 是支持 GPT 分区表的,我也一直在用 fdisk 管理 GPT 分区的磁盘,并没有发现什么问题。

可是今天我正打算使用 fdisk 在 GPT 分区表的启动磁盘里面添加一个新分区,明明磁盘还剩 300G,结果 fdisk 竟然报告磁盘没有可用空间。

这让我发现了 fdisk 对于 GPT 的支持其实是不完善的!于是就入坑 parted 了!


二、运行 parted

命令用法

(在 Shell 中运行)

parted <磁盘设备路径>

举例

sdb 进行分区操作。

[root: ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

(下文操作均在 parted 中进行)


三、修改分区表类型

命令用法

mklabel

说明
1. 支持的分区表类型可用 help mklabel 查看。
2. 修改分区表类型会抹掉硬盘上的所有数据,使用前请三思。

举例

修改分区表为 GPT 格式。

(parted) mklabel 
新的磁盘标签类型? gpt   #输入 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? y        #输入 y 回车                  

四、打印所有分区信息

命令用法

print

举例

列出所有分区。

(parted) print   
Model:  USB DISK 2.0 (scsi)
Disk /dev/sdg: 4010MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name    标志
 1      1049kB  99.6MB  98.6MB               EFI     启动
 2      99.6MB  200MB   101MB
 3      200MB   4009MB  3808MB               ext4_2

五、创建分区

命令用法

mkpart

说明
1. 分区起始点和结束点可以使用磁盘空间百分比(建议首尾使用,避免出现无法对齐扇区而影响性能)。
2. 分区名称可以不写。
3. 支持的分区类型可用 help mkpart 查看。

举例

创建一个 ext4 分区(全盘仅一个分区)。

(parted) mkpart 
分区名称?  []?  #直接按回车                                                     
文件系统类型?  [ext2]? ext4     #输入 ext4 回车                                        
起始点? 0%     #输入 0% 回车                                                            
结束点? 100%   #输入 100% 回车   

创建 EFI 分区。

(parted) mkpart 
分区名称?  []? EFI     #输入 EFI 回车                                                  
文件系统类型?  [ext2]? fat32       #输入 fat32 回车                                      
起始点? 0%        #输入 0% 回车                                                       
结束点? 100M      #输入 100M 回车

创建一个 1G 的 ext4 的分区(接上一步)。

(parted) mkpart 
分区名称?  []?   #直接按回车                                                     
文件系统类型?  [ext2]? fat32   #输入 fat32 回车                                          
起始点? 100M     #输入 100M 回车                                                         
结束点? 100%     #输入 100% 回车

六、修改分区标志

命令用法

set 

说明
支持的标志类型可用 help set 查看。

举例

标记上面创建的 EFI 分区为启动分区。

(parted) set
分区编号? 1    #输入 1 回车                                                          
Flag to Invert? boot  #输入 boot 回车                                                    
新状态?  [开]/on/关/off? on  #输入 on 回车

七、删除分区

命令用法

rm

说明
分区编号可用 print 查看。

举例

删除上面创建的 ext4 分区。

(parted) rm
分区编号? 2 #输入 2 回车

八、退出 parted

命令用法

q

说明
退出之前,所有的配置都会自动保存且立即生效。所以说在 parted 中每一步都要三思而行。


以上介绍的均是简单的操作指令,且均适用交互界面。更多操作指令请参考 parted 的 man 文档或者使用 help <指令名> 来查看实时帮助。


九、自动化操作

支持无交互界面的自动化操作是 parted 的特色之一。在批量管理磁盘时使用自动化操作会非常方便。

下面简单介绍一下它的用法:

命令用法

parted -s <磁盘设备路径> <操作指令 1> [<操作指令 2> ...]

说明
自动化操作不会有任何提示,在执行命令之前请三思!

举例

sda 转换为 GPT 格式,并创建一个 ext4 类型的分区。

[root: ~]# parted -s /dev/sda mklabel gpt mkpart ext4 0% 100%

发表评论

电子邮件地址不会被公开。