news 2026/2/15 1:49:27

【Linux命令大全】008.磁盘维护之fdisk命令(实操篇)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Linux命令大全】008.磁盘维护之fdisk命令(实操篇)

【Linux命令大全】008.磁盘维护之fdisk命令(实操篇)

✨ 本文为Linux系统磁盘维护命令的全面汇总与深度优化,结合图标、结构化排版与实用技巧,专为高级用户和系统管理员打造。

(关注不迷路哈!!!)

文章目录

  • 【Linux命令大全】008.磁盘维护之fdisk命令(实操篇)
    • 一、功能与作用
    • 二、基本用法
      • 1. 查看磁盘分区信息
      • 2. 启动交互式分区管理
      • 3. 查看`fdisk`命令版本
      • 4. 查看分区大小
      • 5. 使用扇区作为显示单位
    • 三、高级用法
      • 1. 创建新分区
      • 2. 删除分区
      • 3. 修改分区类型
      • 4. 设置活动分区
      • 5. 备份和恢复分区表
      • 6. 自动化分区操作
    • 四、实用技巧与常见问题
      • 实用技巧
      • 常见问题
    • 五、总结

一、功能与作用

fdisk命令是Linux系统中最常用的分区表管理工具,用于创建、删除、调整和查看磁盘分区。该命令名称来源于"Fixed Disk"或"Format Disk",表明它主要用于固定磁盘(即硬盘)的分区管理。

fdisk命令支持MBR(Master Boot Record)分区表格式,适用于大多数传统磁盘。它能够:

  • 显示磁盘的分区信息
  • 创建新的分区
  • 删除已有的分区
  • 修改分区的类型
  • 设置活动分区
  • 保存或放弃分区表的更改

需要注意的是,fdisk命令只适用于MBR分区表,如果需要处理GPT(GUID Partition Table)分区表,应该使用gdiskparted命令。此外,fdisk命令需要以root权限运行,因为它直接操作磁盘设备。

参数详解

参数说明
-l列出指定磁盘或所有磁盘的分区信息
-s显示指定分区的大小(以块为单位)
-u使用扇区(sector)作为显示单位,而不是柱面(cylinder)
-v显示fdisk命令的版本信息
-b sectorsize指定扇区大小(512、1024、2048或4096字节)
-C cylinders指定柱面数量
-H heads指定磁头数量
-S sectors指定每个磁道的扇区数量

二、基本用法

1. 查看磁盘分区信息

要查看所有磁盘的分区信息,可以使用-l参数:

# 查看所有磁盘的分区信息sudofdisk-l

要查看特定磁盘的分区信息,可以指定磁盘设备:

# 查看特定磁盘的分区信息sudofdisk-l /dev/sdb

2. 启动交互式分区管理

要对磁盘进行分区管理,可以直接指定磁盘设备:

# 启动交互式分区管理sudofdisk/dev/sdb

启动后,fdisk会进入交互式界面,显示命令提示符Command (m for help):,此时可以输入各种命令进行分区操作。

3. 查看fdisk命令版本

使用-v参数可以查看fdisk命令的版本信息:

# 查看fdisk命令版本fdisk-v

4. 查看分区大小

使用-s参数可以查看特定分区的大小(以块为单位):

# 查看分区大小sudofdisk-s /dev/sdb1

5. 使用扇区作为显示单位

使用-u参数可以使fdisk在显示分区信息时使用扇区作为单位:

# 使用扇区作为显示单位sudofdisk-lu /dev/sdb

三、高级用法

1. 创建新分区

fdisk的交互式界面中,可以使用以下步骤创建新分区:

# 启动fdisk交互式界面sudofdisk/dev/sdb# 输入'n'创建新分区Command(mforhelp): n# 选择分区类型(主分区'p'或扩展分区'e')Select(default p): p# 输入分区编号Partition number(1-4, default1):1# 输入起始扇区(直接按Enter使用默认值)First sector(2048-41943039, default2048):# 输入分区大小(例如+10G表示10GB)Last sector, +sectors or +size{K,M,G,T,P}(2048-41943039, default41943039): +10G# 输入'w'保存更改并退出Command(mforhelp): w

2. 删除分区

fdisk的交互式界面中,可以使用以下步骤删除分区:

