做 Linux 运维、调试服务器或者新装系统时,经常需要查看本机磁盘和分区布局。比如确认新增数据盘是否识别、核对分区表是 GPT 还是 MBR、获取分区 UUID 用于挂载配置。Linux 生态提供了非常多工具,既有简单直观的命令行,也有适合新手的图形界面。今天就把日常可用的各类方式整理出来,方便大家按需选用。
先搞懂:Linux 磁盘分区基础概念
磁盘分区,简单说就是把一块物理硬盘切分成多个逻辑区域,每一块就是一个分区。一块硬盘可以只分 1 个区,也可以划分多个分区。
传统 Linux 安装时,一般会规划三类分区:
- 根分区:挂载到
/,存放系统核心文件; - /home 分区:存放用户配置、个人数据;
- swap 交换分区:充当内存溢出时的虚拟内存。
分区使用前,必须完成文件系统格式化,常见格式如 ext4。
分区表记录保存在磁盘特定位置:BIOS 启动模式使用 MBR 主引导记录;UEFI 启动模式使用 GPT 分区表。开机时 BIOS/UEFI 读取分区表,找到 boot 分区,加载内核,完成系统启动流程。
Linux 磁盘设备命名规则
Linux 的磁盘命名和 Windows 盘符完全不一样,很多新手容易混淆,这里简单梳理:
/dev/sda:识别到的第一块 SATA/SCSI 硬盘;第二块硬盘就是/dev/sdb,以此类推。sd原本代表 SCSI 设备,现在 SATA 硬盘、U 盘也沿用这套命名。- 分区编号追加在磁盘名称后:
sda1代表第一块硬盘的 1 号分区,sda2是第一块硬盘 2 号分区;sdb1是第二块硬盘第一个分区。 - NVMe 固态硬盘命名有所区别,一般为
nvme0n1,分区格式为nvme0n1p1。 /dev/sr0代表光驱设备;老式软驱为/dev/fd0。
小提示:设备名有可能随插拔顺序发生变化,写
/etc/fstab挂载配置,优先使用 UUID 而不是设备名,稳定性更高。
命令行方式查看磁盘分区
1. lsblk(最推荐,树形输出,无需 root 也可运行)
lsblk 读取系统 sysfs 和 udev 数据库,用树形结构展示块设备,磁盘、分区、挂载点一目了然,日常排查首选。
直接运行:
lsblk
部分信息需要权限,也可以加 sudo:
sudo lsblk
如果只想看某一块磁盘,例如 sda:
lsblk /dev/sda
想要输出文件系统、UUID、型号等完整信息:
lsblk -io KNAME,TYPE,SIZE,MODEL,FSTYPE,UUID,MOUNTPOINT
或者使用‑fm 参数,同时显示权限、挂载信息:
lsblk -fm
输出里TYPE列,disk代表整块磁盘,part代表分区;MOUNTPOINT显示该分区挂载位置。loop 设备一般是 snap 包产生的回环设备,sr0 对应光驱 / ISO 镜像。
2. fdisk -l 查看分区表详细信息
fdisk 是老牌分区管理工具,‑l参数代表只打印信息,不会修改磁盘,需要 sudo 权限。可以看到扇区大小、分区表类型(GPT/MBR)、每个分区起止扇区。
查看全部磁盘:
sudo fdisk -l
指定查看单块磁盘:
sudo fdisk -l /dev/sda
注意:fdisk 对大于 2TB 磁盘支持有限,大容量硬盘优先用 parted 工具。
3. sfdisk:面向脚本的分区查看工具
sfdisk 和 fdisk 同源,更适合脚本自动化读取分区信息,用法几乎一致。
sudo sfdisk -l
# 指定磁盘
sudo sfdisk -l /dev/sda
4. cfdisk:交互式终端分区工具
cfdisk 是带交互界面的终端工具,运行后弹出文本 UI,可以浏览分区,也可以做分区编辑。仅浏览分区时不要执行写入操作。
sudo cfdisk
操作完成按q退出,不保存修改。默认打开/dev/sda磁盘。
5. blkid 获取分区 UUID、文件系统类型
blkid 重点输出每个块设备的 UUID、PARTUUID 以及文件系统类型,写挂载配置文件时经常用到。
sudo blkid
想要表格化输出,带上‑o list:
sudo blkid -o list
输出会显示设备路径、文件系统、挂载点、UUID 编号。
6. hwinfo 硬件信息工具查看块设备
hwinfo 属于第三方工具,默认不会预装,需要自行安装。适合批量查看硬件概况。
Ubuntu/Debian 安装:
sudo apt install hwinfo
简短输出磁盘与分区概览:
hwinfo --block --short
去掉‑‑short可以输出完整的硬件详情。
7. inxi 系统信息脚本
inxi 常用于论坛排错输出硬件报告,同样需要安装。
sudo apt install inxi
简易分区信息:
inxi -P
完整分区详情:
inxi -p
8. 读取 /proc/partitions 内核虚拟文件
procfs 是内核虚拟文件系统,/proc/partitions保存内核识别到全部块设备,不需要额外安装任何软件,脚本环境很实用。
cat /proc/partitions
输出包含主设备号、次设备号、块数量、设备名称。
9. parted 适配 2TB 以上大硬盘
parted 原生支持 GPT,专门适配容量大于 2TB 磁盘,‑l列出全部磁盘分区。
sudo parted -l
输出会打印磁盘型号、扇区大小、分区表类型、每个分区起止位置、文件系统与标志位。
图形界面工具(桌面版 Linux 适用)
如果你使用 Linux 桌面,不习惯敲命令,可以使用图形工具可视化查看分区。
10. GParted(Gnome 分区编辑器)
GParted 是 parted 的图形前端,可以查看、调整分区,修改操作有风险,只浏览则没有问题。
Debian/Ubuntu 安装:
sudo apt install gparted
安装完成后在应用菜单打开 GParted,右上角切换不同磁盘,就能直观看到分区大小、文件系统、挂载点。
⚠️提醒:不要随意点击删除、调整大小等按钮,误操作会丢失数据。
11. GNOME 磁盘(gnome‑disk‑utility)
GNOME 桌面环境一般自带这个工具,菜单叫「磁盘」。打开之后,左侧选择硬盘,右侧就会展示全部分区、设备路径、UUID、文件系统、挂载状态,开箱即用无需额外安装。
怎么选?简单选型建议
- 日常快速查看:优先 lsblk,输出清爽,大部分场景够用;
- 需要 UUID 配置挂载:用 blkid;
- 大于 2TB 大硬盘:使用 sudo parted -l;
- 脚本自动化解析:读取
/proc/partitions或者 sfdisk; - 桌面用户:直接打开 GNOME 磁盘或者 GParted。
写在最后
以上就是 Linux 下查看磁盘分区的主流方式,从内置命令到第三方工具,终端到图形界面都覆盖。这些查看类操作本身不会改动磁盘数据,大家可以放心测试;但分区、删除、调整大小操作务必谨慎,做好备份再动手。