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

DMI System Manufacturer     LENOVO
DMI System Product          2306CTO
DMI System Version          ThinkPad X230
DMI Motherboard Product     2306CTO  


在这种情况下,是否可以获取型号? 2306CTO,在Linux中?

评论

看看这个

为了清楚起见,您似乎对硬件产品感兴趣,而不是对主板感兴趣。例如,“ ThinkPad X230”是不是主板的一种计算机。

您还可以通过运行dmesg命令或检查/ var / log / dmesg *来获得一些信息,而无需额外的软件包。

知道您使用的是什么“系统信息实用程序”,这将是很高兴的。

#1 楼

使用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


评论


FWIW,最好是养成过滤特定DMI类型而不是使用grep的习惯。对于整体硬件模型,该模型将为dmidecode -t1。这样,您就可以采用简单的方式从dmidecode中提取数据,并且只需要记住常见的DMI类型。当检查RAM安装(dmidecode -t17)时,如果您输入错误的数据,grep可能会产生一些非常难看的输出,则习惯变得非常有用。另外,-t的输出更完整

–布拉奇利
13年5月14日在10:49



@JoelDavis,我之前不知道这些选项。我会用它们。谢谢。

–eppesuig
13年5月14日在12:30

注意:需要root。如果要在当前用户下拥有所有权限的信息,请使用:cat / sys / devices / virtual / dmi / id / *(并且它允许您使用普通用户获取型号名称和排序)

– qwertzguy
2015年1月22日4:58



在没有grep参数的情况下对dmidecode的输出进行配管很有趣,但并不是获取信息的最有效方法。 dmidecode可以通过指定'system-product-name'关键字字符串来精确打印OP的要求:sudo dmidecode -s system-product-name

– cjac
16年11月21日在21:43

我认为值得注意的是,较早的系统没有dmidecode上的标志,甚至没有手册页。我认为,以上答案是此处最适合Linux的答案。当然,-t和-s标志在较新的系统上很有用。

–约书亚·德特维尔(Joshua Detwiler)
18年6月20日在20:16



#2 楼

尝试sudo dmidecode -t baseboard以易于阅读的形式获取与您的底板有关的DMI表内容的完整信息。对于系统产品名称,您可以使用任何一个(键入dmidecode -s来获取字符串关键字列表):

sudo dmidecode -s system-product-name
sudo dmidecode -s baseboard-product-name


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

sudo dmidecode -s system-version
sudo dmidecode -s baseboard-version
sudo dmidecode -s system-manufacturer
sudo dmidecode -s baseboard-manufacturer


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

#3 楼

作为记录,很多信息可以在现代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


这是任何用户都可以运行的便捷脚本,要显示其优点:

#!/bin/bash

cd /sys/devices/virtual/dmi/id/
for f in *; do
        printf "$f "
        cat $f 2>/dev/null || echo "***_Unavailable_***"
done


文件名中没有空格,因此出于您自己的邪恶目的,这些信息可以很容易地被awk等实用程序操纵! >

评论


太好了,这对于基于Linux的大多数来说都是很棒的,如果找不到工具,则所需的东西(操作系统,硬件信息)在/ sys或/ proc中。谢谢

–爱德华(Eduard Florinescu)
2014年12月9日15:36



太棒了!适用于非root用户的解决方案!

– qwertzguy
15年1月22日在5:05

请注意,此dmi信息可能仅适用于基于Intel的PC。我有一个由基于Linux的ARM计算机驱动的网络设备,并且dmicode或/ sys中的路径均不可用。

– Mike S
16年5月19日在21:25

#4 楼

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

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

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

这对于CoreOS也同样适用不随dmidecode一起提供。

注意:在其他答案/评论中已经提到了此方法,但希望在此处更明显,因为这是比使用dmidecode更加容易的方法。

#5 楼

尝试:

sudo dmidecode -s baseboard-product-name


#6 楼

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

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


其他获得硬件信息的出色命令:



inxi [-F]多合一且极其友好,请尝试inxi -SMG -! 31 -y 80


lscpu#优于/ proc / cpuinfo

lsusb [-v]

lsblk [-a]#比df -h好。块设备信息。
sudo hdparm /dev/sda1


评论


除了lshw之外,这些命令都无法回答OP提出的问题。它们是非常有用的实用程序,是的,但不完全在问题范围内...

– Shadur
17年1月10日在16:08

@shadur为什么您不赞成我?我以任何其他答案都可以的方式回答问题,然后仅提供额外的有用信息,任何出色的帖子都具有很好的命令性。

– Pablo A
17年1月10日在16:17

#7 楼

您可以使用:

dmidecode -t 1


输出类似:

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


#8 楼

系统信息工具inxi可以清晰地显示信息,而无需手动进行dmidecode / / sys的所有检查。有关完整的功能列表,请参见手册页。

它支持带有/不带有/ sys的系统,尽管带有/ sys数据,您无需root就可以使用dmidecode获得完整的硬件输出。

$inxi -M
Machine:   Device: desktop Mobo: ASRock model: A770DE+
           BIOS: American Megatrends v: P1.70 date: 09/07/2010


您也可以以root身份强制数据来自dmidecode:

#inxi -! 33 -Mxxx ## inxi 2.3.56 and older
#inxi --dmidecode -Mxxx ## inxi 2.9 and newer
Machine:   Device: desktop Mobo: ASRock model: A770DE+
           BIOS: American Megatrends v: P1.70 rv 8.14 date: 09/07/2010 rom size: 1024 kB


