Meine Frage hat dort keine Antwort, da alle Windows-spezifisch sind und ich eine Linux-Lösung möchte.
Ich habe eine tote Windows-Installation in einer meiner Partitionen. Es hat keine Bootdaten mehr. Praktisch ist es nur ein Dateisystem-Dump. Aber ich habe Zugriff auf alle Dateien in seinem Dateisystem zu lesen.
Wie kann ich feststellen, um welche Windows-Version es sich handelt? Im Idealfall sollte es meiner Meinung nach eine Konfigurationseinstellung oder eine Datei geben, die für die verschiedenen Windows-Versionen eindeutig ist. Zum Beispiel konnte ich auf Debian-basierten Linux-Distributionen einfach lesen /etc/debian_version
.
Wie könnte ich dasselbe bei einem Gewinn tun?
Erweiterung Nr. 1: Leider habe ich nur Zugriff auf eine Linux-Box, um ihre Festplatte zu erreichen. Daher sind Lösungen, die Windows erfordern (z. B. das Durchsuchen der Version von ntoskrnl.exe
oder das Überprüfen einiger Registrierungseinstellungen), in meinem Fall nicht möglich.
quelle
C:\Windows\System32\License.rtf
die Windows-Version enthält.strings ./Windows/System32/ntoskrnl.exe 2>/dev/null | grep amd64
. Für mich bedeutet gedruckt9600.18258.amd64fre.winblue_ltsb.160303-0600
und googeln nach Winblue, dass dies der Codename für Windows 8.1 war.hivexget
. Ich fügte hinzu , um die Details zu dieser anderen Frage: superuser.com/a/1383325/53547Antworten:
Einfach. Schauen Sie sich die Version von an
<drive>:\Windows\System32\ntoskrnl.exe
Suchen Sie im Fall von XP nach
<drive>:\boot.ini
Wenn es Vista + ist, können Sie nach dem
<drive>:\Boot
Ordner suchen .Für Windows 7+ können Sie im Geräte-Manager nach der versteckten
System Reserved
Partition suchen .Wenn sich
license.rtf
in IhremC:\Windows\System32
Ordner eine Datei mit dem Namen befindet , enthält diese auch Ihre aktuelle Windows-Version.quelle
NT OS & Kernel. Version: 6.1.7601
Microsoft Windows XP [Version 5.1.2600]
(beim Starten von cmd.exe)Microsoft Windows [Version 6.3.9600]
ist Windows 8.1 Pro (64 Bit)Sie könnten auch streamen
strings cmd.exe | find "Version"
könnte auch funktionieren. Die meisten Dateien haben die Version von Windows in ihrem Eigenschaftenblatt, das in der Raw-Binärdatei am Ende angezeigt wird. Eine davon ist die Windows-Version. Es ist jedoch in Unicode.quelle
find "Version"
ist eine Windows-Sache, ich habe Linux und benutze Grep. 2) Es gab nur kryptische XML-Daten, die einzigen Versionsinformationen waren "5.1.0.0", die zwischen winxp und win7 liegen können. Aber Ihre Antwort kann für die Googler der Zukunft nützlich sein, also hier ist eine +1.grep -i "Version"
wird dasselbe tun wie Windows 'find'.find /i "search-data"
==grep -i "search-data"
.