Trong bài viết này chúng ta sẽ thấy làm thế nào chúng ta có thể sử dụng Dmidecode command để lấy thông tin phần cứng của bất kỳ hệ thống Linux nào. Giả sử nếu chúng ta muốn nâng cấp một hệ thống thì chúng ta cần thu thập thông tin như Bộ nhớ, BIOS và CPU v.v. Với sự trợ giúp của lệnh Dmidecode, chúng ta sẽ biết chi tiết mà không cần mở vỏ hệ thống. Lệnh Dmidecode hoạt động trên Linux RHEL/CentOS/Fedora/Ubuntu.
Cách lấy thông tin phần cứng trên Linux
Công cụ Dmidecode đọc bảng DMI (một số nói SMBIOS) để lấy dữ liệu và hiển thị thông tin hữu ích về hệ thống như chi tiết của phần cứng, số serial và phiên bản BIOS, Bộ xử lý v.v. dưới dạng định dạng đọc được. Bạn có thể cần quyền root để thực thi lệnh dmidecode.
1. Đầu ra cơ bản của Demidecode
Dưới đây là ví dụ đầu ra mẫu của lệnh Demidecode.
# dmidecode 2.11
SMBIOS version fixup (2.31 -> 2.3).
SMBIOS 2.3 present.
45 structures occupying 1642 bytes.
Table at 0x000E0010.
Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
Vendor: Phoenix Technologies LTD
Version: 6.00
Release Date: 12/06/2006
Address: 0xE78A0
Runtime Size: 100192 bytes
ROM Size: 64 kB
Characteristics:
ISA is supported
PCI is supported
PC Card (PCMCIA) is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
USB legacy is supported
Smart battery is supported
BIOS boot specification is supported
2. Cách nhận các loại DMI
DMI Id cho chúng ta thông tin phần cứng cụ thể của hệ thống. Dmidecode với các tùy chọn ‘-t‘ hoặc ‘--type‘ và ‘Id‘ sẽ cung cấp cho chúng ta thông tin chính xác. Id 6 sẽ cung cấp cho chúng ta thông tin về Module Bộ nhớ.
[root@tecmint ~]# dmidecode -t 6
# dmidecode 2.11
SMBIOS version fixup (2.31 -> 2.3).
SMBIOS 2.3 present.
Handle 0x0009, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: RAM socket #0
Bank Connections: 0 1
Current Speed: Unknown
Type: EDO DIMM
Installed Size: 1024 MB (Single-bank Connection)
Enabled Size: 1024 MB (Single-bank Connection)
Error Status: OK
Handle 0x000A, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: RAM socket #1
Bank Connections: 2 3
Current Speed: Unknown
Type: EDO DIMM
Installed Size: Not Installed
Enabled Size: Not Installed
Error Status: OK
Handle 0x000B, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: RAM socket #2
Bank Connections: 4 5
Current Speed: Unknown
Type: EDO DIMM
Installed Size: Not Installed
Enabled Size: Not Installed
Error Status: OK
Handle 0x000C, DMI type 6, 12 bytes
Memory Module Information
Socket Designation: RAM socket #3
Bank Connections: 6 7
Current Speed: Unknown
Type: EDO DIMM
Installed Size: Not Installed
Enabled Size: Not Installed
Error Status: OK
Dưới đây là chi tiết về các loại DMI.
Type Information
----------------------------------------
0 BIOS
1 System
2 Base Board
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply
Thay vì sử dụng ‘type_id‘, bạn cũng có thể sử dụng từ khóa với đối số ‘-t‘ của lệnh dmidecode. Dưới đây là danh sách các từ khóa có sẵn.
Keyword Types
------------------------------
bios 0, 13
system 1, 12, 15, 23, 32
baseboard 2, 10
chassis 3
processor 4
memory 5, 6, 16, 17
cache 7
connector 8
slot 9
Ví dụ, để lấy thông tin về Bộ đệm trên hệ thống, bạn có thể thực thi lệnh dưới đây thay vì Id 7.
[root@tecmint ~]# dmidecode -t cache
# dmidecode 2.11
SMBIOS version fixup (2.31 -> 2.3).
SMBIOS 2.3 present.
Handle 0x000D, DMI type 7, 19 bytes
Cache Information
Socket Designation: L1 Cache
Configuration: Enabled, Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 16 kB
Maximum Size: 16 kB
Supported SRAM Types:
Burst
Pipeline Burst
Asynchronous
Installed SRAM Type: Asynchronous
Speed: Unknown
Error Correction Type: Unknown
System Type: Unknown
Associativity: Unknown
Handle 0x000E, DMI type 7, 19 bytes
Cache Information
Socket Designation: L2 Cache
Configuration: Enabled, Socketed, Level 2
Operational Mode: Write Back
Location: External
Installed Size: 0 kB
Maximum Size: 512 kB
Supported SRAM Types:
Burst
Pipeline Burst
Asynchronous
Installed SRAM Type: None
Speed: Unknown
Error Correction Type: Unknown
System Type: Unknown
Associativity: Unknown
3. Cách lấy thông tin bộ nhớ
Làm thế nào để lấy thông tin về Bộ nhớ trên hệ thống và bộ nhớ hệ thống hỗ trợ bao nhiêu? Lệnh sau đây hiển thị hệ thống có thể hỗ trợ tối đa4GB RAM.
[root@tecmint ~]# dmidecode -t 16
# dmidecode 2.11
SMBIOS version fixup (2.31 -> 2.3).
SMBIOS 2.3 present.
Handle 0x001D, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 4 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Lưu ý: từ danh sách từ khóa, các ID thông tin liên quan đến memory là 5, 6, 16 và 17.
4. Làm cách nào để có được thông tin BIOS?
Để lấy thông tin về BIOS của hệ thống, chạy lệnh sau với tùy chọn ‘-t’.
[root@tecmint ~]# dmidecode -t bios
# dmidecode 2.11
SMBIOS version fixup (2.31 -> 2.3).
SMBIOS 2.3 present.
Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
Vendor: Phoenix Technologies LTD
Version: 6.00
Release Date: 12/06/2006
Address: 0xE78A0
Runtime Size: 100192 bytes
ROM Size: 64 kB
Characteristics:
ISA is supported
PCI is supported
PC Card (PCMCIA) is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
USB legacy is supported
Smart battery is supported
BIOS boot specification is supported
5. Làm cách nào để biết Nhà sản xuất, Kiểu máy và Số sê-ri?
Để lấy thông tin về Nhà sản xuất, Mô hình và Số serial của hệ thống, sử dụng lệnh sau đây như được thể hiện dưới đây.
[root@tecmint ~]# dmidecode -t system
# dmidecode 2.11
SMBIOS 2.4 present.
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: LENOVO
Product Name: 9637C76
Version: ThinkCentre M55e
Serial Number: L9BT188
UUID: 8015D37A-2F82-DC11-A3FB-8C6E4EBAD5CE
Wake-up Type: AC Power Restored
SKU Number: Not Specified
Family: Not Specified
Handle 0x000F, DMI type 12, 5 bytes
System Configuration Options
Option 1: Jumper settings can be described here.
Handle 0x0010, DMI type 15, 29 bytes
System Event Log
Area Length: 432 bytes
Header Start Offset: 0x0000
Header Length: 16 bytes
Data Start Offset: 0x0010
Access Method: General-purpose non-volatile data functions
Access Address: 0x0000
Status: Valid, Not Full
Change Token: 0x0000001A
Header Format: Type 1
Supported Log Type Descriptors: 3
Descriptor 1: POST error
Data Format 1: POST results bitmap
Descriptor 2: Single-bit ECC memory error
Data Format 2: Multiple-event
Descriptor 3: Multi-bit ECC memory error
Data Format 3: Multiple-event
Handle 0x0017, DMI type 23, 13 bytes
System Reset
Status: Enabled
Watchdog Timer: Present
Boot Option: Do Not Reboot
Boot Option On Limit: Do Not Reboot
Reset Count: Unknown
Reset Limit: Unknown
Timer Interval: Unknown
Timeout: Unknown
Handle 0x001F, DMI type 32, 20 bytes
System Boot Information
Status:
Vui lòng chạy ‘man dmidecode‘ từ cửa sổ terminal hoặc lệnh để biết thêm thông tin về dmidecode command.