news 2026/6/11 16:49:47

【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/6/6 20:41:15

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

【Linux命令大全】008.磁盘维护之losetup命令&#xff08;实操篇&#xff09; ✨ 本文为Linux系统磁盘维护命令的全面汇总与深度优化&#xff0c;结合图标、结构化排版与实用技巧&#xff0c;专为高级用户和系统管理员打造。 (关注不迷路哈&#xff01;&#xff01;&#xff01…

作者头像 李华
网站建设 2026/5/28 14:47:36

Postman的介绍和安装,发送带参数的GET请求

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 postman的介绍和安装 Postman的介绍 Postman 是一款谷歌开发的接口测试工具,使API的调试与测试更加便捷。 它提供功能强大的 Web API & HTTP 请求调试。…

作者头像 李华
网站建设 2026/5/30 17:47:02

产品管理系统怎么选?2026主流工具横评、场景适配与避坑

本文横评 10 款产品管理系统&#xff1a;ONES、Jira、Aha! Roadmaps、Productboard、Craft、airfocus、Azure DevOps Boards、Rally by Broadcom、Perforce P4 Plan、Jama Connect。帮你按企业痛点与成熟度建立选型框架&#xff0c;减少双系统维护、口径不一与治理失控的隐性成…

作者头像 李华
网站建设 2026/6/11 6:45:59

学习日记day71

Day71_0128 专注时间&#xff1a;目标是&#xff1a;5h30~6h。实际&#xff1a;274min。1.调整学习路线&#xff1b;2.调整算法学习方法&#xff1b;3.重视工程能力。 每日任务&#xff1a;饭后的休息&#xff08;25min&#xff09;&#xff0c;学习间歇的休息&#xff08;15…

作者头像 李华
网站建设 2026/5/28 14:47:42

告别APP堆砌!魔果云课让教学变轻松✨

谁懂啊家人们&#xff01;独立老师的日常就是和各种APP死磕&#x1f62d; ❌ 直播卡顿到静音&#xff0c;学员全在刷“听不见” ❌ 板书歪歪扭扭&#xff0c;自己都嫌潦草不专业 ❌ 课后跟家长掰扯半天&#xff0c;没数据没证据 ❌ 录课招生分开搞&#xff0c;来回切换累到炸 直…

作者头像 李华
网站建设 2026/6/4 6:00:08

在亚马逊卖爆后,它靠独立站和YouTube赚了16亿

想象一下&#xff0c;从手机软件里设计一个模型&#xff0c;点击打印&#xff0c;几天后&#xff0c;一个独一无二的潮玩手办、一副量身定制的眼镜框&#xff0c;甚至一个复杂的机器人零件&#xff0c;就能出现在你桌上。 这不再是科幻场景&#xff0c;而是全球数百万DIY爱好者…

作者头像 李华