如何在Linux中查看磁盘详细信息,例如制造商


59

sfdisk -s我可以看到磁盘容量如下:

$ sfdisk -s
/dev/cciss/c0d0: 143338560
total: 143338560 blocks

我如何查看磁盘详细信息,例如磁盘制造商?我试过了hdparm,但是出现了一个错误:

$ hdparm -i  /dev/cciss/c0d0
/dev/cciss/c0d0:
HDIO_GET_IDENTITY failed: Inappropriate ioctl for device

Answers:


63

尝试以下命令:

lshw -class disk  

hwinfo --disk

您可能需要安装hwinfo

关于hdparm
hdparm(8)说:

Although this utility is intended primarily for use with SATA/IDE hard disk 
devices, several of the options are also valid (and permitted) for use with 
SCSI hard disk devices and MFM/RLL hard disks with XT interfaces.

和:

Some options (eg. -r for SCSI) may not work with old kernels as necessary 
ioctl()´s were not supported.

我的linux中未安装命令hwinfo&lshw

您能否提供有关系统的更多信息?
wag 2010年

@jennifer:至少安装其中之一!他们返回的所有信息都可以在其他位置获得,但是它们的优点是可以从许多不同的地方收集所有信息。
吉尔斯(Gilles)2010年

lshw -class disk以普通用户身份运行命令不会在磁盘上显示信息(Ubuntu 15.04)。希望最下面的一行显示“警告:输出可能不完整或不正确,您应该以超级用户身份运行此程序。” 使用再次运行sudo可修复问题:-)
olibre 2015年


33

您可以直接通过sysfs读取磁盘属性,也可以检查/ sys / class / block / sda / device /中的其他文件/目录(将sda替换为所需的驱动器)。

cat /sys/class/block/sda/device/{model,vendor} 

我没有阻止目录

1
也许使用最新的内核,您正在使用什么发行版?试试看dmesg | less,应该看到磁盘被探测了。
OneOfOne 2010年

@jennifer: cat /sys/block/sd?/device/{model,vendor}/sys/class/block只出现相当最近,和你的分布是有点老了)。
吉尔斯(Gilles)2010年

13

尝试运行smartctl -a /dev/hda(在您的情况下可以是sda;cat /proc/partitions将向您显示要使用的设备类型)

在您的情况下,它位于cciss控制器后面,因此该选项应为-d cciss,0或类似。


7

我知道这些答案已有3年历史了,但对于任何环顾四周的人...在较旧的版本中,您可以在(?应该是一个数字)下找到该答案:

/sys/class/scsi_device/?:?:?:?/device/model

通过做这个:

cat /sys/class/scsi_device/0\:0\:0\:0/device/{model,vendor}

(零后面的反斜杠用于转义特殊char :。)


1

gnome-disks

无论是gnome-disks或在Ubuntu 18.10破折号只是“磁盘”:

在此处输入图片说明

这表明我的Lenovo ThinkPad P51中有一个SAMSUNG MZVLB512HAJQ-000L7

TODO原因:由于某种原因,我的SSD型号在以下两个方面均未清晰显示:

sudo lshw -class disk
sudo hwinfo --disk
  • lshw 根本没有固态硬盘,只有我的硬盘

  • hwinfo 确实显示了两者,但是对于SSD来说:

    Model: "Samsung Electronics Disk"
    

    对于高清,它包含实际模型...

    Model: "ST1000LM035-1RK1"
    

来自https://unix.stackexchange.com/a/5087/32558的该代码有效:

cat /sys/block/nvme0n1/device/model

0

lsblk(列表块)

您可以使用lsblk命令:

$ lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MODEL

NAME        FSTYPE LABEL   MOUNTPOINT                      SIZE MODEL
...
nvme0n1                                                  119.2G TS128GMTE110S                           
├─nvme0n1p1 vfat           /boot/efi                       512M 
└─nvme0n1p2 ext4           /                             118.8G 

消息灵通,我的NVMe SSD是Transced 110S 128GB(TS128GMTE110S)


-2

lssd命令也可以为您提供帮助。


您能否提供一些示例输出或在哪里可以找到此工具的说明?例如,它在我的Fedora 20系统中不可用。
slm

@slm是来自HP的fibreutils软件包的一部分。
Anthon 2014年

@Anthon-那它不是标准的Linux软件包吗?
slm

@slm我很确定我曾经使用过的RedHat机器上有它。这是一个bash脚本,但是我已经很多年没有使用它了。它调用scsi_info了我在Ubuntu系统上根本没有的功能。
Anthon 2014年

@slm更正,我有scsi_info的源,RPM随附。只是没有编译/安装。
Anthon 2014年

-3

以root用户身份尝试此命令。

hpacucli ctrl all show config detail

2
这是特定于hp raid控制器的命令-因此此处无用
geruetzel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.