本文最后更新于 245 天前,其中的信息可能已经有所发展或是发生改变。
本文中涉及到的fdisk、parted、block-mount、e2fsprogs软件一般会预装在linux系统中
fdisk命令使用详解
fdisk 是 Linux 系统中用于磁盘分区管理的核心命令行工具,支持创建、删除、调整分区及查看分区信息等操作,适用小于2TB的磁盘分区。以下是其详细使用指南:
一、基本语法与常用参数
查看磁盘信息
   fdisk -l [设备名]  # 列出所有磁盘或指定磁盘的分区表信息示例:fdisk -l /dev/sda 显示 /dev/sda 磁盘的分区详情,包括起始扇区、大小、类型等。
进入交互模式
   fdisk /dev/sdx  # 对指定磁盘(如 /dev/sda)进行分区操作
   #输入 m 可查看所有可用命令的帮助信息。二、核心操作命令
在交互模式下,通过以下命令管理分区:
- 创建新分区
- n:新建分区 → 选择主分区(p)或扩展分区(e) → 设置起始扇区和大小(如 +10G 表示分配 10GB)。
- 注意:MBR 分区表最多支持 4 个主分区,需通过扩展分区创建逻辑分区。
 
- 删除分区
- d→ 输入分区号删除指定分区。
 
- 修改分区类型
- t→ 选择分区号 → 输入类型代码(如- 82为 Linux swap,- 83为 Linux 文件系统)。
- 输入 l可查看所有支持的分区类型代码列表。
 
- 保存与退出
- w:保存修改并退出。
- q:不保存修改并退出。
 
三、实用场景示例
- 创建主分区并格式化
   sudo fdisk /dev/sdb
   # 输入 n → p → 设置大小 → w 保存
   sudo mkfs.ext4 /dev/sdb1  # 格式化为 ext4 文件系统
   sudo mount /dev/sdb1 /mnt/data  # 挂载到指定目录- 使用 UUID 持久化挂载
- 通过 blkid /dev/sdb1获取分区的 UUID。
- 编辑 /etc/fstab,添加行:plaintext UUID=xxxx-xxxx-xxxx-xxxx /mnt/data ext4 defaults 0 0
 字段含义:设备标识、挂载点、文件系统类型、权限选项、是否备份、是否自检。
四、注意事项
数据安全
- 分区操作可能导致数据丢失,务必提前备份。
- 操作前确认目标磁盘(如 /dev/sda可能是系统盘,误操作会破坏系统)。
分区表更新
- 修改分区表后,需执行 partprobe或重启系统使内核识别新分区。
大容量磁盘限制
- fdisk 仅支持 MBR 分区表,无法处理 2TB 以上磁盘;需改用 parted工具管理 GPT 分区。
五、常见问题
分区后无法挂载?
- 检查是否已格式化(使用 mkfs)。
- 确认 /etc/fstab中 UUID 或设备路径正确。
交互模式中的默认单位
- 输入 u可切换为扇区(sectors)单位,便于精确控制分区大小。
通过上述操作,可灵活管理磁盘分区。处理大容量磁盘时,优先选择 parted。
parted 命令使用详解
parted 是 Linux 中功能强大的磁盘分区工具,支持 MBR 和 GPT 两种分区表格式,尤其擅长处理 2TB 以上大容量磁盘。以下是其核心功能和使用方法:
一、基本概念与优势
分区表类型
- MBR:传统分区表,最多支持 4 个主分区或 3 主分区 + 1 扩展分区,仅支持 ≤2TB 的磁盘。
- GPT:支持 >2TB 的磁盘,最多 128 个主分区,无容量限制,适合现代大容量存储。
优势
- 支持 GPT 分区,突破 MBR 容量限制。
- 允许 实时操作(命令立即生效),无需保存步骤。
- 支持多种文件系统(如 ext4、XFS、NTFS、FAT32)和复杂操作(调整分区大小、移动分区等)。
二、常用命令与操作
1. 进入交互模式
parted /dev/sdb  # 对磁盘 /dev/sdb 进行操作输入 help 查看所有命令列表。
2. 创建分区表
(parted) mklabel gpt  # 将磁盘格式化为 GPT 分区表- 警告:此操作会清除磁盘所有数据,需确认。
3. 创建分区
(parted) mkpart [分区名] [文件系统类型] 起始位置 结束位置- 示例:
  (parted) mkpart data1 xfs 1 500GB  # 创建名为 data1 的 XFS 分区,从 1 到 500GB
  (parted) mkpart data2 ext4 500GB 1500GB  # 第二个分区
  (parted) mkpart data3 1500GB 100%  # 使用剩余全部空间。- 注意:
- 起始和结束位置可指定单位(如 GB、%),100%表示磁盘末尾。
- 文件系统类型需后续用 mkfs单独格式化(如mkfs.xfs /dev/sdb1)。
4. 查看分区信息
(parted) print  # 显示分区表详细信息,包括起始位置、大小、文件系统等。5. 删除分区
(parted) rm [分区号]  # 删除指定分区(需先卸载分区)。6. 调整分区大小
(parted) resizepart [分区号] 新结束位置  # 调整分区大小(需确保文件系统支持)。7. 非交互模式(脚本)
parted -s /dev/sdb mklabel gpt  # -s 跳过提示
parted -s /dev/sdb mkpart data1 xfs 1 500GB  # 批量操作。三、操作示例:创建并挂载 GPT 分区
- 分区与格式化
   parted /dev/sdb
   (parted) mklabel gpt
   (parted) mkpart data1 xfs 1 500GB
   (parted) quit
   mkfs.xfs /dev/sdb1  # 格式化为 XFS- 挂载分区
   mkdir /mnt/data
   mount /dev/sdb1 /mnt/data
   echo "UUID=$(blkid -s UUID -o value /dev/sdb1) /mnt/data xfs defaults 0 0" >> /etc/fstab  # 持久化挂载。四、注意事项
数据安全
- 操作前 务必备份数据,误操作可能导致数据丢失。
- 避免对已挂载分区执行调整或删除操作。
分区对齐
- 使用 align-check检查分区对齐,避免性能问题。
大容量磁盘
- 格式化数 TB 的磁盘可能耗时较长(如 6TB 需约 1.5 小时)。
五、常见问题
分区后无法挂载?
- 检查是否已格式化(mkfs)或/etc/fstab配置是否正确。
如何恢复误删分区?
- 使用 rescue命令尝试恢复(需分区未被覆盖)。
与 fdisk 的区别
- fdisk仅支持 MBR,适用于小容量磁盘;- parted支持 GPT 和大容量磁盘。
通过以上操作,可高效管理磁盘分区,尤其适合服务器部署、数据恢复和大容量存储场景。如需更直观的图形化工具,可尝试 gparted;
其他工具
- gdisk
- 专用于 GPT 分区表,需安装 gdisk包。bash# Debian/Ubuntu sudo apt-get install gdisk
 
- 专用于 GPT 分区表,需安装 
- mkfs(格式化工具)
- 格式化分区为文件系统(如 ext4、XFS),通常预装于 coreutils或e2fsprogs
 
- 格式化分区为文件系统(如 ext4、XFS),通常预装于