04 сентября 2021

Утилита dmidecode - мониторинг железа компьютера/ноутбука

В этой статье мы с вами рассмотрим и попробуем "на вкус" шикарнейшую и очень полезную Linux-утилиту dmidecode.
Эта утилита позволяет пользователю узнать практически, абсолютно всё о железе (компонентах/комплектующих) вашего компьютера/ноутбука.
У dmidecode нет GUI (графического интерфейса) и она является полностью консольной утилитой и при этом её возможности превосходят возможности графических аналогичных утилит.
И, соответственно, качество выводимой информации о параметрах той или иной железки в компьютере/ноутбуке.


На самом деле, есть достаточное колличество подобных утилит и с GUI (Графический интерфейс), таких, как:
- CPU-X (аналог CPU-Z для мелкософта)
- CPU-G
- Hardinfo
- I-Nex
и мн. мн. другие, но 👆

Если их сравнивать с dmidecode, то все, выше-перечисленные утилиты на порядок, а то и в разы уступают ей более убогой выдачей инофрмации о железе (компонентах/комплектующих) вашего компьтера/ноутбука.

Поэтому dmidecode, несмотря на её консольность, в списке подобных утилит занимает заслуженное — 1-е (первое) место!

Для того, чтобы познакомиться и опробовать dmidecode нам понадобиться Терминал (Ctrl+Alt+T).

Сразу хочу отметить, что данная утилита работает только от Суперпользователя, а значит, для её использования и запуска, перед вводом команд необходимо прописывать:
sudo
или перевести Терминал в режим Суперпользователя:
sudo su - — и использовать dmidecode без sudo, что не безопасно!!!

Итак, давайте для начала, мы с вами откроем Помощник по использованию dmidecode командой:
dmidecode -h
или
dmidecode --help
и посмотрим, какие основные команды нам предоставляет энтот Помощник по использованию dmidecode:
Usage: dmidecode [OPTIONS]
Options are:
 -d, --dev-mem FILE     Read memory from device FILE (default: /dev/mem)
 -h, --help             Display this help text and exit
 -q, --quiet            Less verbose output
 -s, --string KEYWORD   Only display the value of the given DMI string
 -t, --type TYPE        Only display the entries of given type
 -H, --handle HANDLE    Only display the entry of given handle
 -u, --dump             Do not decode the entries
     --dump-bin FILE    Dump the DMI data to a binary file
     --from-dump FILE   Read the DMI data from a binary file
     --no-sysfs         Do not attempt to read DMI data from sysfs files
     --oem-string N     Only display the value of the given OEM string
 -V, --version          Display the version and exit
  
И, чтобы понимать, "что, как и с чем его едят", посмотрим его перевод:
Использование: dmidecode [ВАРИАНТЫ]
Варианты команд:
 -d, --dev-mem FILE     Задать устройство для чтения данных DMI (по умолчанию - /dev/mem)
 -h, --help             Отобразить справку
 -q, --quiet            Минимальная детализация отображаемой информации DMI
 -s, --string KEYWORD   Отображать только данные DMI по соответствующему введёному ключевому слову
 -t, --type TYPE        Отображать только данные по указанному типу
 -H, --handle HANDLE    Отображать только заголовки записей и шестнадцатеричные значения полей
 -u, --dump             Не декодировать данные
     --dump-bin FILE    Запись дампа данных DMI в бинарный файл
     --from-dump FILE   Читать данные DMI из сохранённого банарного файла
     --no-sysfs         Не пытаться читать данные DMI из sysfs файлов
     --oem-string N     Отображать только значение данной OEM строки
 -V, --version          Отобразить версию программы и выйти
  
С помощником нам всё предельно понятно.

А теперь давайте выполним запуск самой утилиты и посмотрим, что она нам выдаст.

Открываем Терминал (Ctrl+Alt+T) и вводим:
sudo dmidecode

В результате отработки данной команды, мы получим с вами полный, огромный, длиннющий вывод о параметрах всего железа (компонентов/комплектующих), что имеется в компьютере/ноутбуке, наподобие, как этот, ниже, в Спойлере (вывод параметров моего железа. У вас естественно будет другой, свой):
Вывод dmidecode:
SMBIOS 2.7 present.
78 structures occupying 2863 bytes.
Table at 0xDED5E018.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: LENOVO
Version: IEKT40AUS
	Release Date: 10/27/2016
	Address: 0xF0000
	Runtime Size: 64 kB
	ROM Size: 4096 kB
	Characteristics:
		PCI is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		BIOS ROM is socketed
		EDD is supported
		5.25"/1.2 MB floppy services are supported (int 13h)
		3.5"/720 kB floppy services are supported (int 13h)
		3.5"/2.88 MB floppy services are supported (int 13h)
		Print screen service is supported (int 5h)
		8042 keyboard services are supported (int 9h)
		Serial services are supported (int 14h)
		Printer services are supported (int 17h)
		ACPI is supported
		USB legacy is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
		UEFI is supported
