菜鸟科技网

parted命令行如何分区与管理磁盘?

parted 是一款功能强大的命令行磁盘分区管理工具,广泛应用于 Linux 和 Unix 系统中,与 fdisk 相比,parted 支持更大的分区(如超过 2TB 的磁盘)、多种分区表格式(包括 MBR 和 GPT),并能高效处理分区调整、创建、删除等操作,本文将详细介绍 parted 命令行的使用方法、核心功能及实用技巧,帮助用户掌握这一工具。

parted命令行如何分区与管理磁盘?-图1
(图片来源网络,侵删)

parted 的基本语法与启动

parted 的基本语法为 parted [设备] [命令 [选项]],其中设备可以是硬盘设备文件(如 /dev/sdb)或镜像文件,若直接输入 parted 不带设备参数,则进入交互式模式,后续操作需指定设备。parted /dev/sdb 会打开 /dev/sdb 的分区管理界面,交互式模式下,命令可直接输入,无需重复设备名。

查看磁盘信息

在操作分区前,需先了解磁盘的基本信息,使用 printp 命令可查看当前分区表、磁盘大小、分区布局等。

(parted) print
Model: ATA SanDisk SSD PLUS (scsi)
Disk /dev/sdb: 480GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 
Number  Start   End     Size    File system  Name  Flags
 1      1049kB  538MB   537MB   fat32               boot, esp
 2      538MB   48GB    47.5GB  ext4

输出结果包含磁盘型号、总大小、扇区大小、分区表类型(GPT 或 MBR)及各分区详情,若磁盘未初始化分区表,需先创建分区表(见后文)。

创建分区表

分区表是分区的元数据基础,parted 支持 MBR(msdos)和 GPT 两种格式,GPT 适用于大磁盘且支持更多分区,推荐优先使用,使用 mktable 命令可创建分区表:

parted命令行如何分区与管理磁盘?-图2
(图片来源网络,侵删)
(parted) mktable gpt

若需删除现有分区表,可使用 rm 命令,但会清除所有数据,需谨慎操作。

创建与调整分区

创建分区

使用 mkpart 命令创建分区,语法为 mkpart [分区类型] [文件系统类型] [起始点] [结束点],创建一个从 1GB 到 10GB 的 ext4 分区:

(parted) mkpart primary ext4 1GB 10GB
  • 分区类型:primary(主分区)或 logical(逻辑分区,仅 MBR 有效)。
  • 文件系统类型:如 ext4、fat32、xfs 等,仅用于标识,不影响实际格式化。
  • 起始/结束点:支持单位(B、KB、MB、GB、TB)或百分比(如 50%)。

调整分区大小

使用 resizepart 命令可调整分区大小,需指定分区号和新的结束点,将分区 2 调整至磁盘末尾:

(parted) resizepart 2 100%

调整前需确保文件系统支持在线调整(如 ext4 的 resize2fs),否则可能导致数据丢失。

parted命令行如何分区与管理磁盘?-图3
(图片来源网络,侵删)

删除分区

使用 rm 命令删除分区,例如删除分区 1:

(parted) rm 1

分区对齐与优化

现代磁盘(尤其是 SSD)需注意分区对齐以提高性能,parted 默认采用最优对齐方式,但可通过 align-check 命令验证,检查分区 1 是否对齐:

(parted) align-check optimal 1

若输出 1 aligned,则表示对齐正确。

实用操作示例

初始化新磁盘并创建分区

parted /dev/sdb
(parted) mktable gpt
(parted) mkpart primary ext4 0% 50%
(parted) mkpart primary ext4 50% 100%
(parted) print
(parted) quit

完成后使用 mkfs.ext4 /dev/sdb1 格式化分区。

转换分区表格式(MBR 转 GPT)

parted /dev/sdb
(parted) mktable gpt
(parted) print

转换前需备份数据,MBR 转 GPT 会破坏现有分区。

常见错误与注意事项

  1. 设备占用:若设备被挂载或使用中,parted 可能提示错误,需先卸载分区或使用 fuser -km /dev/sdb1 强制释放。
  2. 分区表冲突:同一磁盘不能同时存在 MBR 和 GPT 分区表,需彻底清除后重建。
  3. 数据丢失风险:分区操作不可逆,建议操作前备份重要数据。

parted 与其他工具对比

特性 parted fdisk
支持分区表 GPT、MBR MBR(有限支持 GPT)
大磁盘支持 支持 >2TB 仅支持 ≤2TB(MBR 限制)
交互体验 支持脚本和交互式 仅交互式
调整分区 支持 resizepart 需删除重建

相关问答 FAQs

Q1: parted 如何调整已有分区的文件系统大小?
A1: parted 仅调整分区表中的分区大小,不操作文件系统,调整分区后,需使用对应文件系统的工具扩展文件系统,ext4 分区使用 resize2fs /dev/sdb1,XFS 使用 xfs_growfs /mnt/sdb1

Q2: parted 创建分区时提示 "Error: Invalid partition table",如何解决?
A2: 通常因磁盘分区表损坏或冲突导致,可使用 parted /dev/sdb mktable gpt 重建分区表,或先用 dd if=/dev/zero of=/dev/sdb bs=1 count=1024 清除磁盘签名(注意此操作会丢失所有数据)。

分享:
扫描分享到社交APP
上一篇
下一篇