Jak rozpoznać martwą instalację systemu Windows w systemie Windows, mając dostęp tylko do jej systemu plików? [duplikować]

11

Moje pytanie nie ma tam odpowiedzi, ponieważ wszystkie są specyficzne dla systemu Windows i chcę rozwiązania dla systemu Linux.

Mam martwą instalację systemu Windows w jednej z moich partycji. Nie ma już żadnych danych rozruchowych. W praktyce jest to tylko zrzut systemu plików. Ale mam dostęp do odczytu dowolnych plików w systemie plików.

Jak mogę ustalić, która to wersja systemu Windows? W idealnym przypadku myślę, że powinno być jakieś ustawienie konfiguracji lub dowolny plik, który jest unikalny dla różnych wersji systemu Windows. Na przykład na dystrybucjach Linuksa opartych na Debianie mogłem po prostu czytać /etc/debian_version.

Jak mogę zrobić to samo w przypadku Win?

Rozszerzenie nr 1: Niestety mam dostęp tylko do Linux-a, aby dostać się na jego dysk twardy. Tak więc rozwiązania wymagające systemu Windows (na przykład kopanie w wersji ntoskrnl.exelub sprawdzanie niektórych ustawień rejestru) nie są w moim przypadku możliwe.

peterh - Przywróć Monikę
źródło
4
Niestety to pytanie nie zawierało wymaganej przeze mnie odpowiedzi. Rozwiązaniem, które znalazłem, było to, że C:\Windows\System32\License.rtfzawiera wersję systemu Windows.
peterh - Przywróć Monikę
To jest wciąż duplikat pytania.
Moab
1
@Moab Moje pytanie dotyczy tylko Linuksa, podczas gdy drugie ma tylko odpowiedzi specyficzne dla systemu Windows.
peterh - dozbrojenie Monica
3
Chciałbym, aby to pytanie zostało zduplikowane, w rzeczywistości drugie pytanie wymaga działającej instalacji systemu Windows, podczas gdy to dotyczy Linuksa. Okazało się, że to jest odpowiedź na pytanie: strings ./Windows/System32/ntoskrnl.exe 2>/dev/null | grep amd64. Dla mnie w wersji drukowanej 9600.18258.amd64fre.winblue_ltsb.160303-0600i googlowania dla winblue wskazuje, że był to kryptonim dla Windows 8.1.
David Faure
2
Szkoda, że ​​jest to oznaczone jako duplikat. Aby uzyskać informacje z Linuksa, można to zrobić za pomocą hivexget. Dodałem szczegóły do ​​tego drugiego pytania: superuser.com/a/1383325/53547
mivk

Odpowiedzi:

4

Prosty. Spójrz na wersję<drive>:\Windows\System32\ntoskrnl.exe

W przypadku XP poszukaj <drive>:\boot.ini

Jeśli jest to Vista +, możesz poszukać <drive>:\Bootfolderu.

W systemie Windows 7+ możesz sprawdzić w menedżerze urządzeń ukrytą System Reservedpartycję.

Jeśli license.rtfw C:\Windows\System32folderze znajduje się plik o nazwie , zawiera on również bieżącą wersję systemu Windows.

td512
źródło
Dziękuję Ci bardzo! Jest to Win7 +. Problem polega na tym, że nie mam już partycji „System Reserved”. Mam tylko normalne C :. Jak mogę zobaczyć wersję ntoskrnl.exe?
Peter - Przywróć Monikę
W końcu rozwiązałem przez license.rtf, ale twoje inne rozwiązania były również przydatne. Dziękuję Ci bardzo!
peterh - Przywróć Monikę
@peterh do wykorzystania w przyszłości, kliknij prawym przyciskiem myszy, szczegóły. Zobaczysz informacje takie jak (w moim przypadku:NT OS & Kernel. Version: 6.1.7601
td512
Dla odniesienia: Microsoft Windows XP [Version 5.1.2600](podczas uruchamiania cmd.exe)
Hannu,
Err ... ^ - czyli XP Pro „2002” SP 3-32-bitowy, Microsoft Windows [Version 6.3.9600]Windows 8.1 Pro (64-bitowy)
Hannu
1

Możesz także przesyłać strumieniowo

strings cmd.exe | find "Version"może też działać. Większość plików ma wersję okien w swoim arkuszu właściwości, który jest widoczny w surowym pliku binarnym na jego końcu. Jednym z nich jest wersja systemu Windows. Jest jednak w trybie Unicode.

wendy.krieger
źródło
1
1) find "Version"jest rzeczą systemu Windows, mam Linux i używam grep. 2) Dało tylko tajemnicze dane XML, jedyne informacje o wersji były takie jak „5.1.0.0”, które mogą być dowolne między winxp a win7. Ale twoja odpowiedź może być przydatna dla pracowników Google w przyszłości, więc oto +1.
peterh - Przywróć Monikę
Możesz załadować go do jakiegoś edytora tekstu lub przeglądarki i spójrz tam, grep -i "Version"zrobi to samo, co Windows „znajdź”.
wendy.krieger
find /i "search-data"== grep -i "search-data".
Hannu,