[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:sudo:Root-Rechte erlangen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] [https://savannah.nongnu.org/projects/dmidecode dmidecode] {en} ist ein Kommandozeilenprogramm, welches Daten via [wikipedia:Desktop_Management_Interface:Desktop Management Interface] aus dem [wikipedia:BIOS:] auslesen kann. So kann man unter anderem Informationen über den Systemhersteller, Modell, BIOS-Version, die verwendeten Hardwarekomponenten und Anschlüsse, Seriennummer etc. in Erfahrung bringen. Dmidecode wird als Backend-Werkzeug von anderen Hardware-Erkennungsprogrammen verwendet. = Installation = Folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation dmidecode }}} Im Paket sind folgende zusätzlichen Werkzeuge enthalten: * [#Biosdecode `biosdecode`] - gibt alle gefundenen BIOS-Informationen aus, welche in '''/dev/mem''' hinterlegt sind. * `ownership` - gibt den Eigentümer aus (Compaq-Computer). * `vpddecode` - Produktdaten von IBM-Computern ausgeben. = Verwendung = Um an die benötigten Informationen zu gelangen, sind Root-Rechte [2] erforderlich. Ein Befehl im Terminal [3] ist immer wie folgt aufgebaut: {{{#!vorlage Befehl sudo dmidecode -OPTION }}} Einige mögliche Optionen sind in der folgenden Tabelle zu finden: ||<-3 tablestyle="width: 95%;" rowclass="titel"> Optionen|| || Befehl||Ausgabe||Beschreibung|| || dmidecode -h || [attachment:dmidecode/hilfe.txt:Ausgabe] ||Hilfe anzeigen|| || sudo dmidecode -s system-manufacturer || `TOSHIBA` ||Hersteller des Systems|| || sudo dmidecode -s system-product-name || `Satellite L40`|| Produktname des Systems|| || sudo dmidecode -s system-version || `PSL40E-02U01FGR` ||Modell Nr. des Systems|| || sudo dmidecode -s bios-version ||`V2.10 `|| Verwendete BIOS-Version|| || sudo dmidecode -s baseboard-manufacturer ||`TOSHIBA` ||Hersteller des Mainboards || || sudo dmidecode -s baseboard-product-name ||`Satellite L40` ||Produktname des Mainboards|| || sudo dmidecode -s baseboard-version ||`1.0`||Versionsnummer des Mainboards || || sudo dmidecode|| - || Alle verfügbaren Informationen ausgeben.|| || sudo dmidecode -t ''x'' || [#Beispiel Beispielausgabe] ||Informationen zum DMI-Type ''x'' (`0-41`) || || sudo dmidecode -t bios || [#Beispiel Beispielausgabe] || Alle verfügbaren Biosinformationen (Hersteller, Version, Sprache, ...)|| || sudo dmidecode -t processor || [#Beispiel Beispielausgabe] ||Informationen zum Prozessor|| Somit können Informationen über alle im BIOS verfügbaren Komponenten in Erfahrung gebracht werden. [[Anker(Beispiel)]] == Beispiele == Der folgende Befehl liefert Informationen zur Charakteristik des Mainbords (BIOS), z.B. PCI, ACPI, UEFI ... {{{#!vorlage Befehl sudo dmidecode -t 0 }}} {{{ # dmidecode 2.11 SMBIOS 2.7 present. Handle 0x0005, DMI type 0, 24 bytes BIOS Information Vendor: LENOVO Version: 65CN15WW Release Date: 06/05/2012 Address: 0xE0000 Runtime Size: 128 kB ROM Size: 6656 kB Characteristics: PCI is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported EDD is supported 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) CGA/mono video services are supported (int 10h) NEC PC-98 ACPI is supported USB legacy is supported BIOS boot specification is supported Function key-initiated network boot is supported Targeted content distribution is supported UEFI is supported BIOS Revision: 1.15 Firmware Revision: 1.18 }}} Der folgende Befehl ist ein erweiterter Befehl zu '''sudo dmidecode -t 0''', d.h. er listet nicht nur den Typ '''0''' auf, sondern alle korrespondierenden Typen dazu: {{{#!vorlage Befehl sudo dmidecode -t bios }}} Der folgende Befehl gibt detaillierte Informationen zum Prozessor aus: {{{#!vorlage Befehl sudo dmidecode -t processor }}} {{{ # dmidecode 2.9 SMBIOS 2.4 present. Handle 0x0004, DMI type 4, 35 bytes Processor Information Socket Designation: CPU 1 Type: Central Processor Family: Other Manufacturer: Intel ID: EC 06 00 00 FF FB E9 AF Version: Intel(R) Celeron(R) M CPU 440 @ 1.86GHz Voltage: 3.3 V 2.9 V External Clock: 532 MHz Max Speed: 1862 MHz Current Speed: 1867 MHz Status: Populated, Enabled Upgrade: Socket 423 L1 Cache Handle: 0x0005 L2 Cache Handle: 0x0006 L3 Cache Handle: Not Provided Serial Number: To Be Filled By O.E.M. Asset Tag: To Be Filled By O.E.M. Part Number: To Be Filled By O.E.M. }}} Weitere Parameter sind der [:man:Manpages] von '''dmidecode''' zu entnehmen. Auslesen bestimmter Informationen unter Einsatz von [:grep:]: ||<-2 tablestyle="width: 95%;" rowclass="titel"> Parameter|| || Befehl||Beschreibung|| || sudo dmidecode -t0 | grep EFI || Festellen ob das BIOS (U)EFI-fähig ist|| || sudo dmidecode | grep -A3 'BIOS Information' ||Informationen zum BIOS (3 Zeilen)|| || sudo dmidecode | grep -A3 'Base Board Information' ||Hersteller- und Geräteinformationen (3 Zeilen)|| || sudo dmidecode | grep -A 16 "Memory Device" | egrep "(Type|Speed)" ||RAM Geschwindigkeit ermitteln (16 Zeilen)|| == Biosdecode == Biosdecode liest die Gerätedatei '''/dev/mem''' aus und zeigt Informationen über Dinge, die das BIOS übermittelt (falls diese vorhanden sind). Momentan wird SMBIOS, DMI, SYSID, PNP, ACPI, BIOS32, PIR, 32OS, SNY, VPD und FJKEYINF unterstützt. Das Programm besitzt keine Kommandozeilenparameter. Man startet es einfach durch: {{{#!vorlage Befehl sudo biosdecode }}} Eine mögliche Ausgabe kann in etwa so aussehen: {{{ # biosdecode 2.9 ACPI 1.0 present. OEM Identifier: TOSINV RSD Table 32-bit Address: 0x3FE7E1F8 SMBIOS 2.31 present. Structure Table Length: 1148 bytes Structure Table Address: 0x000DC010 Number Of Structures: 36 Maximum Structure Size: 93 bytes BIOS32 Service Directory present. Revision: 0 Calling Interface Address: 0x000FD600 PNP BIOS 1.0 present. Event Notification: Not Supported Real Mode 16-bit Code Address: F000:BEF1 Real Mode 16-bit Data Address: 0040:0000 16-bit Protected Mode Code Address: 0x000FBF0F 16-bit Protected Mode Data Address: 0x00000400 PCI Interrupt Routing 1.0 present. Router ID: 00:1f.0 Exclusive IRQs: None Compatible Router: 8086:122e Slot Entry 1: ID 00:00, on-board Slot Entry 2: ID 00:07, on-board Slot Entry 3: ID 00:01, on-board Slot Entry 4: ID 01:00, slot number 6 Slot Entry 5: ID 00:02, on-board Slot Entry 6: ID 00:1b, on-board Slot Entry 7: ID 00:1c, on-board Slot Entry 8: ID 02:00, slot number 7 Slot Entry 9: ID 03:00, slot number 8 Slot Entry 10: ID 05:00, slot number 9 Slot Entry 11: ID 00:1d, on-board Slot Entry 12: ID 00:1e, on-board Slot Entry 13: ID 07:08, on-board Slot Entry 14: ID 07:06, on-board Slot Entry 15: ID 00:1f, on-board }}} ## == Ownership == ## == Vpddecode == = Links = * [https://www.nongnu.org/dmidecode Projektseite] {en} * [https://savannah.nongnu.org/projects/dmidecode Hauptseite] {en} * [https://dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf System Management BIOS (SMBIOS)] {en} PDF - Reference Specification * [man:dmidecode:Manpage] {en} * [:inxi:] - Kommandozeilenprogramm für Systeminformationen, dass u.a. auf dmidecode zurückgreift. # tag: System, Server