Linux에서 하드웨어 모델을 어떻게 찾을 수 있습니까?


89

시스템 정보 유틸리티를 사용하여 시스템 및 마더 보드의 모델 번호를 가져 왔습니다.

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

이 경우 2306CTOLinux 에서 모델 번호를 얻는 방법이 있습니까?



2
명확히하기 위해 특히 마더 보드가 아닌 하드웨어 제품에 관심이있는 것 같습니다. 예를 들어 "ThinkPad X230"은 마더 보드가 아닌 컴퓨터 유형입니다.
Bratchley

1
dmesg 명령을 실행하거나 / var / log / dmesg *를 확인하여 추가 패키지없이 일부 정보를 얻을 수도 있습니다.
Blake Russo

답변:


114

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

25
FWIW를 사용하는 것보다 특정 DMI 유형을 필터링하는 습관을 얻는 것이 좋습니다 grep. 전체 하드웨어 모델은 다음과 같습니다 dmidecode -t1. 이렇게하면 dmidecode에서 데이터를 가져 오는 간단한 방법이 있으며 일반적인 DMI 유형 만 기억하면됩니다. dmidecode -t17grep이 잘못된 데이터를 키 오프하면 grep이 실제로 추악한 출력을 만들 수있는 경우 RAM 설치 ( )를 검사 할 때 습관이 실제로 유용 합니다. 게다가, -t더 완벽한 출력
Bratchley

@JoelDavis, 나는 이전에 그러한 옵션을 알지 못했습니다. 나는 그들을 사용할 것이다. 감사.
eppesuig

13
참고 : 루트가 필요합니다. 현재 사용자에게 권한이있는 모든 정보를 원하면 cat /sys/devices/virtual/dmi/id/*다음을 사용하십시오. 일반 사용자를 사용하여 모델 이름과 정렬을 얻을 수 있습니다.
qwertzguy

grep에 대한 인수없이 dmidecode의 출력을 파이핑하는 것은 흥미롭지 만 정보를 얻는 가장 효율적인 방법은 아닙니다. dmidecode는 'system-product-name'키워드 문자열을 지정하여 OP가 요구하는 내용을 정확하게 인쇄 할 수 있습니다. sudo dmidecode -s system-product-name
cjac

구형 시스템에는에 사용할 수있는 플래그가 dmidecode없고 맨 페이지도 없다는 점에 주목할 가치가 있다고 생각합니다 . 위의 답변은 여기에서 가장 Linux 이식 가능한 답변이라고 생각합니다. -t-s플래그는 확실히 새로운 시스템에 유용하다.
Joshua Detwiler 2016 년

32

시도 sudo dmidecode -t baseboardDMI에 대한 전체 정보 t 사람이 읽을 수있는 형태로, 당신의베이스 보드와 관련이 수 내용을 표시합니다. 단지를 들어 시스템 제품 이름을 , 당신은 (유형 중 하나를 사용할 수 있습니다 dmidecode -s목록을 얻을 수 의의 trings 키워드) :

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 문자열의 전체 목록을 시도하십시오 .


24

기록을 위해,이 정보의 대부분은 현대 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 기반의 대부분의 경우, 필요한 도구 (OS, 하드웨어 정보)가 /sys또는에 있는 도구를 찾지 못하면 좋습니다 /proc. 감사합니다
Eduard Florinescu

2
대박! 비 루트에 적합한 솔루션!
qwertzguy

1
이 dmi 정보는 Intel 기반 PC에만 적용 할 수 있습니다. Linux 기반 ARM 컴퓨터로 구동되는 네트워크 장치가 있으며 dmicode 또는 / sys의 경로를 사용할 수 없습니다.
Mike S

12

최신 Linux 시스템에서는 다음과 같은 작업을 모든 사용자로 쉽게 수행 할 수 있습니다.

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

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

이것은와 함께 제공되지 않는 CoreOS에서도 잘 작동합니다 dmidecode.

참고 : 이것은 다른 답변 / 설명에서 언급되었지만 여기서 사용하는 것보다 훨씬 쉬운 방법이므로 더 잘 보입니다 dmidecode.



4

여기의 모든 사람들이 훌륭한 dmidecode명령과 -t매개 변수 에 대해 이야기 하지만 sudo lshw -short제품 이름과 모델을 쉽게 얻을 수 있습니다.

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

하드웨어 정보를 얻는 다른 훌륭한 명령 :

  • lscpu # / proc / cpuinfo보다 낫다
  • lsusb [-V]
  • lsblk[-a] # df -h보다 낫습니다. 장치 정보를 차단합니다.
  • sudo hdparm /dev/sda1

lshw를 제외하고 이러한 명령 중 어느 것도 OP가 묻는 질문에 대답하지 않습니다. 이 유틸리티는 매우 유용한 유틸리티입니다. 그러나 질문의 ​​범위에 정확히 있지는 않습니다.
Shadur

@shadur 왜 당신은 나를 downvote? 나는 다른 답변이하는 방식으로 질문에 대답 한 다음 유용한 게시물을 제공합니다.
Pablo A

2

시스템 정보 도구 inxi 는 dmidecode / / sys의 모든 검사를 수동으로 수행 할 필요없이 정보를 깨끗하게 보여줍니다. 전체 기능 목록 은 매뉴얼 페이지 를 참조하십시오 .

/ sys 데이터가 있거나없는 시스템을 지원하지만 / dm 데이터를 사용하여 전체 하드웨어 출력을 얻기 위해 루트가 될 필요는 없습니다.

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

루트로 데이터를 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

좋아 보인다. 이 도구가 시스템 또는 보드 일련 번호를 반환하는 방법이 있는지 궁금합니다. 그런 다음 이와 같은 시스템 검사를 위해 루트가 필요하지 않습니다. (나는 대답이 "아니오"라고 추측하고 있습니다).
Mike S

/ sys 파일 시스템을 생성하는 리눅스 커널을 변경하기 전에 루트가 아닌 이러한 것들에 대한 일련 번호를 얻을 수 있었지만, inxi가 완전히 제어하지 않는 변경 후에는 루트가되어야합니다. 그 문제를 해결할 방법이 없습니다. 분명히 이것은 어리석은 결정과 누군가가 가진 나쁜 생각에 근거한 회귀 였지만, 그 문제를 해결하기 위해 inxi가 할 수있는 일은 없습니다. sudo inxi -Mxxx는 항상 시리얼을 반환합니다. 일부 시스템에서는 sudo가 필요하지 않습니다. 커널 버전에 따라 다릅니다.
Lizardx

inxi 3.0 이상은-!를 사용하지 않습니다. 33 더 이상, 그들은 --dmidecode를 사용합니다
Lizardx

1

당신이 사용할 수있는:

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

1
# dmidecode -t baseboard

제조업체가 지원하는 경우 정보를 제공합니다.

dmidecode는 컴퓨터의 DMI (일부 SMBIOS) 테이블 내용을 사람이 읽을 수있는 형식으로 덤프하는 도구입니다. 이 표에는 시스템의 하드웨어 구성 요소에 대한 설명과 일련 번호 및 BIOS 개정과 같은 기타 유용한 정보가 포함되어 있습니다. 이 표 덕분에 실제 하드웨어를 조사하지 않고도이 정보를 검색 할 수 있습니다. 이는 보고서 속도와 안전 측면에서 좋은 점이지만 제시된 정보를 신뢰할 수 없게 만듭니다.


grep따옴표가 필요합니다.
Joshua Detwiler 2016 년

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.