# 启动fdisk交互式界面sudofdisk/dev/sdb# 输入'p'查看当前分区表Command(mforhelp): p# 输入'd'删除分区Command(mforhelp): d# 输入要删除的分区编号Partition number(1-4):2# 输入'w'保存更改并退出Command(mforhelp): w

3. 修改分区类型

fdisk的交互式界面中,可以使用以下步骤修改分区类型:

# 启动fdisk交互式界面sudofdisk/dev/sdb# 输入't'修改分区类型Command(mforhelp): t# 输入要修改的分区编号Partition number(1-4):1# 输入分区类型的十六进制代码(例如83表示Linux)Hex code(type L to list all codes):83# 输入'w'保存更改并退出Command(mforhelp): w

4. 设置活动分区

fdisk的交互式界面中,可以使用以下步骤设置活动分区:

# 启动fdisk交互式界面sudofdisk/dev/sdb# 输入'a'设置活动分区Command(mforhelp): a# 输入要设置为活动的分区编号Partition number(1-4):1# 输入'w'保存更改并退出Command(mforhelp): w

5. 备份和恢复分区表

可以使用dd命令备份和恢复分区表:

# 备份分区表sudoddif=/dev/sdbof=/backup/sdb_mbr.binbs=512count=1# 恢复分区表sudoddif=/backup/sdb_mbr.binof=/dev/sdbbs=512count=1

6. 自动化分区操作

可以使用shell脚本和Here Document自动化分区操作:

#!/bin/bash# 自动化分区脚本DEVICE="/dev/sdb"# 警告:此脚本会清除目标磁盘上的所有分区,请谨慎使用# 检查是否以root权限运行if["$(id-u)"!="0"];thenecho"此脚本需要以root权限运行"exit1fi# 分区操作echo"正在对$DEVICE进行分区..."sudofdisk$DEVICE<<EOF n p 1 +10G n p 2 +20G w EOFecho"分区完成!"# 查看新的分区表sudofdisk-l$DEVICE

四、实用技巧与常见问题

实用技巧

  1. 使用parted替代fdisk

对于大于2TB的磁盘或需要GPT分区表的情况,建议使用parted命令:

# 使用parted分区工具sudoparted/dev/sdb# 查看帮助(parted)help# 显示分区信息(parted)print# 创建GPT分区表(parted)mklabel gpt# 创建分区(parted)mkpart primary ext4 0GB 10GB# 退出(parted)quit
  1. 使用gdisk管理GPT分区

对于需要GPT分区表的情况,也可以使用gdisk命令,它的用法与fdisk类似:

# 使用gdisk管理GPT分区sudogdisk /dev/sdb# 查看帮助Command(?forhelp): ?# 显示分区信息Command(?forhelp): p# 创建新分区Command(?forhelp): n# 删除分区Command(?forhelp): d# 保存更改并退出Command(?forhelp): w
  1. 修复分区表

如果分区表损坏,可以尝试使用testdisk工具进行修复:

# 安装testdisksudoapt-getinstalltestdisk# Debian/Ubuntusudoyuminstalltestdisk# CentOS/RHEL# 启动testdisk进行分区表修复sudotestdisk
  1. 查看分区文件系统类型

可以使用blkid命令查看分区的文件系统类型:

# 查看分区文件系统类型sudoblkid /dev/sdb1# 查看所有分区的文件系统类型sudoblkid
  1. 在分区上创建文件系统

创建分区后,需要在分区上创建文件系统才能使用:

# 在分区上创建ext4文件系统sudomkfs.ext4 /dev/sdb1# 在分区上创建xfs文件系统sudomkfs.xfs /dev/sdb2# 在分区上创建FAT32文件系统sudomkfs.vfat -F32/dev/sdb3

常见问题

  1. 无法识别磁盘设备

问题描述:执行fdisk -l命令时,没有显示预期的磁盘设备。

解决方法

  • 检查磁盘是否正确连接:sudo lsblk
  • 检查磁盘是否被系统识别:sudo dmesg | grep sd
  • 对于USB磁盘,尝试重新插拔并检查系统日志
  1. 分区表被锁定

问题描述:执行fdisk命令时,出现"Device or resource busy"错误。

解决方法

  • 确保磁盘没有被挂载:sudo umount /dev/sdb*
  • 确保没有其他程序正在使用该磁盘:sudo lsof | grep /dev/sdb
  • 对于系统磁盘,可能需要从Live CD启动后再操作
  1. 无法创建大于2TB的分区

