如何在 Linux 中找到硬件型号?

Edu*_*scu 127 linux hardware system-information smbios dmidecode

我使用系统信息实用程序来获取系统和主板的型号。

DMI System Manufacturer     LENOVO
DMI System Product          2306CTO
DMI System Version          ThinkPad X230
DMI Motherboard Product     2306CTO  
Run Code Online (Sandbox Code Playgroud)

在这种情况下2306CTO,有没有办法在 Linux 中获取型号?

小智 153

使用dmidecode | grep -A3 '^System Information'命令。在那里您可以找到来自 BIOS 和硬件的所有信息。这些是在三台不同机器上的示例(这是完整输出的摘录):

System Information
    Manufacturer: Dell Inc.
    Product Name: Precision M4700

System Information
    Manufacturer: MICRO-STAR INTERANTIONAL CO.,LTD
    Product Name: MS-7368

System Information
    Manufacturer: HP
    Product Name: ProLiant ML330 G6
Run Code Online (Sandbox Code Playgroud)

  • FWIW,最好养成过滤特定 DMI 类型的习惯,而不是使用 `grep`。对于整体硬件模型,将是`dmidecode -t1`。这样你就有了一种从 dmidecode 中提取数据的简单方法,只需要记住常见的 DMI 类型。当检查 RAM 安装(`dmidecode -t17`)时,如果你关闭错误的数据,grep 会产生一些非常难看的输出,习惯就变得非常有用。另外,`-t` 的输出更完整 (30认同)
  • 注意:需要root。如果您想要在当前用户下您拥有权限的所有信息,请使用:`cat /sys/devices/virtual/dmi/id/*`(它确实允许您使用普通用户获取模型名称和排序) (18认同)

小智 40

尝试sudo dmidecode -t baseboard有关DMI完整信息牛逼有关您的踢脚线能的内容,在人类可读的形式。对于刚刚在系统产品名称,您可以使用(类型dmidecode -s得到的名单小号trings关键字):

sudo dmidecode -s system-product-name
sudo dmidecode -s baseboard-product-name
Run Code Online (Sandbox Code Playgroud)

主板信息的其他相关选项是

sudo dmidecode -s system-version
sudo dmidecode -s baseboard-version
sudo dmidecode -s system-manufacturer
sudo dmidecode -s baseboard-manufacturer
Run Code Online (Sandbox Code Playgroud)

尝试sudo dmidecode -s获取可用的系统 DMI 字符串的完整列表。


Mik*_*e S 29

作为记录,这些信息中的大部分都可以在现代 Linuces 上的 /sys/devices/virtual/dmi/id 下获得(即,至少从 2011 年开始),并且大部分信息 - 特别是不包括序列号 - 是普通用户可读的. 要回答原始海报的问题,product_name是包含系统模型名称的文件。

bios_date
bios_vendor
bios_version
board_asset_tag
board_name
board_serial
board_vendor
board_version
chassis_asset_tag
chassis_serial
chassis_type
chassis_vendor
chassis_version
modalias
power
product_name
product_serial
product_uuid
product_version
smbios_version
subsystem
sys_vendor
uevent
Run Code Online (Sandbox Code Playgroud)

这将是一个任何用户都可以运行的方便花花公子的脚本,以显示其优点:

#!/bin/bash

cd /sys/devices/virtual/dmi/id/
for f in *; do
        printf "$f "
        cat $f 2>/dev/null || echo "***_Unavailable_***"
done
Run Code Online (Sandbox Code Playgroud)

文件名中没有空格,因此这些信息很容易被诸如 awk 之类的实用程序操纵,用于您自己的邪恶目的!

  • 请注意,此 dmi 信息可能仅适用于基于 Intel 的 PC。我有一个由基于 Linux 的 ARM 计算机驱动的网络设备,dmicode 或 /sys 中的路径均不可用。 (3认同)
  • 惊人的!适用于非 root 的解决方案! (2认同)

spk*_*ane 16

在现代 Linux 系统上,您可以轻松地以任何用户身份执行以下操作:

cat /sys/devices/virtual/dmi/id/sys_vendor

cat /sys/devices/virtual/dmi/id/product_name

这也适用于 CoreOS,它不附带dmidecode.

注意:这已在其他答案/评论中提到,但希望在这里更明显,因为这是比使用dmidecode.


Sté*_*las 8

尝试:

sudo dmidecode -s baseboard-product-name
Run Code Online (Sandbox Code Playgroud)


Pab*_*o A 7

这里的每个人都在谈论伟大的dmidecode命令和-t参数,但sudo lshw -short您也可以轻松获得产品名称和型号:

$ sudo lshw -short
H/W path       Device     Class          Description
====================================================
                          system         UX303UB (ASUS-NotebookSKU)
/0                        bus            UX303UB
Run Code Online (Sandbox Code Playgroud)

获取硬件信息的其他重要命令:

  • inxi[-F] 多合一友好,用 Perl 编写。尝试inxi -SMG -! 31 -y 80
  • lscpu # 比 /proc/cpuinfo 更好
  • lsusb [-v]
  • lsblk[-a] # 比 df -h 好。块设备信息。
  • sudo hdparm /dev/sda1

  • @shadur 为什么你不赞成我?我以任何其他答案的方式回答这个问题,然后只提供额外有用的信息,什么是任何伟大的帖子的相当命令。 (3认同)

Peq*_*que 6

您可以使用:

dmidecode -t 1
Run Code Online (Sandbox Code Playgroud)

输出如下:

System Information
    Manufacturer: Dell Inc.
    Product Name: PowerEdge R210 II
    Version: Not Specified
    Serial Number: 1234ABC
    UUID: ABABABAB-0101-2323-5A5A-ABCDEF123456
    Wake-up Type: Power Switch
    SKU Number: Not Specified
    Family: Not Specified
Run Code Online (Sandbox Code Playgroud)