BIOS Revision: 1.40 Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: LENOVO Product Name: 10130 Version: Lenovo H530 Serial Number: ES11953342 UUID: 0f82249c-1d6f-11e3-b7e2-b2db0cbd1400 Wake-up Type: Power Switch SKU Number: LENOVO_MT_1013 Family: IdeaCentre Handle 0x0002, DMI type 2, 15 bytes Base Board Information Manufacturer: LENOVO Product Name: 367D Version: 31900004 STD Serial Number: ES11953342 Asset Tag: Features: Board is a hosting board Board is replaceable Location In Chassis: To be filled by O.E.M. Chassis Handle: 0x0003 Type: Motherboard Contained Object Handles: 0 Handle 0x0003, DMI type 3, 22 bytes Chassis Information Manufacturer: To Be Filled By O.E.M. Type: Desktop Lock: Not Present Version: To Be Filled By O.E.M. Serial Number: ES11953342 Asset Tag: Boot-up State: Safe Power Supply State: Safe Thermal State: Safe Security Status: None OEM Information: 0x00000000 Height: Unspecified Number Of Power Cords: 1 Contained Elements: 0 SKU Number: To be filled by O.E.M. Handle 0x0004, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J1A1 Internal Connector Type: None External Reference Designator: PS2Mouse External Connector Type: PS/2 Port Type: Mouse Port Handle 0x0005, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J1A1 Internal Connector Type: None External Reference Designator: Keyboard External Connector Type: PS/2 Port Type: Keyboard Port Handle 0x0006, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J2A1 Internal Connector Type: None External Reference Designator: TV Out External Connector Type: Mini Centronics Type-14 Port Type: Other Handle 0x0007, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J2A2A Internal Connector Type: None External Reference Designator: COM A External Connector Type: DB-9 male Port Type: Serial Port 16550A Compatible Handle 0x0008, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J2A2B Internal Connector Type: None External Reference Designator: Video External Connector Type: DB-15 female Port Type: Video Port Handle 0x0009, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J3A1 Internal Connector Type: None External Reference Designator: USB1 External Connector Type: Access Bus (USB) Port Type: USB Handle 0x000A, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J3A1 Internal Connector Type: None External Reference Designator: USB2 External Connector Type: Access Bus (USB) Port Type: USB Handle 0x000B, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J3A1 Internal Connector Type: None External Reference Designator: USB3 External Connector Type: Access Bus (USB) Port Type: USB Handle 0x000C, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J9A1 - TPM HDR Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x000D, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J9C1 - PCIE DOCKING CONN Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x000E, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J2B3 - CPU FAN Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x000F, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J6C2 - EXT HDMI Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x0010, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J3C1 - GMCH FAN Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x0011, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J1D1 - ITP Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x0012, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J9E2 - MDC INTPSR Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x0013, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J9E4 - MDC INTPSR Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x0014, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J9E3 - LPC HOT DOCKING Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x0015, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J9E1 - SCAN MATRIX Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x0016, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J9G1 - LPC SIDE BAND Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x0017, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J8F1 - UNIFIED Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x0018, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J6F1 - LVDS Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x0019, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J2F1 - LAI FAN Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x001A, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J2G1 - GFX VID Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x001B, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J1G6 - AC JACK Internal Connector Type: Other External Reference Designator: Not Specified External Connector Type: None Port Type: Other Handle 0x001C, DMI type 9, 17 bytes System Slot Information Designation: J6B2 Type: x16 PCI Express Current Usage: In Use Length: Long ID: 0 Characteristics: 3.3 V is provided Opening is shared PME signal is supported Bus Address: 0000:00:01.0 Handle 0x001D, DMI type 9, 17 bytes System Slot Information Designation: J6B1 Type: x1 PCI Express Current Usage: In Use Length: Short ID: 1 Characteristics: 3.3 V is provided Opening is shared PME signal is supported Bus Address: 0000:00:1c.3 Handle 0x001E, DMI type 9, 17 bytes System Slot Information Designation: J6D1 Type: x1 PCI Express Current Usage: In Use Length: Short ID: 2 Characteristics: 3.3 V is provided Opening is shared PME signal is supported Bus Address: 0000:00:1c.4 Handle 0x001F, DMI type 9, 17 bytes System Slot Information Designation: J7B1 Type: x1 PCI Express Current Usage: In Use Length: Short ID: 3 Characteristics: 3.3 V is provided Opening is shared PME signal is supported Bus Address: 0000:00:1c.5 Handle 0x0020, DMI type 9, 17 bytes System Slot Information Designation: J8B4 Type: x1 PCI Express Current Usage: In Use Length: Short ID: 4 Characteristics: 3.3 V is provided Opening is shared PME signal is supported Bus Address: 0000:00:1c.6 Handle 0x0021, DMI type 10, 12 bytes On Board Device 1 Information Type: Video Status: Disabled Description: Onboard Video On Board Device 2 Information Type: Ethernet Status: Enabled Description: Onboard Ethernet On Board Device 3 Information Type: Sound Status: Disabled Description: Onboard Audio On Board Device 4 Information Type: SATA Controller Status: Enabled Description: SATA controller Handle 0x0022, DMI type 11, 5 bytes OEM Strings String 1: N/A String 2: N/A String 3: Lenovo Service Engine Not Supported Handle 0x0023, DMI type 12, 5 bytes System Configuration Options Option 1: scre++ Handle 0x0024, DMI type 24, 5 bytes Hardware Security Power-On Password Status: Disabled Keyboard Password Status: Enabled Administrator Password Status: Disabled Front Panel Reset Status: Not Implemented Handle 0x0025, DMI type 32, 20 bytes System Boot Information Status: No errors detected Handle 0x0026, DMI type 34, 11 bytes Management Device Description: LM78-1 Type: LM78 Address: 0x00000000 Address Type: I/O Port Handle 0x0027, DMI type 26, 22 bytes Voltage Probe Description: LM78A Location: <OUT OF SPEC> Status: <OUT OF SPEC> Maximum Value: Unknown Minimum Value: Unknown Resolution: Unknown Tolerance: Unknown Accuracy: Unknown OEM-specific Information: 0x00000000 Nominal Value: Unknown Handle 0x0028, DMI type 36, 16 bytes Management Device Threshold Data Lower Non-critical Threshold: 1 Upper Non-critical Threshold: 2 Lower Critical Threshold: 3 Upper Critical Threshold: 4 Lower Non-recoverable Threshold: 5 Upper Non-recoverable Threshold: 6 Handle 0x0029, DMI type 35, 11 bytes Management Device Component Description: To Be Filled By O.E.M. Management Device Handle: 0x0026 Component Handle: 0x0026 Threshold Handle: 0x0027 Handle 0x002A, DMI type 28, 22 bytes Temperature Probe Description: LM78A Location: <OUT OF SPEC> Status: <OUT OF SPEC> Maximum Value: Unknown Minimum Value: Unknown Resolution: Unknown Tolerance: Unknown Accuracy: Unknown OEM-specific Information: 0x00000000 Nominal Value: Unknown Handle 0x002B, DMI type 36, 16 bytes Management Device Threshold Data Lower Non-critical Threshold: 1 Upper Non-critical Threshold: 2 Lower Critical Threshold: 3 Upper Critical Threshold: 4 Lower Non-recoverable Threshold: 5 Upper Non-recoverable Threshold: 6 Handle 0x002C, DMI type 35, 11 bytes Management Device Component Description: To Be Filled By O.E.M. Management Device Handle: 0x0026 Component Handle: 0x0029 Threshold Handle: 0x002A Handle 0x002D, DMI type 27, 15 bytes Cooling Device Temperature Probe Handle: 0x002A Type: <OUT OF SPEC> Status: <OUT OF SPEC> Cooling Unit Group: 1 OEM-specific Information: 0x00000000 Nominal Speed: Unknown Or Non-rotating Description: Cooling Dev 1 Handle 0x002E, DMI type 36, 16 bytes Management Device Threshold Data Lower Non-critical Threshold: 1 Upper Non-critical Threshold: 2 Lower Critical Threshold: 3 Upper Critical Threshold: 4 Lower Non-recoverable Threshold: 5 Upper Non-recoverable Threshold: 6 Handle 0x002F, DMI type 35, 11 bytes Management Device Component Description: To Be Filled By O.E.M. Management Device Handle: 0x0026 Component Handle: 0x002C Threshold Handle: 0x002D Handle 0x0030, DMI type 27, 15 bytes Cooling Device Temperature Probe Handle: 0x002A Type: <OUT OF SPEC> Status: <OUT OF SPEC> Cooling Unit Group: 1 OEM-specific Information: 0x00000000 Nominal Speed: Unknown Or Non-rotating Description: Not Specified Handle 0x0031, DMI type 36, 16 bytes Management Device Threshold Data Lower Non-critical Threshold: 1 Upper Non-critical Threshold: 2 Lower Critical Threshold: 3 Upper Critical Threshold: 4 Lower Non-recoverable Threshold: 5 Upper Non-recoverable Threshold: 6 Handle 0x0032, DMI type 35, 11 bytes Management Device Component Description: To Be Filled By O.E.M. Management Device Handle: 0x0026 Component Handle: 0x002F Threshold Handle: 0x0030 Handle 0x0033, DMI type 29, 22 bytes Electrical Current Probe Description: ABC Location: <OUT OF SPEC> Status: <OUT OF SPEC> Maximum Value: Unknown Minimum Value: Unknown Resolution: Unknown Tolerance: Unknown Accuracy: Unknown OEM-specific Information: 0x00000000 Nominal Value: Unknown Handle 0x0034, DMI type 36, 16 bytes Management Device Threshold Data Handle 0x0035, DMI type 35, 11 bytes Management Device Component Description: To Be Filled By O.E.M. Management Device Handle: 0x0026 Component Handle: 0x0032 Threshold Handle: 0x0030 Handle 0x0036, DMI type 26, 22 bytes Voltage Probe Description: LM78A Location: Power Unit Status: OK Maximum Value: Unknown Minimum Value: Unknown Resolution: Unknown Tolerance: Unknown Accuracy: Unknown OEM-specific Information: 0x00000000 Nominal Value: Unknown Handle 0x0037, DMI type 28, 22 bytes Temperature Probe Description: LM78A Location: Power Unit Status: OK Maximum Value: Unknown Minimum Value: Unknown Resolution: Unknown Tolerance: Unknown Accuracy: Unknown OEM-specific Information: 0x00000000 Nominal Value: Unknown Handle 0x0038, DMI type 27, 15 bytes Cooling Device Temperature Probe Handle: 0x0037 Type: Power Supply Fan Status: OK Cooling Unit Group: 1 OEM-specific Information: 0x00000000 Nominal Speed: Unknown Or Non-rotating Description: Cooling Dev 1 Handle 0x0039, DMI type 29, 22 bytes Electrical Current Probe Description: ABC Location: Power Unit Status: OK Maximum Value: Unknown Minimum Value: Unknown Resolution: Unknown Tolerance: Unknown Accuracy: Unknown OEM-specific Information: 0x00000000 Nominal Value: Unknown Handle 0x003A, DMI type 39, 22 bytes System Power Supply Power Unit Group: 1 Location: To Be Filled By O.E.M. Name: To Be Filled By O.E.M. Manufacturer: To Be Filled By O.E.M. Serial Number: To Be Filled By O.E.M. Asset Tag: To Be Filled By O.E.M. Model Part Number: To Be Filled By O.E.M. Revision: To Be Filled By O.E.M. Max Power Capacity: Unknown Status: Present, OK Type: Switching Input Voltage Range Switching: Auto-switch Plugged: Yes Hot Replaceable: No Input Voltage Probe Handle: 0x0036 Cooling Device Handle: 0x0038 Input Current Probe Handle: 0x0039 Handle 0x003B, DMI type 41, 11 bytes Onboard DeviceУтилита dmidecode - мониторинг железа компьютера/ноутбука Reference Designation: Onboard IGD Type: Video Status: Enabled Type Instance: 1 Bus Address: 0000:00:02.0 Handle 0x003C, DMI type 41, 11 bytes Onboard Device Reference Designation: Onboard LAN Type: Ethernet Status: Enabled Type Instance: 1 Bus Address: 0000:00:19.0 Handle 0x003D, DMI type 41, 11 bytes Onboard Device Reference Designation: Onboard 1394 Type: Other Status: Enabled Type Instance: 1 Bus Address: 0000:03:1c.2 Handle 0x003E, DMI type 4, 42 bytes Processor Information Socket Designation: SOCKET 0 Type: Central Processor Family: Core i5 Manufacturer: Intel ID: C3 06 03 00 FF FB EB BF Signature: Type 0, Family 6, Model 60, Stepping 3 Flags: FPU (Floating-point unit on-chip) VME (Virtual mode extension) DE (Debugging extension) PSE (Page size extension) TSC (Time stamp counter) MSR (Model specific registers) PAE (Physical address extension) MCE (Machine check exception) CX8 (CMPXCHG8 instruction supported) APIC (On-chip APIC hardware supported) SEP (Fast system call) MTRR (Memory type range registers) PGE (Page global enable) MCA (Machine check architecture) CMOV (Conditional move instruction supported) PAT (Page attribute table) PSE-36 (36-bit page size extension) CLFSH (CLFLUSH instruction supported) DS (Debug store) ACPI (ACPI supported) MMX (MMX technology supported) FXSR (FXSAVE and FXSTOR instructions supported) SSE (Streaming SIMD extensions) SSE2 (Streaming SIMD extensions 2) SS (Self-snoop) HTT (Multi-threading) TM (Thermal monitor supported) PBE (Pending break enabled) Version: Intel(R) Core(TM) i5-4430 CPU @ 3.00GHz Voltage: 1.2 V External Clock: 100 MHz Max Speed: 3000 MHz Current Speed: 3000 MHz Status: Populated, Enabled Upgrade: Socket BGA1155 L1 Cache Handle: 0x0040 L2 Cache Handle: 0x003F L3 Cache Handle: 0x0041 Serial Number: Not Specified Asset Tag: Fill By OEM Part Number: Fill By OEM Core Count: 4 Core Enabled: 4 Thread Count: 4 Characteristics: 64-bit capable Handle 0x003F, DMI type 7, 19 bytes Cache Information Socket Designation: CPU Internal L2 Configuration: Enabled, Not Socketed, Level 2 Operational Mode: Write Back Location: Internal Installed Size: 1024 kB Maximum Size: 1024 kB Supported SRAM Types: Unknown Installed SRAM Type: Unknown Speed: Unknown Error Correction Type: Single-bit ECC System Type: Unified Associativity: 8-way Set-associative Handle 0x0040, DMI type 7, 19 bytes Cache Information Socket Designation: CPU Internal L1 Configuration: Enabled, Not Socketed, Level 1 Operational Mode: Write Back Location: Internal Installed Size: 256 kB Maximum Size: 256 kB Supported SRAM Types: Unknown Installed SRAM Type: Unknown Speed: Unknown Error Correction Type: Single-bit ECC System Type: Other Associativity: 8-way Set-associative Handle 0x0041, DMI type 7, 19 bytes Cache Information Socket Designation: CPU Internal L3 Configuration: Enabled, Not Socketed, Level 3 Operational Mode: Write Back Location: Internal Installed Size: 6144 kB Maximum Size: 6144 kB Supported SRAM Types: Unknown Installed SRAM Type: Unknown Speed: Unknown Error Correction Type: Single-bit ECC System Type: Unified Associativity: 12-way Set-associative Handle 0x0042, DMI type 16, 23 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 16 GB Error Information Handle: Not Provided Number Of Devices: 2 Handle 0x0043, DMI type 17, 34 bytes Memory Device Array Handle: 0x0042 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 4096 MB Form Factor: DIMM Set: None Locator: ChannelA-DIMM0 Bank Locator: BANK 0 Type: DDR3 Type Detail: Synchronous Speed: 1600 MT/s Manufacturer: 0467 Serial Number: 425F0473 Asset Tag: 9876543210 Part Number: RMR5030EB68F9W1600 Rank: 1 Configured Memory Speed: 1600 MT/s Handle 0x0044, DMI type 15, 73 bytes System Event Log Area Length: 4096 bytes Header Start Offset: 0x0000 Header Length: 16 bytes Data Start Offset: 0x0010 Access Method: Memory-mapped physical 32-bit address Access Address: 0xFFE0B000 Status: Valid, Not Full Change Token: 0x00000001 Header Format: Type 1 Supported Log Type Descriptors: 25 Descriptor 1: Single-bit ECC memory error Data Format 1: None Descriptor 2: Multi-bit ECC memory error Data Format 2: None Descriptor 3: Parity memory error Data Format 3: None Descriptor 4: Bus timeout Data Format 4: None Descriptor 5: I/O channel block Data Format 5: None Descriptor 6: Software NMI Data Format 6: None Descriptor 7: POST memory resize Data Format 7: None Descriptor 8: POST error Data Format 8: POST results bitmap Descriptor 9: PCI parity error Data Format 9: None Descriptor 10: PCI system error Data Format 10: None Descriptor 11: CPU failure Data Format 11: None Descriptor 12: EISA failsafe timer timeout Data Format 12: None Descriptor 13: Correctable memory log disabled Data Format 13: None Descriptor 14: Logging disabled Data Format 14: None Descriptor 15: System limit exceeded Data Format 15: None Descriptor 16: Asynchronous hardware timer expired Data Format 16: None Descriptor 17: System configuration information Data Format 17: None Descriptor 18: Hard disk information Data Format 18: None Descriptor 19: System reconfigured Data Format 19: None Descriptor 20: Uncorrectable CPU-complex error Data Format 20: None Descriptor 21: Log area reset/cleared Data Format 21: None Descriptor 22: System boot Data Format 22: None Descriptor 23: End of log Data Format 23: None Descriptor 24: OEM-specific Data Format 24: OEM-specific Descriptor 25: OEM-specific Data Format 25: OEM-specific Handle 0x0045, DMI type 133, 5 bytes OEM-specific Type Header and Data: 85 05 45 00 01 Strings: KHOIHGIUCCHHII Handle 0x0046, DMI type 20, 35 bytes Memory Device Mapped Address Starting Address: 0x00000000000 Ending Address: 0x000FFFFFFFF Range Size: 4 GB Physical Device Handle: 0x0043 Memory Array Mapped Address Handle: 0x0049 Partition Row Position: Unknown Interleave Position: Unknown Interleaved Data Depth: Unknown Handle 0x0047, DMI type 17, 34 bytes Memory Device Array Handle: 0x0042 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: None Locator: ChannelB-DIMM0 Bank Locator: BANK 2 Type: DDR3 Type Detail: Synchronous Speed: 1600 MT/s Manufacturer: 0467 Serial Number: 163C0F19 Asset Tag: 9876543210 Part Number: RMR5030ED58E8W1600 Rank: 1 Configured Memory Speed: 1600 MT/s Handle 0x0048, DMI type 20, 35 bytes Memory Device Mapped Address Starting Address: 0x00100000000 Ending Address: 0x0017FFFFFFF Range Size: 2 GB Physical Device Handle: 0x0047 Memory Array Mapped Address Handle: 0x0049 Partition Row Position: Unknown Interleave Position: Unknown Interleaved Data Depth: Unknown Handle 0x0049, DMI type 19, 31 bytes Memory Array Mapped Address Starting Address: 0x00000000000 Ending Address: 0x0017FFFFFFF Range Size: 6 GB Physical Array Handle: 0x0042 Partition Width: 2 Handle 0x004D, DMI type 136, 6 bytes OEM-specific Type Header and Data: 88 06 4D 00 00 00 Handle 0x004E, DMI type 131, 64 bytes OEM-specific Type Header and Data: 83 40 4E 00 31 00 00 00 00 00 00 00 00 00 00 00 F8 00 5C 8C 00 00 00 00 01 00 00 00 00 00 09 00 41 05 02 00 00 00 00 00 C8 00 FF FF 00 00 00 00 00 00 00 00 26 00 00 00 76 50 72 6F 00 00 00 00 Handle 0x004F, DMI type 13, 22 bytes BIOS Language Information Language Description Format: Long Installable Languages: 3 en|US|iso8859-1 fr|FR|iso8859-1 zh|CN|unicode Currently Installed Language: en|US|iso8859-1 Handle 0x0051, DMI type 127, 4 bytes End Of Table