inxi在大多数GNU / Linux发行版的存储库中都可用,或者只需抓住脚本并将其安装即可直接安装。

基本输出模式(-b)的示例

$inxi -bxx
System:    Host: my-box Kernel: 4.6-6.1-liquorix-686-pae i686 (32 bit gcc: 5.4.1)
           Desktop: Xfce 4.12.3 (Gtk 2.24.30) dm: lightdm
           Distro: Debian GNU/Linux 7.0
Machine:   Device: desktop Mobo: ASRock model: A770DE+
           BIOS: American Megatrends v: P1.70 date: 09/07/2010
CPU:       Dual core AMD Athlon 64 X2 5000+ (-MCP-) speed/max: 1000/2600 MHz
Graphics:  Card: NVIDIA GT218 [GeForce 210] bus-ID: 02:00.0 chip-ID: 10de:0a65
           Display Server: X.Org 1.19.0 driver: nvidia
           Resolution: 1280x1024@60.02hz, 1280x1024@60.02hz
           GLX Renderer: GeForce 210/PCIe/SSE2/3DNOW!
           GLX Version: 3.3.0 NVIDIA 340.101 Direct Rendering: Yes
Network:   Card: Intel 82574L Gigabit Network Connection
           driver: e1000e v: 3.2.6-k port: c800
           bus-ID: 01:00.0 chip-ID: 8086:10d3
Drives:    HDD Total Size: 1080.2GB (36.8% used)
Info:      Processes: 313 Uptime: 26 days Memory: 4457.2/8094.0MB
           Init: systemd v: 232 runlevel: 5 default: 3
           Gcc sys: 6.3.0 alt: 4.0/4.2/4.4/4.5/4.6/4.7/4.8/4.9/5
           Client: Shell (bash 4.4.51 running in xfce4-terminal) inxi: 2.3.8


inxi 3.x中的新输出格式

inxi -bxxxzy80
System:
  Host: yawn Kernel: 4.17.0-10.1-liquorix-amd64 x86_64 bits: 64 compiler: gcc 
  v: 7.3.0 Desktop: Xfce 4.12.4 tk: Gtk 2.24.31 info: xfce4-panel wm: xfwm4 
  dm: lightdm 1.18.3 Distro: Debian GNU/Linux buster/sid 
Machine:
  Type: Desktop System: Gigabyte product: X470 AORUS ULTRA GAMING v: N/A 
  serial: <filter> 
  Mobo: Gigabyte model: X470 AORUS ULTRA GAMING-CF v: x.x serial: <filter> 
  UEFI [Legacy]: American Megatrends v: F2 date: 03/14/2018 
CPU:
  6-Core: AMD Ryzen 5 2600 type: MT MCP arch: Zen speed: 2300 MHz 
  min/max: 1550/3400 MHz 
Graphics:
  Card-1: NVIDIA GT218 [GeForce 210] vendor: Gigabyte driver: nvidia 
  v: 340.107 bus ID: 09:00.0 chip ID: 10de:0a65 
  Display: x11 server: X.Org 1.20.0 driver: nvidia 
  resolution: 1280x1024~60Hz, 1280x1024~60Hz 
  OpenGL: renderer: GeForce 210/PCIe/SSE2 v: 3.3.0 NVIDIA 340.107 
  direct render: Yes 
Network:
  Card-1: Intel I211 Gigabit Network driver: igb v: 5.4.0-k port: f000 
  bus ID: 06:00 chip ID: 8086:1539 
  Card-2: Apple Ethernet Adapter [A1277] type: USB driver: asix bus ID: 1:13 
  chip ID: 05ac:1402 
Drives:
  Local Storage: total: 1.08 TiB used: 496.05 GiB (45.0%) 
Info:
  Processes: 339 Uptime: 3d 6h 22m Memory: 31.43 GiB used: 4.04 GiB (12.8%) 
  Init: systemd v: 239 runlevel: 5 Compilers: gcc: 8.1.0 alt: 5/6/7/8 
  Shell: bash v: 4.4.23 running in: xfce4-terminal inxi: 3.0.20


评论


看起来不错。我想知道该工具是否可以返回系统或板卡序列号?这样,您几乎不需要像这样的任何系统自检都需要root。 (我猜答案是“否”)。

– Mike S
18年8月13日在0:29

在更改创建/ sys文件系统的linux内核之前,您无需root就可以获取这些东西的序列号,但是更改之后(完全不受inxi的控制),您需要是root,并且没有办法解决这个问题。显然,这是一个愚蠢的决定,并且是基于某人的某个坏主意而进行的回归,但是inxi无法解决该问题。 sudo inxi -Mxxx总是返回序列号。在某些系统上,不需要sudo,这取决于我认为的内核版本。

–蜥蜴
18年8月13日在3:26

请注意,inxi 3.0及更高版本不使用-! 33了,他们使用--dmidecode

–蜥蜴
18年8月13日在3:27

#9 楼

或这个

lshw -short | grep system


#10 楼

# dmidecode -t baseboard


如果得到制造商的支持,则会为您提供信息。

dmidecode是一种用于将计算机的DMI(有人说SMBIOS)表内容转储为人类可读的工具。格式。该表包含对系统硬件组件的描述,以及其他有用的信息,例如序列号和BIOS版本。由于有了此表,您可以检索此信息,而不必探究实际的硬件。尽管这对于报告速度和安全性而言是一个好方法,但是这也使得所显示的信息可能不可靠。

评论


grep需要引号。

–约书亚·德特维尔(Joshua Detwiler)
18年6月20日在20:09