磁盘分区管理fdisk、parted使用详解

本文中涉及到的fdisk、parted、block-mount、e2fsprogs软件一般会预装在linux系统中

fdisk命令使用详解

fdisk 是 Linux 系统中用于磁盘分区管理的核心命令行工具,支持创建、删除、调整分区及查看分区信息等操作,适用小于2TB的磁盘分区。以下是其详细使用指南:


一、基本语法与常用参数

查看磁盘信息

   fdisk -l [设备名]  # 列出所有磁盘或指定磁盘的分区表信息

示例:fdisk -l /dev/sda 显示 /dev/sda 磁盘的分区详情,包括起始扇区、大小、类型等。

进入交互模式

   fdisk /dev/sdx  # 对指定磁盘(如 /dev/sda)进行分区操作
   #输入 m 可查看所有可用命令的帮助信息。

二、核心操作命令

在交互模式下,通过以下命令管理分区:

  1. 创建新分区
    • n:新建分区 → 选择主分区(p)或扩展分区(e) → 设置起始扇区和大小(如 +10G 表示分配 10GB)。
    • 注意:MBR 分区表最多支持 4 个主分区,需通过扩展分区创建逻辑分区。
  2. 删除分区
    • d → 输入分区号删除指定分区。
  3. 修改分区类型
    • t → 选择分区号 → 输入类型代码(如 82 为 Linux swap,83 为 Linux 文件系统)。
    • 输入 l 可查看所有支持的分区类型代码列表。
  4. 保存与退出
    • w:保存修改并退出。
    • q:不保存修改并退出。

三、实用场景示例

  1. 创建主分区并格式化
   sudo fdisk /dev/sdb
   # 输入 n → p → 设置大小 → w 保存
   sudo mkfs.ext4 /dev/sdb1  # 格式化为 ext4 文件系统
   sudo mount /dev/sdb1 /mnt/data  # 挂载到指定目录
  1. 使用 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 中功能强大的磁盘分区工具,支持 MBRGPT 两种分区表格式,尤其擅长处理 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 分区

  1. 分区与格式化
   parted /dev/sdb
   (parted) mklabel gpt
   (parted) mkpart data1 xfs 1 500GB
   (parted) quit
   mkfs.xfs /dev/sdb1  # 格式化为 XFS
  1. 挂载分区
   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

其他工具

  1. gdisk
    • 专用于 ​GPT 分区表,需安装 gdisk 包。bash# Debian/Ubuntu sudo apt-get install gdisk
  2. mkfs(格式化工具)​
    • 格式化分区为文件系统(如 ext4、XFS),通常预装于 coreutils 或 e2fsprogs
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