что является полной и исчерпывающей информацией обо всём, что есть в нашем компьютере/ноутбуке, но весьма неудобно для чтения и поиска конкретной информации о конкретной железке (компоненте/комплектующих), в виду объёма и длинности списка и трудности поиска нужного.

Но, если мы с вами откроем в Терминале Ман (man) - Интсрукцию по исользованию dmidecode:
man dmidecode

то в его выводе в Терминале мы с вами обнаружим, что dmidecode позволяет нам осуществлять вывод сведений по конкретному сегменту железок (компонентов/комплектующих), что очень удобно, используя DMI-типы или Ключевые слова (см. ниже в Спойлере раздел DMI TYPES):
Вывод man dmidecode:
DMIDECODE(8)                System Manager's Manual               DMIDECODE(8)

NAME
       dmidecode - DMI table decoder

SYNOPSIS
       dmidecode [OPTIONS]

DESCRIPTION
       dmidecode  is a tool for dumping a computer's DMI (some say SMBIOS) ta‐
       ble contents in a human-readable format. This table contains a descrip‐
       tion  of  the  system's  hardware  components,  as well as other useful
       pieces of information such as serial numbers and BIOS revision.  Thanks
       to  this  table,  you  can  retrieve this information without having to
       probe for the actual hardware.  While this is a good point in terms  of
       report  speed  and  safeness, this also makes the presented information
       possibly unreliable.

       The DMI table doesn't only describe what the system is  currently  made
       of,  it  also  can  report the possible evolutions (such as the fastest
       supported CPU or the maximal amount of memory supported).

       SMBIOS stands for System Management BIOS, while DMI stands for  Desktop
       Management  Interface. Both standards are tightly related and developed
       by the DMTF (Desktop Management Task Force).

       As you run it, dmidecode will try to locate  the  DMI  table.  It  will
       first  try  to  read the DMI table from sysfs, and next try reading di‐
       rectly from memory if sysfs access failed.  If  dmidecode  succeeds  in
       locating a valid DMI table, it will then parse this table and display a
       list of records like this one:

       Handle 0x0002, DMI type 2, 8 bytes.  Base Board Information
               Manufacturer: Intel
               Product Name: C440GX+
               Version: 727281-001
               Serial Number: INCY92700942

       Each record has:

       • A handle. This is a unique identifier, which allows records to refer‐
         ence  each  other.  For  example, processor records usually reference
         cache memory records using their handles.

       • A type. The SMBIOS specification defines different types of  elements
         a  computer  can  be  made  of. In this example, the type is 2, which
         means that the record contains "Base Board Information".

       • A size. Each record has a 4-byte header (2 for the handle, 1 for  the
         type,  1  for  the  size),  the rest is used by the record data. This
         value doesn't take text strings into account (these are placed at the
         end of the record), so the actual length of the record may be (and is
         often) greater than the displayed value.

       • Decoded values. The information presented of course  depends  on  the
         type of record. Here, we learn about the board's manufacturer, model,
         version and serial number.

