Ich muss die Spezifikationen der Festplatte sowohl auf Win- als auch auf * nix-Maschinen erhalten. Ich habe <hdreg.h>
unter Linux so verwendet:
Ich brauche hd_driveid
, um mir mehr Informationen über die Festplatte zu geben. Ich möchte wissen:
Meine Fragen sind:
Fast alles in Ihrer Liste hat nichts mit "Spezifikationen der Festplatte" zu tun:
hd_driveid.sector_bytes
(normalerweise 512, aber einige moderne Laufwerke verwenden 4096) erreichen können. Mir ist keine maximale "Blockgröße" bekannt, die eine Eigenschaft des Dateisystems ist. Ich bin mir auch nicht sicher, warum das nützlich ist. Die Gesamtgröße in Sektoren ist in hd_driveid.lba_capacity_2
. Darüber hinaus kann die Größe in Bytes wahrscheinlich mit etwas wie
Beachten Sie, dass es in beiden Fällen wahrscheinlich einige Megabyte größer ist als die Größen, die mit C × H × S berechnet werden.
Es könnte helfen, wenn Sie uns sagen, warum Sie diese Information haben wollten ...
Nein, es gibt keinen plattformunabhängigen Weg. Es gibt sogar keinen * nix Weg. Es gibt nur Linux Weg.
Unter Linux sind alle relevanten Informationen in verschiedenen Dateien im /proc
Dateisystem verfügbar. Das /proc/devices
wird Ihnen sagen, welche Geräte es gibt (die Dateien in /dev/
können auch dann existieren, wenn die Geräte nicht verfügbar sind, obwohl das Öffnen in diesem Fall fehlschlägt).% Co_de% teilt Ihnen mit, welche Partitionen auf jedem verfügbar sind Festplatte und dann müssen Sie in den verschiedenen Unterverzeichnissen nach den Informationen suchen. Schauen Sie sich einfach auf einem Linux-System um, wo es ist, was Sie brauchen.
Für GNU / Linux sehen Sie sich dies an: Festplatten-Metadaten erhalten
Tags und Links c++ linux hard-drive hardware