终端的硬盘序列号?

rɑː*_*dʒɑ 93 hardware hard-disk

我有多个硬盘连接到我的服务器,但我不确定 sdXY 中哪个是什么。如果我可以从终端看到我硬盘的序列号,我可以很容易地识别它们。

有什么办法可以从终端看到它们吗?

Joh*_*ann 95

另一个不需要 root 权限的解决方案:

udevadm info --query=all --name=/dev/sda | grep ID_SERIAL

这实际上是lsblk由 don_crissti 提到的利用的库,但我的 lsblk 版本不包括串行选项。

  • 如果您的硬盘已完全死机,则最佳解决方案。其他方法不起作用。 (2认同)
  • `grep ID_SCSI_SERIAL` 可能实际上给出了驱动器的**序列号**,而不是 `ID_SERIAL` 下报告的全球通用名称 (wwn)。 (2认同)

小智 63

在终端类型中:

# hdparm -I /dev/sd? | grep 'Serial\ Number'
Run Code Online (Sandbox Code Playgroud)

编辑:您也可以使用lshwsmartctl

  • 小白

    # lshw -class disk

  • 智能控制

    # smartctl -i /dev/sda

如果您缺少这些工具,只需安装以下软件包

# apt-get install hdparm
# apt-get install smartmontools
# apt-get install lshw
Run Code Online (Sandbox Code Playgroud)

  • 如果您的硬盘已完全损坏并且您正在查找故障单元的序列号,则不起作用。改用@Johann 的方法。 (3认同)

don*_*sti 46

设备1名称和对应的序列号:

lsblk --nodeps -o name,serial
Run Code Online (Sandbox Code Playgroud)

输出:

NAME SERIAL
sda  0000000012400917BA30
sdb  0000000012400917BA96
Run Code Online (Sandbox Code Playgroud)

添加-n,如果你不希望打印的标题行:

lsblk --nodeps -no name,serial
Run Code Online (Sandbox Code Playgroud)

输出:

sda  0000000012400917BA30
sdb  0000000012400917BA96
Run Code Online (Sandbox Code Playgroud)

device作为参数传递以仅获取特定设备的序列号:

lsblk --nodeps -no serial /dev/sda
Run Code Online (Sandbox Code Playgroud)

输出:

0000000012400917BA30
Run Code Online (Sandbox Code Playgroud)

请记住lsblk 列出有关所有可用(或指定)块设备的信息。现在,对于那些不知道最后一个术语意味着什么的人来说:
通常,块设备是存储或保存数据的设备。软盘驱动器、硬盘驱动器和 CD-ROM 驱动器都是块设备。但这在使用时不是问题,lsblk因为您可以简单地添加更多列,例如type(设备类型)和/或tran(设备传输类型)等:

lsblk --nodeps -no name,serial,type,tran
sda  0000000012400917BA30     disk sata
sdb  0000000012400917BA96     disk sata
sr0  4B583242334C453233353320 rom  usb
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这似乎需要来自 util-linux 2.24 或更高版本的 `lsblk`:https://github.com/karelzak/util-linux/commit/460c7afb79075bd5b39e7d4bc153aa41c939bab3 (10认同)

rɑː*_*dʒɑ 11

通过使用hdparm 您可以从终端看到您的硬盘序列号。

打开你的终端并输入

 hdparm -I /dev/sd?|grep -E "Number|/dev"
Run Code Online (Sandbox Code Playgroud)


Ed *_*lle 9

$ ls -al /dev/disk/by-id/*sda*
Run Code Online (Sandbox Code Playgroud)

这将根据熟悉的磁盘名称显示序列号。