OPTIONS
       -d, --dev-mem FILE
              Read memory from device FILE (default: /dev/mem)

       -q, --quiet
              Be less verbose. Unknown, inactive and OEM-specific entries  are
              not displayed. Meta-data and handle references are hidden.

       -s, --string KEYWORD
              Only  display the value of the DMI string identified by KEYWORD.
              KEYWORD must be a keyword from the following list:  bios-vendor,
              bios-version,  bios-release-date,  system-manufacturer,  system-
              product-name, system-version, system-serial-number, system-uuid,
              system-family,  baseboard-manufacturer,  baseboard-product-name,
              baseboard-version, baseboard-serial-number, baseboard-asset-tag,
              chassis-manufacturer, chassis-type, chassis-version, chassis-se‐
              rial-number, chassis-asset-tag, processor-family, processor-man‐
              ufacturer, processor-version, processor-frequency.  Each keyword
              corresponds to a given DMI type and a given offset  within  this
              entry  type.   Not all strings may be meaningful or even defined
              on all systems. Some keywords may return more than one result on
              some  systems (e.g.  processor-version on a multi-processor sys‐
              tem).  If KEYWORD is not provided or not valid, a  list  of  all
              valid  keywords  is  printed  and dmidecode exits with an error.
              This option cannot be used more than once.

              Note: on Linux, most of these strings can alternatively be  read
              directly   from  sysfs,  typically  from  files  under  /sys/de‐
              vices/virtual/dmi/id.  Most of these files are even readable  by
              regular users.

       -t, --type TYPE
              Only  display the entries of type TYPE. TYPE can be either a DMI
              type number, or a comma-separated list of  type  numbers,  or  a
              keyword  from the following list: bios, system, baseboard, chas‐
              sis, processor, memory, cache, connector, slot. Refer to the DMI
              TYPES  section  below  for details.  If this option is used more
              than once, the set of displayed entries will be the union of all
              the  given  types.  If TYPE is not provided or not valid, a list
              of all valid keywords is printed and dmidecode exits with an er‐
              ror.

       -H, --handle HANDLE
              Only display the entry whose handle matches HANDLE.  HANDLE is a
              16-bit integer.

       -u, --dump
              Do not decode the entries, dump their  contents  as  hexadecimal
              instead.   Note that this is still a text output, no binary data
              will be thrown upon you. The strings attached to each entry  are
              displayed  as  both hexadecimal and ASCII. This option is mainly
              useful for debugging.

           --dump-bin FILE
              Do not decode the entries, instead dump the DMI data to  a  file
              in  binary  form.  The  generated  file  is  suitable to pass to
              --from-dump later.

           --from-dump FILE
              Read the DMI data from a binary file previously generated  using
              --dump-bin.

           --no-sysfs
              Do not attempt to read DMI data from sysfs files. This is mainly
              useful for debugging.

           --oem-string N
              Only display the value of the OEM string number N. The first OEM
              string has number 1. With special value "count", return the num‐
              ber of OEM strings instead.

       -h, --help
              Display usage information and exit

       -V, --version
              Display the version and exit

       Options --string, --type, --dump-bin  and  --oem-string  determine  the
       output format and are mutually exclusive.

       Please  note  in  case  of  dmidecode is run on a system with BIOS that
       boasts new SMBIOS specification, which is not  supported  by  the  tool
       yet,  it  will print out relevant message in addition to requested data
       on the very top of the output. Thus informs the output data is not  re‐
       liable.

