好的,阿杰,我帮你整理一份 Linux 下使用 fdisk 进行磁盘分区的详细教程,从基础命令到操作流程,都做了详细说明,并附上注意事项。


Linux 使用 fdisk 磁盘分区详解


1️⃣ fdisk 简介

  • fdisk 是 Linux 下用于 创建、删除、查看和修改磁盘分区表 的命令行工具
  • 支持 MBR(Master Boot Record)分区表
  • 对于 GPT 分区,推荐使用 gdisk 或 parted

2️⃣ 查看磁盘信息

sudo fdisk -l

输出示例:

Disk /dev/sda: 500GB
Device     Boot Start      End  Sectors Size Id Type
/dev/sda1  *     2048  1026047 1024000 500M 83 Linux
/dev/sda2       1026048 976773167 975747120 465G 8e Linux LVM

  • /dev/sda:磁盘设备
  • /dev/sda1:分区设备
  • Size:分区大小
  • Type:分区类型

3️⃣ fdisk 操作流程

3.1 启动 fdisk

sudo fdisk /dev/sdb

  • /dev/sdb:待分区的磁盘
  • 进入交互模式后,会显示提示符 Command (m for help):

3.2 查看帮助

在交互模式输入:

m

常用命令:

命令作用
p打印分区表
n新建分区
d删除分区
t修改分区类型
w保存并退出
q退出不保存
l列出已知分区类型

3.3 创建新分区

  1. 输入 n 新建分区
  2. 选择分区类型:
    • p:主分区(最多 4 个)
    • e:扩展分区(在主分区数量已满时使用)
  3. 输入分区号(默认自动分配)
  4. 设置起始扇区(默认直接回车)
  5. 设置结束扇区或大小(+大小单位,例如 +20G)

示例:

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-976773167, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-976773167, default 976773167): +50G


3.4 删除分区

Command (m for help): d
Partition number (1-4): 1

  • 删除指定分区
  • 删除后需要用 w 保存才能生效

3.5 修改分区类型

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list all): 8e   # Linux LVM

  • t 修改分区类型
  • 输入 L 可查看所有分区类型及对应代码

3.6 保存分区表

Command (m for help): w

  • 保存修改并退出
  • 如果想放弃修改,用 q 退出

4️⃣ 格式化新分区

创建完分区后,需要格式化才能使用:

sudo mkfs.ext4 /dev/sdb1   # 格式化为 ext4 文件系统
sudo mkfs.xfs /dev/sdb1    # 格式化为 xfs 文件系统


5️⃣ 挂载分区

sudo mkdir /data
sudo mount /dev/sdb1 /data

  • 查看挂载情况:
df -h

  • 挂载到开机自动挂载(编辑 /etc/fstab):
/dev/sdb1   /data   ext4   defaults   0 0


6️⃣ 注意事项

  1. 操作前备份数据:分区操作会清除磁盘上已有数据
  2. MBR 最大分区限制
    • 主分区最多 4 个
    • 超过 4 个需要扩展分区
  3. 分区类型选择
    • Linux 文件系统一般选 83(Linux)
    • LVM 选 8e
  4. 同步修改
    • 修改分区表后,如果系统未刷新,需要重启或用 partprobe 刷新
sudo partprobe /dev/sdb

  1. GPT 分区
    • 如果磁盘 > 2TB,建议使用 GPT 分区表
    • GPT 可以使用 gdisk 或 parted

7️⃣ 总结操作流程

# 查看磁盘
sudo fdisk -l

# 启动 fdisk
sudo fdisk /dev/sdb

# 帮助
m

# 创建新分区
n → p/e → 分区号 → 起始扇区 → 结束扇区或大小

# 删除分区
d → 分区号

# 修改分区类型
t → 分区号 → 类型代码

# 查看分区表
p

# 保存退出
w

# 格式化
mkfs.ext4 /dev/sdb1

# 挂载
mkdir /data
mount /dev/sdb1 /data


💡 核心流程总结

查看磁盘 → fdisk 操作 → 保存分区表 → 格式化分区 → 挂载使用