当前位置:首页 > 技术 > 正文内容

Linux磁盘分区管理工具fdisk详解

访客 技术 2026年7月11日 4

fdisk命令基础用法

fdisk [选项] <设备路径> 用于编辑磁盘的分区表,支持DOS、BSD及Sun风格的分区结构。对于超过2TB容量的硬盘,应使用 gdisk 工具。

常用选项说明

  • -l:列出指定设备的所有分区信息
  • -s <分区>:以扇区为单位输出指定分区大小
  • -b <size>:设置扇区大小(512、1024、2048或4096字节)
  • -u:以扇区编号代替柱面编号显示分区位置
  • -c:禁用DOS兼容模式
  • -C <num>:指定柱面数量
  • -H <num>:设定磁头数
  • -S <num>:设定每磁道扇区数

交互式菜单操作

命令功能描述
p显示当前分区表
n创建新分区(主分区或逻辑分区)
d删除指定分区
t更改分区类型标识符
a切换活动分区标记
l列出所有已知的分区类型
w保存修改并退出
q放弃修改并退出
m显示帮助信息
u切换显示单位(柱面/扇区)
v验证分区表完整性
x进入专家模式(高级功能)

设备命名规范

在现代系统中:

  • sda 表示第一块SATA或SCSI接口硬盘
  • hda 代表传统的IDE接口硬盘
  • 后缀数字表示分区编号,如 sda1 是第一块硬盘的第一个分区

实例演示

1. 查看所有磁盘分区详情

# fdisk -l /dev/sda
Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
/dev/sda2              64       13055   104344576   8e  Linux LVM

2. 使用扇区单位查看分区布局

# fdisk -lu /dev/sda
Disk /dev/sda: 107.4 GB, 107374182400 bytes
...
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   209715199   104344576   8e  Linux LVM

3. 新建分区流程

[root@host ~]# fdisk /dev/sdb
Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-4194303, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +10G

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

4. 删除与修改分区类型

Command (m for help): d
Partition number (1-4): 1

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): b
Changed system type of partition 1 to b (W95 FAT32)

5. 分区变更生效方法

当对正在使用的磁盘进行分区操作时,内核可能仍使用旧的分区表,需手动刷新:

  • 重启系统(最稳妥方式)
  • 执行 partprobe /dev/sdb 刷新分区表
  • 或使用 kpartx -a /dev/sdb 处理映像文件场景
  • partx -a /dev/sdb 可添加新分区,partx -d /dev/sdb 可删除

注意:partprobe 仅更新分区表信息;而 kpartx 主要用于处理加密镜像或容器中的分区映射。

标签: fdiskLinux

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。