DMI TYPES
       The SMBIOS specification defines the following DMI types:

       Type   Information
       ────────────────────────────────────────────
          0   BIOS
          1   System
          2   Baseboard
          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
         40   Additional Information
         41   Onboard Devices Extended Information

         42   Management Controller Host Interface

       Additionally,  type 126 is used for disabled entries and type 127 is an
       end-of-table marker. Types  128  to  255  are  for  OEM-specific  data.
       dmidecode will display these entries by default, but it can only decode
       them when the vendors have contributed documentation or code for them.

       Keywords can be used instead of type numbers with --type.  Each keyword
       is equivalent to a list of type numbers:

       Keyword     Types
       ──────────────────────────────
       bios        0, 13
       system      1, 12, 15, 23, 32
       baseboard   2, 10, 41
       chassis     3
       processor   4
       memory      5, 6, 16, 17
       cache       7
       connector   8
       slot        9

       Keywords  are  matched  case-insensitively. The following command lines
       are equivalent:

       • dmidecode --type 0 --type 13

       • dmidecode --type 0,13

       • dmidecode --type bios

       • dmidecode --type BIOS

BINARY DUMP FILE FORMAT
       The binary dump files generated by --dump-bin and  read  using  --from-
       dump are formatted as follows:

       • The  SMBIOS  or  DMI  entry  point  is located at offset 0x00.  It is
         crafted to hard-code the table address at offset 0x20.

       • The DMI table is located at offset 0x20.