问题描述:使用fdisk创建分区时,无法创建大于2TB的分区。

解决方法

  • 这是MBR分区表的限制,MBR分区表最大支持2TB的磁盘
  • 对于大于2TB的磁盘,应该使用GPT分区表和gdiskparted命令
  • 使用parted创建GPT分区表:sudo parted /dev/sdb mklabel gpt
  1. 分区后无法挂载

问题描述:创建分区并格式化后,无法挂载该分区。

解决方法

  • 检查文件系统是否正确创建:sudo blkid /dev/sdb1
  • 确保挂载点存在:sudo mkdir -p /mnt/data
  • 尝试使用正确的文件系统类型挂载:sudo mount -t ext4 /dev/sdb1 /mnt/data
  • 检查分区表是否正确:sudo fdisk -l /dev/sdb
  1. 保存更改后分区表没有更新

问题描述:在fdisk中保存更改后,使用fdisk -l命令查看时,分区表没有更新。

解决方法

  • 重新加载分区表:sudo partprobe /dev/sdb
  • 尝试重启系统
  • 检查磁盘是否有硬件问题:sudo smartctl -a /dev/sdb

五、总结

fdisk命令是Linux系统中一个功能强大的分区管理工具,适用于创建、删除、调整和查看磁盘分区。通过本文的详细介绍和实例,相信您已经了解了fdisk命令的基本用法和一些高级技巧。

需要注意的是,fdisk命令主要适用于MBR分区表格式,对于大于2TB的磁盘或需要GPT分区表的情况,应该使用gdiskparted命令。此外,在使用fdisk命令操作磁盘分区时,一定要谨慎,因为任何错误的操作都可能导致数据丢失。

在实际工作中,fdisk命令常用于系统安装、磁盘管理和数据备份等场景。结合其他工具,如mkfsmountdd等,可以完成更复杂的磁盘管理任务。建议在使用fdisk命令之前,先备份重要数据,并确保您对Linux系统的分区管理有足够的了解。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/6 21:30:15

看懂了!开发ERP软件3种路径,被低估的那条最好用!

没错&#xff0c;开发ERP软件&#xff0c;可不全是哼哧哼哧写代码那种 在企业管理软件这个圈子里&#xff0c;“别自己开发ERP”几乎是一条铁律。 但问题是数字化项目最终失败的从来绕不开业务流程。 为什么这么说&#xff1f; 咱先把 ERP拆解开来看。 它无非是把销售、生产…

作者头像 李华
网站建设 2026/2/5 22:52:13

从卷发棒“黑科技”看造型技术革新,2026高质量卷发棒品牌推荐

随着“悦己消费”理念深化与护发科技迭代&#xff0c;卷发棒已从基础造型工具升级为兼具护发、高效、安全属性的必备个护单品。据《2026及未来5年中国卷发棒行业投资机会分析报告》显示&#xff0c;2023年中国卷发棒市场规模达85亿元&#xff0c;2026年预计突破115亿元&#xf…

作者头像 李华
网站建设 2026/2/3 20:53:37

小程序毕设项目推荐-面向Android的志愿者服务管理系统开发基于AndroidSSM框架的志愿者服务平台【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/2/5 5:34:52

小程序毕设项目推荐-基于微信小程序的医院医疗设备管理系统设计基于微信小程序的智能医疗管理系统设计与实现【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/2/10 2:36:32

【技术干货】从零开始构建完整智能体:6个关键步骤详解,建议收藏

文章介绍了搭建完整智能体的六大核心步骤&#xff1a;设计系统提示词定义角色行为、创建工具实现外部交互、配置模型参数确保一致性、定义响应格式获得可预测结果、添加记忆实现连续对话、最后组装运行智能体。通过这六个步骤&#xff0c;即使是简单的智能体也能实现基本功能&a…

作者头像 李华
网站建设 2026/2/6 0:32:07

收藏必备!多模态RAG系统实现详解:从文档解析到生成全流程

多模态RAG在传统RAG基础上增加了对图像、视频等多模态数据的处理能力&#xff0c;其实现流程包括文档解析&#xff08;提取不同模态数据并保留结构关联&#xff09;、入库与检索&#xff08;内容提取或多模态嵌入模型&#xff09;以及生成&#xff08;构建多模态上下文&#xf…

作者头像 李华