一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux 中如何查看系统识别到的所有硬盘列表

时间:2026-08-07 14:59:48 编辑:袖梨 来源:一聚教程网

最可靠的方法是用 lsblk -d 或 fdisk -l,它们不依赖挂载状态,能列出物理磁盘本身(哪怕没分区、没格式化、没挂载);lsblk -d 专显顶层块设备,-d 参数仅显示磁盘;fdisk -l 需 root 权限但信息更底层全面;/proc/partitions 和 lshw 可交叉验证;df -h 不适用因只显示已挂载文件系统。

直接看系统识别到的所有硬盘,最可靠的方法是用 lsblk -dfdisk -l,它们不依赖挂载状态,能列出物理磁盘本身(哪怕没分区、没格式化、没挂载)。

用 lsblk -d 查所有物理硬盘

这个命令专为显示“顶层块设备”设计,-d 参数表示只显示磁盘(disk),不显示其下的分区(part):

  1. 运行 lsblk -d,输出中每一行 NAME 列以 sdasdbnvme0n1 等开头的,就是一块被内核识别的物理硬盘
  2. SIZE 列直接显示该硬盘总容量,比如 50G1T476.9G
  3. 如果看到 sr0sr1,那是光驱设备,不是硬盘,可忽略

用 fdisk -l 列出完整磁盘信息

需要 root 权限,但信息更底层、更全面:

  1. 执行 sudo fdisk -l,每一段以 Disk /dev/xxx: 开头的部分,就对应一块硬盘
  2. 它会同时显示型号(Disk model)、总字节数、扇区数、逻辑/物理扇区大小、分区表类型(MBR 或 GPT)
  3. 即使某块硬盘完全空白(无分区表),只要被 BIOS/UEFI 和内核识别,也会出现在列表里

补充验证:看 /proc/partitions 或 lshw

适合交叉确认或排查识别异常:

  1. cat /proc/partitions | grep -E '^[a-z]+[0-9]*$' —— 过滤出主设备名(如 sda、nvme0n1),排除分区编号(sda1、nvme0n1p1)
  2. sudo lshw -class disk -short —— 以简洁方式列出所有磁盘设备,含厂商和型号,对硬件排错很有用

注意区分:df -h 不适用

df -h 只显示已挂载的文件系统,未挂载、未分区、甚至已连接但未被识别的硬盘都不会出现。它反映的是“可用空间”,不是“物理存在”。

热门栏目