好的,阿杰,我们来系统讲解一下 Linux 下使用 fdisk 进行磁盘分区 的操作,包括概念、基本命令、操作步骤和注意事项。


1️⃣ 什么是 fdisk

  • fdisk 是 Linux 下的 命令行磁盘分区工具
  • 支持 MBR(Master Boot Record)分区表
  • 可以创建、删除、修改磁盘分区
  • 常用于 新磁盘初始化、磁盘重新分区

注意:对于大于 2TB 的磁盘,推荐使用 gdisk 或 parted,因为 MBR 有 2TB 容量限制。


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 976773119 975746072 465G  8e Linux LVM
  • /dev/sda → 磁盘
  • /dev/sda1/dev/sda2 → 分区

3️⃣ 使用 fdisk 分区流程

3.1 启动 fdisk

sudo fdisk /dev/sdb
  • /dev/sdb 为要操作的磁盘(注意:不要误操作已有磁盘!

3.2 查看已有分区

在 fdisk 交互界面中输入:

p
  • p → 打印当前磁盘的分区表

3.3 删除分区

d
  • 删除已有分区
  • 会提示输入分区号,如删除 /dev/sdb1,输入 1

3.4 新建分区

n
  • 创建新分区
  • 系统会提示:
    • Primary (主分区) 或 Extended (扩展分区)
    • 分区号
    • 起始扇区(默认直接回车即可)
    • 结束扇区或大小(可以直接指定 +100M、+20G 等)

示例:创建一个 20GB 主分区:

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-... , default 2048): [Enter]
Last sector, +sectors or +size{K,M,G,T,P} (2048-..., default ...): +20G

3.5 修改分区类型

t
  • 修改分区类型(Linux、Swap、Windows 等)
  • 输入分区号
  • 输入类型代码,例如:
    • 83 → Linux
    • 82 → Linux swap
    • 8e → Linux LVM
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 83

3.6 设置启动标志(可选)

a
  • 设置某个分区为启动分区
  • 选择分区号即可

3.7 保存并退出

w
  • w → 写入分区表并退出
  • 如果不想保存修改,可以输入 q 退出

4️⃣ 格式化新分区

分区创建完成后,需要 格式化文件系统

sudo mkfs.ext4 /dev/sdb1   # 格式化为 ext4 文件系统
sudo mkswap /dev/sdb2      # 如果是 swap 分区

5️⃣ 挂载分区

  1. 创建挂载点:
sudo mkdir /mnt/data
  1. 挂载分区:
sudo mount /dev/sdb1 /mnt/data
  1. 查看挂载情况:
df -h
  1. 配置开机自动挂载(编辑 /etc/fstab):
/dev/sdb1   /mnt/data   ext4   defaults   0 0

6️⃣ 常用命令总结(fdisk 交互界面)

命令功能
m显示帮助
p显示分区表
n新建分区
d删除分区
t改分区类型
a设置启动分区
w写入分区表并退出
q不保存退出

7️⃣ 注意事项

  1. 操作前备份重要数据,分区操作会破坏磁盘原有数据
  2. 区分磁盘设备,例如 /dev/sda/dev/sdb
  3. MBR 限制:最多 4 个主分区,超过需用扩展分区
  4. 新分区必须格式化后才能使用
  5. 挂载点和 fstab 配置:保证系统重启后自动挂载