FILES
       /dev/mem   /sys/firmware/dmi/tables/smbios_entry_point   (Linux   only)
       /sys/firmware/dmi/tables/DMI (Linux only)

BUGS
       More often than not, information contained in the DMI tables is inaccu‐
       rate, incomplete or simply wrong.

AUTHORS
       Alan Cox, Jean Delvare

SEE ALSO
       biosdecode(8), mem(4), ownership(8), vpddecode(8)

dmidecode                         March 2012                      DMIDECODE(8)

И теперь давайте конкретнее, отдельно рассмотрим список DMI-типов и Ключевых слов и примеры их исользования:
DMI TYPES
       The SMBIOS specification defines the following DMI types:

       Type   Information
       ────────────────────────────────────────────
          0   BIOS
          1   System
          2   Baseboard
          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
         40   Additional Information
         41   Onboard Devices Extended Information

         42   Management Controller Host Interface

       Additionally,  type 126 is used for disabled entries and type 127 is an
       end-of-table marker. Types  128  to  255  are  for  OEM-specific  data.
       dmidecode will display these entries by default, but it can only decode
       them when the vendors have contributed documentation or code for them.

       Keywords can be used instead of type numbers with --type.  Each keyword
       is equivalent to a list of type numbers:

       Keyword     Types
       ──────────────────────────────
       bios        0, 13
       system      1, 12, 15, 23, 32
       baseboard   2, 10, 41
       chassis     3
       processor   4
       memory      5, 6, 16, 17
       cache       7
       connector   8
       slot        9

       Keywords  are  matched  case-insensitively. The following command lines
       are equivalent:

       • dmidecode --type 0 --type 13

       • dmidecode --type 0,13

       • dmidecode --type bios

       • dmidecode --type BIOS
  
