# Hardware-Erkennung

Unter Hardwareerkennung oder Hardware-Erkennung (englisch hardware detection) versteht man im Bereich der Computertechnik das selbständige Finden, Initialisieren und Konfigurieren von in einem Computersystem vorhandenen Hardwarekomponenten durch Software. Einige Computersysteme, wie beispielsweise Personal Computer, bieten die Möglichkeit, die Hardware durch Steckkarten und Peripheriegeräte zu erweitern, aber auch die Erkennung einer an einem System angeschlossenen Festplatte zählt zur Hardwareerkennung. Vielfach führt die Systemfirmware eine erste Erkennung durch und gibt die durch die Erkennung und Initialisierung erhaltenen Informationen in Form standardisierter Firmwarekomponenten z. B. an Betriebssysteme weiter.
Betriebssysteme, die auf mehreren unterschiedlichen Computersystemen oder Architekturen laufen, benötigen im Vergleich zu für einzelne Computer ausgelegte Betriebssysteme eine erweiterte Hardwareerkennung.

## Firmware

Das BIOS initialisiert bei vielen Systemen die vorhandene Hardware. U. a. sucht es nach Festplatten und unterstützten Bootloadern. Oft bietet es auch erweiterte Konfigurationsmöglichkeiten für die vorhandene Hardware („BIOS-Setup“). Standardisierte Schnittstellen ermöglichen es Betriebssystemen, die dabei gesammelten Informationen direkt zu verwenden.
Rechner mit der x86-Architektur haben üblicherweise Firmware, die es dem Betriebssystem ermöglicht, während der Laufzeit weitere wichtige Systembauteile zu erkennen. Es handelt sich dabei um das Advanced Configuration and Power Interface (ACPI), welches bei IBM-kompatiblen PCs den Nachfolger von PCI-Plug & Play darstellt.
Bei Prozessor-Architekturen wie ARM muss der Hersteller des SoC oder des Boards dafür sorgen, dass das Betriebssystem beim Hochfahren die internen Komponenten des Rechnersystems initialisiert und die passenden Treiber lädt. Geräte der Arm-Architektur bieten im Vergleich zu der x86-Architektur keine Möglichkeit für eine automatische Hardwareerkennung der internen Hauptplatinenkomponenten.

## Betriebssystem

Standardisierte Schnittstellen wie ACPI ermöglichen es, dass Betriebssysteme mithilfe dieser Firmwarekomponenten selbstständig herausfinden können, welche Bauteile, wie beispielsweise Steckkarten und Peripheriegeräte, an der Hauptplatine (mainboard) angeschlossen sind. Hardware-Schnittstellen, wie ATA, PCI und USB, haben im Kommunikationsprotokoll die zusätzliche Funktion, Gerätedaten von angeschlossenen Bauteilen abzufragen und an das System zu leiten. Hardware-Schnittstellen sind auch dafür zuständig, bei Nachfragen des Systems von dem Bauteil eine Informationskette auszulesen, die die Gerätekategorie, den Hersteller und eine herstellerspezifische Bezeichnung enthält. Diese Information wird mit den in den installierten Gerätetreibern verglichen, bei Übereinstimmung wird der Treiber eingebunden. Wird ein Gerät erkannt, das in der zuletzt abgespeicherten Konfiguration nicht vorhanden ist, erfolgt die Einbindung nach Rückfrage.
Moderne Betriebssysteme haben bereits im Hochfahrprozess oftmals einen Systemdienst, der für die Hardware-Erkennung gestartet wird. Bei Hotplug-fähigen Schnittstellen wird so – mit dem Systemdienst – auch ein Wechsel der angeschlossenen Peripherie erkannt.

### Installation

Bei den allermeisten Betriebssystemen wird bei der Installation eine Hardwareerkennung durchlaufen. Das Betriebssystem wird dann so eingerichtet, dass alle Gerätetreiber beim Starten zur Verfügung stehen, damit das System auf die nötigen Dateien zugreifen kann.

### Live-System

Bei einem Live-System ist es essentiell, dass die jeweilige Hardware beim Starten erkannt wird, weil es bei einem solchen System oft nicht die Möglichkeit gibt, Konfigurationsdaten zu speichern.

### Linux

Bei vielen Linux-Distributionen, etwa SuSE und Debian, heißt das Programm hwinfo. Dieses Programm kann nur als root ausgeführt werden. Bei Red Hat heißt das Programm Kudzu. Große Desktopumgebungen wie GNOME und KDE enthalten jeweils eigene Programme zur benutzerfreundlichen Anzeige dieser Daten ohne Root-Zugriff.

### Windows

Auch unter Windows gibt es eine automatische Geräteerkennung. Diese kann auch manuell als Gerätemanager aufgerufen werden. Unter WinNT4 heißt das Programm ntdetect.com. Auf der WinNT4-Setup-CD befindet sich die Datei unter: \i386\debug\ntdetect.chk. Für Windows-Rechner existiert eine Version von hwinfo, die nach Installation ähnliche Ergebnisse liefert.
Plug-and-Play-Karten erleichtern dem Betriebssystem die Hardware-Erkennung. Probleme haben die Programme der Hardware-Erkennung mit exotischen oder alten Bauteilen, wie manchen ISA-Karten.
Insbesondere unter Übertakten beliebt sind übersichtliche Darstellungen von Hardwareinformationen, wie sie etwa durch das Programm CPU-Z erzeugt werden.

## Hardwareinformation

Es existieren Hilfsprogramme, welche die Anzeige der Informationen für verschiedene Zielgruppen besonders aufbereiten, diese nutzen aber meist denselben Mechanismus zur Erfassung der Daten.