Linux中查看磁盘分区的4种方法详解
作者:遇见火星
在Linux系统管理与维护中,无论是进行磁盘空间分析、系统性能优化,还是进行分区规划,都需要准确掌握系统中的存储设备结构。本文将详细介绍四种常用的磁盘分区查看方法,涵盖命令行工具与图形界面工具。
1.使用fdisk命令:经典的分区表管理工具
fdisk 是Linux系统中历史最悠久、使用最广泛的分区表操作工具之一,几乎所有Linux发行版都预装了此工具。
1.1基本使用方法
查看系统中所有磁盘的分区信息:
fdisk -l
1.2命令输出解读
执行上述命令后,将看到类似以下的信息:
[ymadmin@backup ~]$ sudo fdisk -l Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors Disk model: INTEL SSDPEKNU512GZH Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: DC05CB84-9737-40EF-B866-68C299246539 Device Start End Sectors Size Type /dev/nvme0n1p1 2048 1230847 1228800 600M EFI System /dev/nvme0n1p2 1230848 3327999 2097152 1G Linux filesystem /dev/nvme0n1p3 3328000 213043199 209715200 100G Linux filesystem /dev/nvme0n1p4 213043200 246597631 33554432 16G Linux swap /dev/nvme0n1p5 246597632 1000214527 753616896 359.4G Linux filesystem Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors Disk model: WDC WD10EZEX-00B Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: A9002B73-B2A7-491D-9FFC-84B45351C365 Device Start End Sectors Size Type /dev/sda1 2048 1953525134 1953523087 931.5G Linux LVM Disk /dev/mapper/data_vg-data_lv: 931.51 GiB, 1000198897664 bytes, 1953513472 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes [ymadmin@backup ~]$
主要信息包括:
(一)磁盘基本信息
(1)设备标识:/dev/nvme0n1 (NVMe固态硬盘) 和 /dev/sda (SATA机械硬盘)
(2)容量表示:同时显示GiB(二进制千兆字节)和bytes(字节)两种单位
/dev/nvme0n1: 476.94 GiB (512,110,190,592 字节)/dev/sda: 931.51 GiB (1,000,204,886,016 字节)
(3)扇区总数:磁盘总容量换算为512字节扇区的数量
(4)磁盘型号:具体的硬件型号信息
(二)技术参数
(1)扇区单位:
Units: sectors of 1 * 512 = 512 bytes,表示每个扇区512字节,这是磁盘寻址的基本单位。
(2)扇区大小:
逻辑扇区:操作系统识别的扇区大小(通常为512字节)
物理扇区:磁盘实际的物理扇区大小
- NVMe盘:512字节/512字节(传统格式)
- SATA盘:512字节/4096字节(4K高级格式)
(3)I/O大小:操作系统与磁盘通信的最佳块大小
- NVMe盘:512字节/512字节
- SATA盘:4096字节/4096字节(已针对4K扇区优化)
(三)分区表信息
(1)分区表类型:Disklabel type: gpt
- 两块磁盘均采用GPT(GUID分区表),这是现代UEFI系统的标准
- 相比传统的MBR,GPT支持更大容量(>2TB)和更多分区
(2)磁盘标识符:Disk identifier: ...
- GPT磁盘的唯一GUID标识符
- 格式为32位十六进制数(8-4-4-4-12)
其它信息这里略过。
1.3查看特定磁盘
如果只想查看特定磁盘的信息,可以指定设备路径:
sudo fdisk -l /dev/sda
比如,查看/dev/sda磁盘:
[ymadmin@backup ~]$ sudo fdisk -l /dev/sda [sudo] password for ymadmin: Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors Disk model: WDC WD10EZEX-00B Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: A9002B73-B2A7-491D-9FFC-84B45351C365 Device Start End Sectors Size Type /dev/sda1 2048 1953525134 1953523087 931.5G Linux LVM [ymadmin@backup ~]$
1.4适用场景
- 需要进行分区操作前的信息确认
- 需要查看详细的分区表结构
- 在无图形界面的服务器环境中使用
2.使用lsblk命令:直观的块设备查看器
lsblk(list block devices)是专门为列出块设备信息设计的工具,它默认以树状结构展示设备间的层次关系,输出直观易懂。
2.1基本使用方法
lsblk
典型输出示例:
[ymadmin@backup ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 931.5G 0 disk `-sda1 8:1 0 931.5G 0 part `-data_vg-data_lv 253:0 0 931.5G 0 lvm /data nvme0n1 259:0 0 476.9G 0 disk |-nvme0n1p1 259:1 0 600M 0 part /boot/efi |-nvme0n1p2 259:2 0 1G 0 part /boot |-nvme0n1p3 259:3 0 100G 0 part / |-nvme0n1p4 259:4 0 16G 0 part [SWAP] `-nvme0n1p5 259:5 0 359.4G 0 part /data01 [ymadmin@backup ~]$
2.2常用参数选项
(1)查看文件系统信息:
lsblk -f
[ymadmin@backup ~]$ lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS sda `-sda1 LVM2_member LVM2 001 gLA4qa-oEXA-IbDa-bN6B-HY6t-CIcr-RuL3f2 `-data_vg-data_lv xfs eed8af6c-a5b1-4cb4-9f54-414508ed51c6 861.1G 8% /data nvme0n1 |-nvme0n1p1 vfat FAT32 034E-53DA 591.8M 1% /boot/efi |-nvme0n1p2 xfs 5ae0f4b9-7ade-4ffc-b473-13dfded35103 633.5M 34% /boot |-nvme0n1p3 xfs 315b1bd4-44bc-4901-9010-de4b091088b0 87.2G 13% / |-nvme0n1p4 swap 1 a6edc51b-4034-4fc0-92d3-e75a3687cd80 [SWAP] `-nvme0n1p5 xfs ada01fb8-5e5e-4841-8da1-394f5c374eff 356.4G 1% /data01 [ymadmin@backup ~]$
(2)自定义输出列:
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,LABEL,UUID
[ymadmin@backup ~]$ lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,LABEL,UUID NAME SIZE TYPE FSTYPE MOUNTPOINT LABEL UUID sda 931.5G disk `-sda1 931.5G part LVM2_member gLA4qa-oEXA-IbDa-bN6B-HY6t-CIcr-RuL3f2 `-data_vg-data_lv 931.5G lvm xfs /data eed8af6c-a5b1-4cb4-9f54-414508ed51c6 nvme0n1 476.9G disk |-nvme0n1p1 600M part vfat /boot/efi 034E-53DA |-nvme0n1p2 1G part xfs /boot 5ae0f4b9-7ade-4ffc-b473-13dfded35103 |-nvme0n1p3 100G part xfs / 315b1bd4-44bc-4901-9010-de4b091088b0 |-nvme0n1p4 16G part swap [SWAP] a6edc51b-4034-4fc0-92d3-e75a3687cd80 `-nvme0n1p5 359.4G part xfs /data01 ada01fb8-5e5e-4841-8da1-394f5c374eff [ymadmin@backup ~]$

(3)显示完整设备路径:
lsblk -p
[ymadmin@backup ~]$ lsblk -p NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS /dev/sda 8:0 0 931.5G 0 disk `-/dev/sda1 8:1 0 931.5G 0 part `-/dev/mapper/data_vg-data_lv 253:0 0 931.5G 0 lvm /data /dev/nvme0n1 259:0 0 476.9G 0 disk |-/dev/nvme0n1p1 259:1 0 600M 0 part /boot/efi |-/dev/nvme0n1p2 259:2 0 1G 0 part /boot |-/dev/nvme0n1p3 259:3 0 100G 0 part / |-/dev/nvme0n1p4 259:4 0 16G 0 part [SWAP] `-/dev/nvme0n1p5 259:5 0 359.4G 0 part /data01 [ymadmin@backup ~]$
(4)以JSON格式输出(便于脚本处理):
lsblk -J
[ymadmin@backup ~]$ lsblk -J
{
"blockdevices": [
{
"name": "sda",
"maj:min": "8:0",
"rm": false,
"size": "931.5G",
"ro": false,
"type": "disk",
"mountpoints": [
null
],
"children": [
{
"name": "sda1",
"maj:min": "8:1",
"rm": false,
"size": "931.5G",
"ro": false,
"type": "part",
"mountpoints": [
……2.3实用技巧
(1) 仅显示磁盘设备(不显示分区)
[ymadmin@backup ~]$ lsblk -d NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 931.5G 0 disk nvme0n1 259:0 0 476.9G 0 disk [ymadmin@backup ~]$
上面命令只显示了两个磁盘的基本信息,当磁盘很多时,这很方便:

(2)以字节为单位显示大小
[ymadmin@backup ~]$ lsblk -b NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 1000204886016 0 disk `-sda1 8:1 0 1000203820544 0 part `-data_vg-data_lv 253:0 0 1000198897664 0 lvm /data nvme0n1 259:0 0 512110190592 0 disk |-nvme0n1p1 259:1 0 629145600 0 part /boot/efi |-nvme0n1p2 259:2 0 1073741824 0 part /boot |-nvme0n1p3 259:3 0 107374182400 0 part / |-nvme0n1p4 259:4 0 17179869184 0 part [SWAP] `-nvme0n1p5 259:5 0 385851850752 0 part /data01 [ymadmin@backup ~]$
(3)查看SCSI设备信息
[ymadmin@backup ~]$ lsblk -S NAME HCTL TYPE VENDOR MODEL REV SERIAL TRAN sda 5:0:0:0 disk ATA WDC WD10EZEX-00BBHA0 1A01 WD-WCC6Y3UL5624 sata [ymadmin@backup ~]$
2.4适用场景
- 快速了解系统磁盘分区结构
- 查看设备间的层次关系
- 在脚本编程中获取设备信息
3.使用hwinfo命令:全面的硬件信息查询工具
hwinfo 是一个功能强大的硬件信息查询工具,它不仅提供存储设备信息,还能显示系统中所有硬件的详细信息。
3.1安装方法
如果在系统里找不到hwinfo命令,则执行以下命令安装它,根据不同的Linux发行版,安装命令有所不同:
# Debian/Ubuntu/Mint系列 sudo apt install hwinfo # RHEL/CentOS/Fedora/Rocky Linux/AlmaLinux系列 sudo yum install hwinfo # 或 sudo dnf install hwinfo

3.2使用方法
(1)查看磁盘详细信息:
sudo hwinfo --disk
如下,该命令检测到两块磁盘:一块512GB Intel NVMe固态硬盘(型号SSDPEKNU512GZH,序列号BTKA2122092Q512A)通过PCIe总线连接,以及一块1TB西部数据机械硬盘(型号WD10EZEX-00B,序列号WD-WCC6Y3UL5624)通过SATA接口连接,两块磁盘均被系统正常识别。
[ymadmin@backup ~]$ sudo hwinfo --disk [sudo] password for ymadmin: 24: NVME 00.0: 10600 Disk [Created at block.255] Unique ID: GP4z.WR9oRi9OoD8 Parent ID: bGtE.HH1M6tPWMm8 SysFS ID: /class/block/nvme0n1 SysFS BusID: nvme0 SysFS Device Link: /devices/pci0000:00/0000:00:0e.0/pci10000:e0/10000:e0:1d.4/10000:e1:00.0/nvme/nvme0 Hardware Class: disk Model: "Intel INTEL SSDPEKNU512GZH" Vendor: pci 0x8086 "Intel Corporation" Device: pci 0xf1aa "INTEL SSDPEKNU512GZH" SubVendor: pci 0x8086 "Intel Corporation" SubDevice: pci 0x390f Serial ID: "BTKA2122092Q512A" Driver: "nvme" Driver Modules: "nvme" …… 25: IDE 500.0: 10600 Disk [Created at block.255] Unique ID: 3OOL.bS3gg88bMa8 Parent ID: gf9x.+ek8g6CkZC1 SysFS ID: /class/block/sda SysFS BusID: 5:0:0:0 SysFS Device Link: /devices/pci0000:00/0000:00:0e.0/pci10000:e0/10000:e0:17.0/ata6/host5/target5:0:0/5:0:0:0 Hardware Class: disk Model: "WDC WD10EZEX-00B" Vendor: "WDC" Device: "WD10EZEX-00B" Revision: "1A01" Serial ID: "WD-WCC6Y3UL5624" Driver: "ahci", "sd" Driver Modules: "ahci", "sd_mod" ……
(2)简洁模式显示磁盘信息:
sudo hwinfo --disk --short
[ymadmin@backup ~]$ sudo hwinfo --disk --short disk: /dev/nvme0n1 Intel INTEL SSDPEKNU512GZH /dev/sda WDC WD10EZEX-00B [ymadmin@backup ~]$
(3)查看所有块设备概要:
sudo hwinfo --short --block
[ymadmin@backup ~]$ sudo hwinfo --short --block disk: /dev/nvme0n1 Intel INTEL SSDPEKNU512GZH /dev/sda WDC WD10EZEX-00B partition: /dev/nvme0n1p1 Partition /dev/nvme0n1p2 Partition /dev/nvme0n1p3 Partition /dev/nvme0n1p4 Partition /dev/nvme0n1p5 Partition /dev/sda1 Partition [ymadmin@backup ~]$
3.3输出特点
hwinfo输出的信息非常详尽,包括:
- 硬件厂商和具体型号
- 设备驱动信息
- 物理特性(如转速、缓存大小、接口类型等)
- 固件/BIOS版本
- 设备唯一标识符
- SMART健康状态信息
3.4适用场景
- 硬件故障排查和诊断
- 系统硬件信息收集与归档
- 需要了解硬盘物理特性的场合
4.使用图形界面工具:直观的可视化查看
对于 Linux 桌面用户,可通过图形界面工具直观查看磁盘与分区。通常在系统菜单中搜索 “磁盘”(或 “Disks”)即可找到相应应用,打开后即可浏览当前连接的磁盘及其分区情况。

5.工具对比
| 工具 | 主要优势 | 最佳适用场景 | 是否需要root权限 |
|---|---|---|---|
| fdisk | 信息详细、功能经典、系统自带 | 服务器环境、分区操作前检查 | 是 |
| lsblk | 输出直观、树状结构、脚本友好 | 日常查看、脚本编程、快速了解结构 | 通常不需要 |
| hwinfo | 信息最全面、包含硬件细节 | 硬件诊断、信息收集、故障排查 | 是 |
| 图形工具 | 可视化界面、操作直观、适合新手 | 桌面环境、教学演示、直观查看 | 部分操作需要 |
6.实用工作流程建议
6.1日常快速检查
第一步:快速查看磁盘分区结构
lsblk
第二步:如有需要,查看更详细的分区信息
sudo fdisk -l
6.2硬件故障排查
第一步:查看硬件识别情况
sudo hwinfo --disk --short
第二步:检查分区表
sudo fdisk -l /dev/sda
第三步:查看系统日志
sudo dmesg | grep -i disk sudo journalctl -k | grep -i sda
6.3脚本编程
使用lsblk的JSON输出格式或使用可解析的文本格式:
lsblk -J > disk_info.json lsblk -o NAME,SIZE,TYPE,MOUNTPOINT -n > disk_list.txt
7.常见问题与解决方案
7.1新硬盘不显示分区
# 检查内核是否识别到硬盘 sudo dmesg | tail -20 # 查看所有块设备 lsblk # 如果设备存在但无分区,可能需要创建分区表 # 警告:此操作会清除所有数据! # sudo fdisk /dev/sdb
7.2查看特定类型的分区
# 只查看ext4分区 lsblk -f | grep ext4 # 查看所有挂载的分区 findmnt

7.3获取分区UUID

# 方法一:使用lsblk lsblk -f # 方法二:使用blkid sudo blkid # 方法三:查看/dev/disk/by-uuid/ ls -l /dev/disk/by-uuid/
以上就是Linux中查看磁盘分区的4种方法详解的详细内容,更多关于Linux查看磁盘分区的资料请关注脚本之家其它相关文章!
