cfdisk 是一个基于 curses 库的交互式磁盘分区工具。它的名字中的 “c” 就代表 “curses”。你可以把它理解为 fdisk 的图形化、菜单驱动的版本,它提供了一个简单直观的文本界面来管理磁盘分区。

对于不熟悉命令行分区工具的新手来说,cfdisk 是比 fdisk 或 sfdisk 更友好、更不容易出错的选择。

主要特点

  1. 交互式菜单:所有操作都通过菜单和对话框完成,无需记忆复杂的命令参数。

  2. 直观的显示:清晰地显示磁盘的当前分区布局,包括分区大小、类型、文件系统等。

  3. 用户友好:减少了因输入错误命令而导致意外数据丢失的风险。

  4. 功能完备:支持创建、删除、修改分区大小、设置分区类型等常见操作。

  5. 支持多种分区表:如传统的 MBR (MS-DOS) 和现代的 GPT

安装

在绝大多数 Debian 系统上,cfdisk 已经预装了。如果没有,你可以通过安装 util-linux 包来获取它:

如何使用 cfdisk

1. 启动 cfdisk

你需要指定要操作的磁盘设备。务必确认设备名称正确!

如果不加设备名,cfdisk 可能会让你从列表中选择一个磁盘。

2. 理解 cfdisk 界面

启动后,你会看到一个类似下面的文本界面:

text
  • 顶部:显示磁盘信息(设备名、总大小、分区表类型如 dos(MBR) 或 gpt)。

  • 中部:是一个表格,列出所有现有分区剩余可用空间。你可以使用键盘的 上下箭头键 在这里选择不同的行。

  • 底部:是操作菜单,列出了所有可用的功能。你可以使用 左右箭头键Tab 键 在这些选项之间切换,然后按 Enter 键执行。


常用操作详解

假设你选中了底部菜单的一个选项或表格中的“Free space”(空闲空间)。

操作 功能 说明及注意事项
New 创建新分区 选中“Free space”后,选择此选项。会询问你分区大小(默认是全部剩余空间)和起始位置(通常默认即可)。这是最常用的操作。
Delete 删除分区 危险操作! 选中一个现有分区,然后选择此选项会立即删除该分区及其中的所有数据。操作前务必确认。
Type 修改分区类型 选中一个分区后,可以更改它的类型ID。例如,将 Linux 文件系统 (83) 改为 Linux swap (82),或者将分区设置为 EFI 系统分区 (EF 对于 GPT) 或可启动标志 (Bootable 对于 MBR)。
Write 将更改写入磁盘 这是真正执行操作的步骤! 在你完成所有创建、删除等更改后,必须选择此选项并输入 yes 确认,更改才会实际写入磁盘。在此之前,所有操作都只在内存中进行。
Quit 退出 退出 cfdisk 程序。如果你做了更改但没有 [ Write ],程序会提示你是否要放弃更改。
Dump 转储分区信息 将当前磁盘的分区表信息以文本形式显示出来,类似于 sfdisk -d 的输出,可用于备份或检查。

一个典型的新分区工作流程

  1. 启动工具

  • 查看空间:在界面中确认有足够的“Free space”。

  • 创建分区

    • 使用 下箭头键 选中 Free space 行。

    • 使用 右箭头键/Tab 选中底部的 [ New ],按 Enter

    • 输入你希望的分区大小(例如 5G 表示 5GB,直接回车则使用全部剩余空间)。

    • 选择分区的“Primary”(主分区)或“Logical”(逻辑分区),对于新手和小磁盘,选“Primary”即可。

  • (可选)修改类型:如果新分区不是用于常规的 Linux 系统(比如要做成交换分区),需要修改类型。

    • 选中新创建的分区行。

    • 选择底部的 [ Type ]。

    • 在列表中找到对应的类型ID(如 82 Linux swap),输入并按回车。

  • 写入磁盘

    • 这是最关键的一步。选择底部的 [ Write ]。

    • 程序会警告你数据可能会丢失,并要求你输入 yes 来确认。输入 yes 后按回车。

  • 退出:选择 [ Quit ] 退出 cfdisk。

  • 让系统识别新分区(可选但推荐):

  • 格式化新分区(例如格式化为 ext4):

  • 挂载并使用


总结:cfdisk vs fdisk vs sfdisk

工具 类型 优点 适用场景
cfdisk 交互式(文本图形) 直观易用,不易误操作,信息显示清晰 新手用户快速进行简单分区
cfdisk 交互式(命令行) 功能强大,所有 Linux 系统都预装 习惯命令行的中级用户,系统救援环境
sfdisk 非交互式(脚本) 适合自动化、脚本编程,可从备份恢复 高级用户批量部署在脚本中自动分区