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

如果您需要在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表。










