DMI System Manufacturer LENOVO
DMI System Product 2306CTO
DMI System Version ThinkPad X230
DMI Motherboard Product 2306CTO
在这种情况下,是否可以获取型号?
2306CTO
,在Linux中? #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
评论
看看这个为了清楚起见,您似乎对硬件产品感兴趣,而不是对主板感兴趣。例如,“ ThinkPad X230”是不是主板的一种计算机。
您还可以通过运行dmesg命令或检查/ var / log / dmesg *来获得一些信息,而无需额外的软件包。
知道您使用的是什么“系统信息实用程序”,这将是很高兴的。