菜鸟科技网

dfisk命令是什么?

dfisk命令是Linux系统中用于磁盘分区管理的经典工具之一,其名称来源于“disk fix”的缩写,最初由IBM开发后经开源社区迭代完善,作为字符界面下的分区工具,fdisk通过交互式操作支持MBR(主引导记录)和GPT(GUID分区表)两种分区表格式,能够创建、删除、调整分区大小,并设置分区类型等,是系统管理员进行磁盘管理的基础技能之一,本文将详细介绍fdisk命令的使用方法、核心功能及注意事项,并通过实例说明操作流程。

dfisk命令是什么?-图1
(图片来源网络,侵删)

fdisk命令的基本语法与启动

fdisk命令的基本语法为fdisk [选项] 设备名,常用选项包括:

  • -l:列出所有磁盘分区信息,不进入交互模式;
  • -u:显示分区大小以扇区为单位而非柱面;
  • -s:显示分区大小(以1024字节块为单位);
  • -c:兼容模式,适用于旧版系统。 查看系统中的磁盘分区信息可使用sudo fdisk -l,该命令会列出所有磁盘设备及其分区表类型、分区大小、起始/结束扇区等关键信息,若需对特定磁盘进行操作,如/dev/sdb,则执行sudo fdisk /dev/sdb进入交互模式。

fdisk交互模式下的核心操作

进入fdisk交互模式后,命令行提示符变为Command (m for help),输入m可查看所有可用命令的简要说明,以下是核心操作命令的分类说明:

分区表操作

  • g:创建GPT分区表(适用于大于2TB的磁盘);
  • o:创建MBR分区表(传统分区表,支持最多4个主分区或3个主分区+1个扩展分区);
  • l:列出所有支持的分区类型代码(如Linux分区为83,swap为82,EFI系统为EF等);
  • i:显示磁盘的分区表信息(仅GPT支持)。

分区创建与删除

  • n:创建新分区,需选择分区类型(主分区/扩展分区)、起始扇区(默认为第一个空闲扇区)和结束扇区(可通过+size{K,M,G}指定大小,如+10G表示10GB);
  • d:删除指定分区,需输入分区编号(如Partition number (1-4));
  • t:修改分区类型代码,需先输入分区编号,再输入类型代码(如8e表示Linux LVM分区)。

分区调整与高级功能

  • p:打印当前分区表(显示分区编号、类型、起始/结束扇区及大小);
  • a:设置可启动分区(仅MBR支持,标记为bootable);
  • m:显示帮助信息;
  • w:保存分区表并退出(修改后必须保存才能生效);
  • q:不保存修改直接退出;
  • v:检查分区表合法性;
  • c:切换DOS兼容标志(仅MBR)。

特殊功能

  • x:进入专家模式,支持更高级操作(如修改磁盘几何参数);
  • r:返回普通模式。

操作实例:使用fdisk分区新磁盘

假设新磁盘为/dev/sdb(容量为20GB),需创建一个10GB的主分区(类型为Linux)和一个5GB的扩展分区(内含逻辑分区),操作步骤如下:

  1. 启动fdisk:sudo fdisk /dev/sdb
  2. 输入n创建分区,选择p(主分区),起始扇区直接回车(默认),输入+10G设置大小;
  3. 输入t修改分区类型,输入1(分区编号),再输入83(Linux类型);
  4. 再次输入n创建扩展分区,选择e,起始扇区回车,输入+5G
  5. 输入n创建逻辑分区,在扩展分区内自动分配,大小设为+5G
  6. 输入p查看分区表,确认无误后输入w保存。

分区完成后,需使用partprobe命令刷新内核分区表,或执行mkfs格式化分区(如mkfs.ext4 /dev/sdb1)。

dfisk命令是什么?-图2
(图片来源网络,侵删)

fdisk的注意事项与限制

  1. 分区表类型兼容性:MBR最大支持2TB磁盘,最多4个主分区;GPT支持更大磁盘和无限分区数量(但实际受操作系统限制);
  2. 数据安全:fdisk操作会直接修改磁盘分区表,误操作可能导致数据丢失,操作前务必备份重要数据;
  3. 内核刷新:保存分区表后,需通过partprobe或重启使内核识别新分区;
  4. 文件系统创建:fdisk仅管理分区,不负责文件系统格式化,需单独使用mkfs系列命令;
  5. RAID与LVM:若使用RAID或LVM,分区类型需分别设置为fd(Linux RAID)或8e(Linux LVM)。

fdisk与其他分区工具对比

工具名称 支持分区表 图形界面 特点
fdisk MBR/GPT 经典命令行工具,适合基础分区管理
parted MBR/GPT 可选 支持调整分区大小,适合动态分区管理
gdisk GPT GPT专用工具,功能更全面
sfdisk MBR/GPT 脚本化分区工具,适合批量自动化操作

相关问答FAQs

Q1: fdisk与parted的主要区别是什么?
A1: fdisk和parted均为分区工具,但核心区别在于功能范围和适用场景,fdisk仅支持MBR和GPT的基础分区操作(创建、删除、修改类型),而parted支持动态调整分区大小、移动分区位置等高级功能,且更适合处理大容量磁盘,parted的命令语法更接近脚本化,适合自动化任务,而fdisk交互更直观,适合手动操作。

Q2: 使用fdisk误删除分区后如何恢复?
A2: 若未保存分区表(未执行w命令),直接退出即可恢复;若已保存,需立即停止向该磁盘写入数据,并使用数据恢复工具(如TestDisk、PhotoRec)尝试恢复分区表,操作步骤为:① 卸载目标磁盘;② 使用sudo testdisk /dev/sdb运行TestDisk;③ 选择“恢复”并分析分区表;④ 若找到丢失分区,选择“写入”保存修复,建议定期备份分区表(通过sfdisk -d /dev/sdb > backup.sfdisk)以降低风险。

dfisk命令是什么?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