Linux磁盘管理基础_fdisk与lsblk使用说明【教程】

8次阅读

使用 lsblk 和 fdisk 可高效完成 Linux 磁盘识别与分区:lsblk 快速查看设备拓扑(含 UUID 用 -f),fdisk - l 解析分区表,fdisk 交互模式创建分区,partprobe 同步内核,gdisk 专用于 GPT 大容量磁盘。

Linux 磁盘管理基础_fdisk 与 lsblk 使用说明【教程】

如果您需要在 Linux 系统中查看磁盘布局并进行基础分区操作,则可能面临设备识别不清、分区表未显示或无法确认新 硬盘 状态等问题。以下是使用 fdisk 与 lsblk 完成磁盘管理基础任务的具体方法:

一、使用 lsblk 快速查看磁盘拓扑结构

lsblk 命令以树状形式列出所有块设备及其挂载状态,不依赖分区表完整性,响应快且无需 root 权限即可获取设备名称、大小、挂载点和子分区关系,适合初步识别物理磁盘与逻辑分区的层级。

1、在终端中直接执行:lsblk

2、若需显示 UUID 和文件系统类型,追加参数:lsblk -f

3、如仅关注未挂载磁盘,过滤输出:lsblk | grep -E “^[a-z]+[0-9]*$”(排除带缩进的子行)。

4、确认新添加硬盘是否被识别:观察输出中是否存在未编号的原始设备(如 sdb、vdb),且无子分区项(即无 sdb1、vdb1 等)。

二、使用 fdisk - l 列出详细分区表信息

fdisk - l 用于读取并解析磁盘的 MBR 或 GPT 分区表元数据,可显示起始扇区、结束扇区、容量、分区 ID 及系统类型,是判断分区是否创建成功、格式是否兼容的关键依据。

1、查看全部磁盘分区概况:sudo fdisk -l

2、针对单个设备精确查询(避免干扰):sudo fdisk -l /dev/sdb(将 sdb 替换为实际设备名)。

3、若输出中显示“Disk label type: dos”表示使用 MBR 分区表;若显示“Disk label type: gpt”,则需注意 fdisk 对 GPT 编辑能力有限,建议改用 gdisk。

4、检查分区状态时,重点关注“Device”列是否出现带数字后缀的条目(如 /dev/sdc1),以及“System”列是否标识为“Linux filesystem”(ID 83)或其它预期类型。

三、进入 fdisk 交互模式进行分区操作

当确认存在未分区磁盘后,可通过 fdisk 交互界面创建主分区或扩展分区。该过程直接修改磁盘首扇区的分区表,操作不可逆,必须谨慎核对设备路径。

1、启动交互模式:sudo fdisk /dev/sdb(请确保 /dev/sdb 确为待分区目标盘,误选系统盘将导致系统无法启动)。

2、输入 m 查看可用命令列表。

3、输入 n 新建分区,随后按提示选择主分区(p)或扩展分区(e)。

4、指定分区号(如 1)、起始扇区(直接回车使用默认值)、结束位置(可输 +2G 表示分配 2GB 空间)。

5、输入 p 预览分区结果,确认无误后输入 w 写入并退出;若中途放弃,输入 q 不保存退出。

四、验证分区是否生效

分区操作完成后,内核可能未立即重读分区表,需手动触发同步或重启设备识别链,否则后续格式化或挂载会失败。

1、强制内核重读分区表:sudo partprobe /dev/sdb

2、再次运行lsblk,确认 sdb 下已出现 sdb1 等子设备节点。

3、执行sudo fdisk -l /dev/sdb,检查输出中是否包含新创建的分区条目及正确容量。

4、若仍无显示,尝试重新插拔硬盘(适用于热插拔设备)或重启系统(适用于 虚拟机 新增磁盘场景)。

五、区分 fdisk 与 gdisk 适用场景

fdisk 原生支持 MBR 分区表,对 2TB 以上大容量磁盘存在寻址限制;gdisk 专为 GPT 设计,支持 UEFI 启动与超大容量,二者不可混用同一磁盘的分区表类型。

1、判断当前磁盘分区表类型:sudo fdisk -l /dev/sdb | grep “Disk label type”

2、若显示“dos”,应继续使用 fdisk;若显示“gpt”,且需创建 / 修改分区,应改用sudo gdisk /dev/sdb

3、对已存在 GPT 表的磁盘强行使用 fdisk 写入,可能导致分区表损坏或引导失败。

4、新磁盘初始化时,如需兼容传统 BIOS 且容量≤2TB,优先使用 fdisk;如面向 UEFI 或容量>2TB,应使用 gdisk 初始化 GPT 表。

text=ZqhQzanResources