Wie erstellt Windows Festplatten-Partitions-Volume-GUIDs und warum enden diese häufig in 6963 - insbesondere für C: \ -Partitionen?

548
Protonus

Ich versuche zu ermitteln, wie Windows die GUID für ein bestimmtes Laufwerk erstellt. Was sind die verschiedenen Komponenten / Abschnitte einer bestimmten Volume-GUID, und was bezieht sich auch jeder Abschnitt in einer typischen GUID mit Bindestrich wie folgt: 26a21bda-a627-11d7-9931-806e6f6e6963

Zweitens, und der Grund, warum ich das feststellen möchte, ist, herauszufinden, warum die C: \ - Volume - GUID so oft in "6963" auf vielen Windows - Installationen endet. Da GUIDs größtenteils eindeutig sein sollen, gehe ich davon aus, wie diese GUIDs erstellt werden. Führt also häufig die C: \ GUID zu 6963? Das scheint eine ziemlich zufällige Zahl zu sein - aber wenn Sie die 6963-GUID verwenden, werden Sie feststellen, wie häufig sie ist! Ich arbeite mit Festplatten-Images von Servern in meinem Job und sehe die Volumen-GUIDs für Hunderte von Servern pro Woche. Die Tatsache, dass sie oft auf 6963 enden, hat mich viel zu oft neugierig gemacht.

Tatsächlich enthalten mehrere eigene Artikel von Microsoft, wie dieser, eine GUID, die auf 6963 endet: https://docs.microsoft.com/en-us/windows/desktop/fileio/naming-a-volume

Ich habe herumgesucht und finde sehr wenig Erklärungen darüber, wie diese GUIDs speziell für Festplatten-Volumes erstellt werden und / oder warum 6963 so oft der Endstring ist, insbesondere für C: \ -Partitionen.

Danke im Voraus!

1
Ich glaube nicht, dass irgendjemand außer einigen Microsoft-Ingenieuren die Antwort darauf kennt. LPChip vor 5 Jahren 2

1 Antwort auf die Frage

3
harrymc

Laut Wikipedia Universally unique Identifier endet die UUID mit einer "48-Bit-Node-ID".

RFC 4122 definiert die Knoten-ID als:

4.1.6. Knoten

Bei der UUID-Version 1 besteht das Knotenfeld aus einer IEEE 802-MAC-Adresse, normalerweise der Hostadresse. Bei Systemen mit mehreren IEEE 802-Adressen kann jede verfügbare verwendet werden. Das unterste adressierte Oktett (Oktett Nr. 10) enthält das globale / lokale Bit und das Unicast / Multicast-Bit und ist das erste Oktett der Adresse, die in einem 802.3-LAN übertragen wird.

Bei Systemen ohne IEEE-Adresse kann ein zufällig oder pseudozufällig generierter Wert verwendet werden. siehe Abschnitt 4.5. Das Multicast-Bit muss in solchen Adressen gesetzt werden, damit es niemals zu Konflikten mit Adressen von Netzwerkkarten kommt.

Bei der UUID-Version 3 oder 5 ist das Knotenfeld ein 48-Bit-Wert, der aus einem Namen aufgebaut ist, wie in Abschnitt 4.3 beschrieben.

Bei der UUID-Version 4 handelt es sich bei dem Knotenfeld um einen zufällig oder pseudozufällig generierten 48-Bit-Wert, wie in Abschnitt 4.4 beschrieben.

Die UUID-Version wird im ersten Byte der UUID gespeichert. Sobald Sie die Versionsnummer kennen, können Sie sich den Übereinstimmungsalgorithmus ansehen.

Aber am Ende werden einige Teile dunkel bleiben.

Die Artikel- GUIDs sind global eindeutig, aber Teilzeichenfolgen von GUIDs fügen nicht einige weitere Informationen hinzu, sondern fügen hinzu, dass die UUID beendet wird durch:

Sechs Bits sind festgelegt

Es wird keine Angabe dazu gemacht, was sie sind, aber es scheint aus dem Wikipedia-Artikel zu gehen, dass sie den Typ der UUID genauer identifizieren müssen, was die Wahrscheinlichkeit erhöht, dass die letzten Bytes wiederkehren. Diese Bytes sind sicherlich für alle auf demselben Computer generierten UUIDs identisch, wenn sie vom gleichen Typ sind.

Ich denke, das obige fasst ungefähr alles zusammen, was über UUIDs in Windows bekannt ist.

Die Version befindet sich in den höchstwertigen vier Bytes des siebten Bytes. Es scheint eine UUID der Variante 1 Version 1 zu sein. Die ersten 10 Bytes stammen aus Datum und Uhrzeit, und die letzten sechs sollten die MAC-Adresse sein. David Marshall vor 5 Jahren 0
@DavidMarshall: Dies gilt für UUID vom Typ 1, nicht jedoch für neuere Typen. harrymc vor 5 Jahren 0
Hmm, so scheint es, dass die letzten Ziffern von der MAC abgeleitet werden könnten, und da VMs möglicherweise sehr ähnliche MACs haben, weil sie virtuelle Geräte sind, die denselben Treiber verwenden, kann dies erklären, warum 6963 als Endzeichenfolge häufig verwendet wird die UUID? Aber um sicher zu sein, benötigen wir wahrscheinlich einen Microsoft Software Engineer, um dies zu bestätigen. Wenn ja, denke ich, dass es so gut ist, wie wir es jetzt bekommen werden. Danke Leute! Protonus vor 5 Jahren 0