И давайте посмотрим на перевод DMI-типов и ключевых слов:
    	Тип	Ключевое слово
    	──────────────────────────────
    	0   BIOS
    	1   Система
    	2   Материнская плата
    	3   Корпус
    	4   Процессор
    	5   Контроллер памяти
    	6   Модуль памяти
    	7   Кэш-память
    	8   Разъемы портов
    	9   Системные разъемы
    	10  Интегрированные устройства
    	11  OEM строка
    	12  Опции системной конфигурации
    	13  Язык BIOS
    	14  Групповые ассоциации
    	15  Журнал системных событий
    	16  Массив физической памяти
    	17  Устройство памяти
    	18  32-битные ошибки памяти
    	19  Отображаемый адрес массива памяти
    	20  Отображаемый адрес устройства памяти
    	21  Встроенное указывающее устройство
    	22  Портативная батарея
    	23  Перезапуск системы
    	24  Аппаратная безопасность
    	25  Система управления электропитанием
    	26  Датчик напряжения
    	27  Охлаждающее устройство
    	28  Датчик температуры
    	29  Датчик текущих параметров электропитания
    	30  Внешний удаленный доступ
    	31  Службы целостности загрузки
    	32  Загрузка системы
    	33  64-битовые ошибки памяти
    	34  Управляющее устройство
    	35  Компоненты управляющего устройства
    	36  Пороговые данные управляющего устройства
    	37  Канал памяти
    	38  IPMI Устройство
    	39  Блок питания
    	40  Добполнительная ифнормация
    	41  Расширенная ифнормация об устройствах на мат. плате
    	42  Интерфейс управления хост-контроллером
        
       Дополнительно, тип 126 используется для отключенных параметров,
       а тип 127 является маркером конца таблицы.
       Типы с 128 по 255 предназначены для специальных OEM-данных.
       dmidecode будет отображать эти параметры по умолчанию,
       но он может декодировать их только в том случае,
       если поставщики предоставили документацию или код для них.

       Вместо номеров типов можно использовать Ключевые слова также с помощью тегов -t или--type.
       Каждое ключевое слово эквивалентно списку номеров типов:

       Кл. слово   Тип
       ──────────────────────────────
       bios        0, 13
       system      1, 12, 15, 23, 32
       baseboard   2, 10, 41
       chassis     3
       processor   4
       memory      5, 6, 16, 17
       cache       7
       connector   8
       slot        9
       
       Ключевые слова подбираются без учета регистра.
       Следующие команды эквивалентны (одинаковы по исполнению):
       
       • dmidecode --type 0 --type 13

       • dmidecode --type 0,13

       • dmidecode --type bios

       • dmidecode --type BIOS
       
       или
       
       • dmidecode -t 0 -t 13

       • dmidecode -t 0,13

       • dmidecode -t bios

       • dmidecode -t BIOS
  


Как это работает?
Давайте на конкретных примерах с вами и посмотрим.

Например, давайте узнаем, а какое питание (вольты: 1.5 или 1.35) используется для нашего модуля(ей) памяти.
Согласно списку Типов и Ключевых слов, за вывод сведений об Устройсвах памяти (Memory Devices) отвечают:
- Тип: 17
- Ключевое слово: Memory Device

И, соответсвтенно, для выполнения нашей задачи мы выполним в Терминале (Ctrl+Alt+T) по очереди следующие команды:
(данная команда даст вывод не конкретно по питанию, а по всем параметрам модулей памяти)
sudo dmidecode --type 17
sudo dmidecode -t 17
sudo dmidecode --type Memory Device
sudo dmidecode -t Memory Device
sudo dmidecode --type memory Device
sudo dmidecode -t memory device

В результате, во всех случаях мы получим абсолютно один и тот же, одинаковый результат и вывод, кстати, наглядно говорящий нам о нашей "хотелке" - питании модуля памяти - в самой нижней строке, а именно - Configured Voltage: 1.35 V (см. в Спойлере):
Вывод dmidecode:
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x0018, DMI type 17, 40 bytes
Memory Device
    Array Handle: 0x0005
    Error Information Handle: Not Provided
    Total Width: Unknown
    Data Width: Unknown
    Size: No Module Installed
    Form Factor: Other
    Set: None
    Locator: Bottom-Slot 1(top)
    Bank Locator: ChannelA
    Type: Unknown
    Type Detail: None
    Speed: Unknown
    Manufacturer: Not Specified
    Serial Number: Not Specified
    Asset Tag: Not Specified
    Part Number: Not Specified
    Rank: Unknown
    Configured Clock Speed: Unknown
    Minimum Voltage: Unknown
    Maximum Voltage: Unknown
    Configured Voltage: Unknown

