【51CTO.com快译】本文介绍了在Linux操作系统中查找硬盘详细信息的各种方法。使用以下方法,你可以找到硬盘型号、硬盘类型、大小、固件版本及其他硬件参数。我们先会看到如何使用hdparm命令行实用工具显示硬盘详细信息。
1. Hdparm
Hdparm是个命令行程序,用于获取或设置PATA、SATA、SAS和SSD设备的硬件参数。它接受连接到IDE、SATA,SAS接口的任何设备作为大容量存储介质,因此我们甚至还可以获取有关CD/DVD驱动器的信息。使用hdparm实用程序,我们可以调整硬盘或DVD驱动器、测试HDD或SSD速度、通过激活声学模式减小噪声、打开或关闭节能模式、启用或禁用睡眠模式、启用/禁用驱动器缓存甚至安全擦除驱动器。Hdparm由Mark Lord编写,他是Linux(E)IDE驱动程序的首席开发者和维护者,也是“libata”子系统的当前贡献者。
注意事项:虽然hdparm在提高磁盘性能方面有显著优势,但它也极其危险。某些参数被滥用时,它很可能导致大量数据丢失。hdparm文档建议不要在任何情况下使用一些命令。因此,本文排除了这类危险的命令。更重要的是,始终建议在Linux系统上试用hdparm之前备份硬盘内容。
1.1. 在Linux上安装hdparm
Hdparm预先安装在大多数Linux发行版中。如果因某种原因未包含在内,使用默认的软件包管理器在你的Linux系统上安装hdparm。
在Arch Linux或Manjaro Linux上:
- $ sudo pacman -S hdparm
在Debian、Ubuntu或Linux Mint上:
- $ sudo apt install hdparm
在Fedora、CentOS或RHEL上:
- $ sudo dnf install hdparm
在openSUSE上:
- $ sudo zypper install hdparm
1.2. 使用Hdparm在Linux中查找硬盘详细信息
要显示硬盘的详细信息,只需以拥有sudo或root权限的情况下运行hdparm,如下所示:
- $ sudo hdparm -I /dev/sda | less
这里,sda是我的硬盘。把它换成你自己的设备。在这里,我使用“less”命令用于交互式阅读。按回车键或按向上/向下箭头浏览输出的其余部分。完成后按q退出。
我的Ubuntu系统的输出示例:
- /dev/sda:
- ATA device, with non-removable media
- Model Number: ST9500325AS
- Serial Number: 5VEQTRV0
- Firmware Revision: D005DEM1
- Transport: Serial
- Standards:
- Used: unknown (minor revision code 0x0029)
- Supported: 8 7 6 5
- Likely used: 8
- Configuration:
- Logical max current
- cylinders 16383 16383
- heads 16 16
- sectors/track 63 63
- --
- CHS current addressable sectors: 16514064
- LBA user addressable sectors: 268435455
- LBA48 user addressable sectors: 976773168
- Logical/Physical Sector size: 512 bytes
- device size with M = 1024*1024: 476940 MBytes
- device size with M = 1000*1000: 500107 MBytes (500 GB)
- cache/buffer size = 8192 KBytes
- Nominal Media Rotation Rate: 5400
- Capabilities:
- LBA, IORDY(can be disabled)
- Queue depth: 32
- Standby timer values: spec'd by Standard, no device specific minimum
- R/W multiple sector transfer: Max = 16 Current = 16
- Advanced power management level: 254
- Recommended acoustic management value: 208, current value: 208
- DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
- Cycle time: min=120ns recommended=120ns
- PIO: pio0 pio1 pio2 pio3 pio4
- Cycle time: no flow control=120ns IORDY flow control=120ns
- [...]
图1.使用Hdparm在Linux中查找显示硬盘详细信息。
如你所见,hdparm显示了硬盘的型号、序列号、固件版本以及硬盘配置(没有柱面、磁头、扇区)、DMA设置、已启用功能列表和安全参数等。“Commands/features”部分下标以星号的所有功能都是目前活跃的功能。
同样,你可以查看其他设备的信息。
- $ sudo hdparm -I /dev/sdb | less
- $ sudo hdparm -I /dev/sdc | less
运行不带选项的hdparm时,默认使用-acdgkmur。查阅参考手册页,了解每个选项代表什么。
- $ sudo hdparm /dev/sda
- /dev/sda:
- multcount = 16 (on)
- IO_support = 1 (32-bit)
- readonly = 0 (off)
- readahead = 256 (on)
- geometry = 60801/255/63, sectors = 976773168, start = 0
想了解详细情况,请查阅参考手册页。
- $ man hdparm
2. lshw
lshw(硬件列表器)是一个简单但功能齐全的实用程序,提供了有关Linux系统硬件配置的详细信息。它可以报告具体的内存配置、固件版本、主板配置、CPU版本及速度、硬盘详细信息、高速缓存配置和总线速度等。
2.1. 在Linux中安装lshw
lshw默认情况下预装了一些Linux发行版,比如Ubuntu。万一它没有安装,使用默认软件包管理器在Linux设备中安装lshw,如下所示。
在Arch Linux和Manjaro Linux之类的衍生版上,运行:
- $ sudo pacman -S lshw
在Debian、Ubuntu或Linux Mint上:
- $ sudo apt install lshw
在Fedora、CentOS或RHEL上:
- $ sudo dnf install lshw
在openSUSE上:
- $ sudo zypper install lshw
2.2. 使用lshw在Linux中查找硬盘详细信息
安装lshw后,只需运行以下命令即可获取Linux中硬盘的详细信息:
- $ sudo lshw -class disk
示例输出:
- [...]
- -disk
- description: ATA Disk
- product: ST9500325AS
- physical id: 0
- bus info: scsi@0:0.0.0
- logical name: /dev/sda
- version: DEM1
- serial: 5VEQTRV0
- size: 465GiB (500GB)
- capabilities: partitioned partitioned:dos
- configuration: ansiversion=5 logicalsectorsize=512 sectorsize=512 signature=8dd04bfd
- [...]
图2. 使用lshw在Linux中查找硬盘详细信息。
只想显示磁盘名称,运行:
- $ sudo lshw -short -C disk
示例输出:
- H/W path Device Class Description
- ====================================================================
- /0/100/1d/1/1/6/0.0.0 /dev/sdb disk Multi-Card
- /0/100/1d/1/1/6/0.0.0/0 /dev/sdb disk
- /0/100/1f.2/0 /dev/sda disk 500GB ST9500325AS
- /0/100/1f.2/1 /dev/cdrom disk DVD+-RW DS-8A8SH
想了解详细情况,请查阅参考手册页。
- $ man lshw
3. inxi
inxi是另一个功能完备的命令行系统信息工具。它显示系统硬件、CPU、驱动程序、Xorg、桌面、内核、GCC版本、进程、内存使用情况及另外众多有用的信息。无论是硬盘、CPU、主板还是整个系统的完整详细信息,inxi都能在几秒钟内为你获取更准确的信息。
3.1. Linux中安装inxi
inxi也存在于大多数Linux发行版的默认存储库中。
如果是Arch Linux,它在AUR中。可使用任何AUR帮助程序来安装它,比如Yay。
- $ yay -S inxi
在Debian或Uubntu上:
- $ sudo apt install inxi
在Fedora上:
- $ sudo dnf install inxi
在CentOS或RHEL上:
使用以下命令启用[EPEL]存储库:
- $ sudo dnf install epel-release
- $ sudo dnf install inxi
在openSUSE上:
- $ sudo zypper install inxi
3.2. 使用inxi在Linux中查找硬盘详细信息
想获得Linux系统中已安装硬盘的详细信息,运行:
- $ inxi -D
示例输出:
- Drives: Local Storage: total: 465.76 GiB used: 376.31 GiB (80.8%)
- ID-1: /dev/sda vendor: Seagate model: ST9500325AS size: 465.76 GiB
图3. 使用inxi在Linux中查找硬盘详细信息。
不像Hdparm和lshw程序,它只显示硬盘的详细信息。Hdparm和lshw实用工具可以显示所有驱动器的详细信息,包括CD/DVD ROM。
想了解详细情况,请查阅参考手册页。
- $ man inxi
4. Smartctl
Smartclt是一款面向SMART磁盘的命令行控制和监控实用工具。它可控制内置到大多数ATA/SATA和SCSI/SAS硬盘以及固态硬盘中的自我监测、分析和报告技术(简称SMART)系统。Smartclt命令是smartmontools软件包的一部分,该软件包预先安装在大多数Linux版本中。
4.1. 使用Smartctl在Linux中查找硬盘详细信息
想获取Linux系统中硬盘的完整详细信息,运行:
- $ sudo smartctl -d ata -a -i /dev/sda
示例输出:
- smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-29-generic] (local build)
- Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
- === START OF INFORMATION SECTION ===
- Model Family: Seagate Momentus 5400.6
- Device Model: ST9500325AS
- Serial Number: 5VEQTRV0
- LU WWN Device Id: 5 000c50 048fe5ff9
- Firmware Version: D005DEM1
- User Capacity: 500,107,862,016 bytes [500 GB]
- Sector Size: 512 bytes logical/physical
- Rotation Rate: 5400 rpm
- Device is: In smartctl database [for details use: -P show]
- ATA Version is: ATA8-ACS T13/1699-D revision 4
- SATA Version is: SATA 2.6, 3.0 Gb/s
- Local Time is: Mon May 11 16:35:54 2020 IST
- SMART support is: Available - device has SMART capability.
- SMART support is: Enabled
- [...]
图4. 使用Smartctl在Linux中查找硬盘详细信息
想了解详细情况,请查阅参考手册页。
- $ man smartctl
5. GNOME Disks
Disks或Gnome-disk-utility是一款图形化用户界面程序,用于查看、修改或配置Linux系统中的可用存储设备和介质。如果你不习惯命令行方式,可以使用GNOME Disks来创建和恢复磁盘映像、分区和格式化硬盘、检查硬盘速度、基准测试硬盘及检查健康状况等。它预先安装在拥有GNOME桌面环境的所有Linux发行版中。
5.1. 使用GNOME Disks 在Linux中查找硬盘详细信息
从Menu或Dash启动Disks。它列出了你Linux系统中所有可用的磁盘和介质。
图5. 使用GNOME Disks 在Linux中查找硬盘详细信息。
但愿本文有所帮助。
原文标题:How To Find Hard Disk Drive Details In Linux,作者:SK
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】