Handle 0x0006, DMI type 17, 40 bytes
Memory Device
    Array Handle: 0x0005
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: SODIMM
    Set: None
    Locator: Bottom-Slot 2(under)
    Bank Locator: ChannelB
    Type: DDR3
    Type Detail: Synchronous Unbuffered (Unregistered)
    Speed: 1600 MT/s
    Manufacturer: Ramaxel
    Serial Number: 436BC413
    Asset Tag: 9876543210
    Part Number: RMT3170MN68F9F1600
    Rank: 1
    Configured Clock Speed: 1600 MT/s
    Minimum Voltage: Unknown
    Maximum Voltage: Unknown
    Configured Voltage: 1.35 V

Ну, и для примера, давайте выведем с вами сведения, к примеру, о двух устройствах на нашем компьютере/ноутбуке одной командой (разные варианты написания).

Например о наших Корпусе (Chassis) и Процессоре (Processor):
- Типы: 3 и 4
- Ключевые слова: Chassis и Processor

sudo dmidecode --type 3,4
sudo dmidecode -t 3,4
sudo dmidecode --type Chassis --type Processor
sudo dmidecode -t Chassis -t Processor
sudo dmidecode -t processor -t chassis
sudo dmidecode --type processor -t Chassis

И также, в результате выполнения любой из команд, получим один и тот же вывод, но уже о двух устройствах (см. в Спойлере):
Вывод dmidecode:
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x0003, DMI type 3, 22 bytes
Chassis Information
    Manufacturer: To Be Filled By O.E.M.
    Type: Desktop
    Lock: Not Present
    Version: To Be Filled By O.E.M.
    Serial Number: ES11953342
    Asset Tag:                     
    Boot-up State: Safe
    Power Supply State: Safe
    Thermal State: Safe
    Security Status: None
    OEM Information: 0x00000000
    Height: Unspecified
    Number Of Power Cords: 1
    Contained Elements: 0
    SKU Number: To be filled by O.E.M.

Handle 0x003E, DMI type 4, 42 bytes
Processor Information
    Socket Designation: SOCKET 0
    Type: Central Processor
    Family: Core i5
    Manufacturer: Intel
    ID: C3 06 03 00 FF FB EB BF
    Signature: Type 0, Family 6, Model 60, Stepping 3
    Flags:
        FPU (Floating-point unit on-chip)
        VME (Virtual mode extension)
        DE (Debugging extension)
        PSE (Page size extension)
        TSC (Time stamp counter)
        MSR (Model specific registers)
        PAE (Physical address extension)
        MCE (Machine check exception)
        CX8 (CMPXCHG8 instruction supported)
        APIC (On-chip APIC hardware supported)
        SEP (Fast system call)
        MTRR (Memory type range registers)
        PGE (Page global enable)
        MCA (Machine check architecture)
        CMOV (Conditional move instruction supported)
        PAT (Page attribute table)
        PSE-36 (36-bit page size extension)
        CLFSH (CLFLUSH instruction supported)
        DS (Debug store)
        ACPI (ACPI supported)
        MMX (MMX technology supported)
        FXSR (FXSAVE and FXSTOR instructions supported)
        SSE (Streaming SIMD extensions)
        SSE2 (Streaming SIMD extensions 2)
        SS (Self-snoop)
        HTT (Multi-threading)
        TM (Thermal monitor supported)
        PBE (Pending break enabled)
    Version: Intel(R) Core(TM) i5-4430 CPU @ 3.00GHz
    Voltage: 1.2 V
    External Clock: 100 MHz
    Max Speed: 3000 MHz
    Current Speed: 3000 MHz
    Status: Populated, Enabled
    Upgrade: Socket BGA1155
    L1 Cache Handle: 0x0040
    L2 Cache Handle: 0x003F
    L3 Cache Handle: 0x0041
    Serial Number: Not Specified
    Asset Tag: Fill By OEM
    Part Number: Fill By OEM
    Core Count: 4
    Core Enabled: 4
    Thread Count: 4
    Characteristics:
        64-bit capable

Таким образом можно легко получить полный и исчерпывающий вывод информации о всех параметрах присутствующих в вашем компьютере/ноутбуке железок с помощью данной утилиты и теперь мы с вами знаем и умеем ей пользоваться и применять.

Всем приятного пользования утилитой dmidecode и успехов!!!

P.S. Если у вас появились вопросы или мнения по данной статье, обсудить их можно на нашем форуме:

8 комментариев :

  1. Спасибо за очень полезную информацию!

    ОтветитьУдалить
  2. Геморрой для продвинутых ОБЕЗЬЯН - http://linux-bash.ru/menusistem/106-dmidecode.html
    Удалять комменты - ПРОСТО, на а думать ГОЛОВОЙ НЕВОЗМОЖНО!!!
    Удачи ТЕБЕ ОБЕЗЬЯНКА!!!
    ВСЁ ГЕНИАЛЬННОЕ ПРОСТО. И ВСЁ ПРОСТОЕ ГЕНИАЛЬНО.....

    ОтветитьУдалить
  3. Владимир, здравствуйте. Ууупссс. Вижу заблокированного. И вообще, побродила по Вашему блогу. Это же надо во всём этом так разбираться. Представить даже не могу себе. Здорово.

    ОтветитьУдалить
    Ответы
    1. Здравствуйте, много-уважаемая, Вика!
      Да, вот, побаливаем этим...

      Спасибо за добрые слова!!!

      Удалить
  4. Туалетная бумага ТЕБЕ В ПОМОЩЬ!!!Твой анус заменяет тебе МОЗГИ!!!

    ОтветитьУдалить
  5. Этот комментарий был удален автором.

    ОтветитьУдалить