Bagaimana cara mengidentifikasi versi Windows dari instalasi mati dari Linux dengan hanya memiliki akses ke sistem file? [duplikat]

11

Pertanyaan saya tidak ada jawaban di sana, karena semuanya khusus untuk windows dan saya ingin solusi linux.

Saya memiliki windows dead install di salah satu partisi saya. Itu tidak memiliki data boot lagi. Secara praktis, ini hanya dump sistem file. Tetapi saya memiliki akses untuk membaca file apa pun di sistem file-nya.

Bagaimana saya bisa mengidentifikasi, versi Windows apa itu? Dalam kasus ideal, saya pikir harus ada beberapa pengaturan konfigurasi atau file apa pun yang unik untuk versi Windows yang berbeda. Sebagai contoh, pada distro Linux berbasis Debian saya cukup membaca /etc/debian_version.

Bagaimana saya bisa melakukan hal yang sama pada Kemenangan?

Ekstensi # 1: Sayangnya, saya hanya memiliki akses ke kotak Linux untuk mencapai hard disk-nya. Jadi, solusi yang memerlukan Windows (misalnya, menggali dalam versi ntoskrnl.exe, atau memeriksa beberapa pengaturan registri) tidak dalam kasus saya layak.

peterh - Pasang kembali Monica
sumber
4
Sayangnya, pertanyaan ini tidak mengandung jawaban yang saya butuhkan. Solusi yang saya temukan adalah C:\Windows\System32\License.rtfversi Windows.
peterh
Ini masih merupakan pertanyaan rangkap.
Moab
1
@ Moab Pertanyaan saya adalah khusus untuk Linux, sedangkan yang lain hanya memiliki jawaban khusus untuk windows.
peterh
3
Saya berharap pertanyaan ini tidak terduplikasi, memang pertanyaan lain membutuhkan instalasi Windows yang berfungsi, sementara yang ini tentang Linux. Saya menemukan bahwa ini menjawab pertanyaan: strings ./Windows/System32/ntoskrnl.exe 2>/dev/null | grep amd64. Bagi saya di cetak 9600.18258.amd64fre.winblue_ltsb.160303-0600, dan googling untuk winblue menunjukkan bahwa ini adalah nama kode untuk Windows 8.1.
David Faure
2
Sayang sekali ini ditandai sebagai duplikat. Untuk mendapatkan info dari Linux, itu bisa dilakukan dengan hivexget. Saya menambahkan detail ke pertanyaan lain: superuser.com/a/1383325/53547
mivk

Jawaban:

4

Sederhana. Lihatlah versi<drive>:\Windows\System32\ntoskrnl.exe

Dalam hal XP, cari <drive>:\boot.ini

Jika itu adalah Vista + Anda dapat mencari <drive>:\Bootfolder tersebut.

Untuk Windows 7+ Anda dapat mencari di manajer perangkat untuk System Reservedpartisi tersembunyi .

Jika ada file bernama license.rtfdi C:\Windows\System32folder Anda , itu juga berisi versi Windows Anda saat ini.

td512
sumber
Terima kasih banyak! Ini adalah Win7 +. Masalahnya adalah saya tidak memiliki partisi "System Reserved" lagi. Saya hanya memiliki C normal :. Bagaimana saya bisa melihat versi ntoskrnl.exe?
peterh
Saya akhirnya diselesaikan oleh license.rtf, tetapi solusi Anda yang lain juga berguna. Terima kasih banyak!
peterh
@peterh untuk referensi di masa mendatang, klik kanan, detail. Anda akan melihat info seperti (dalam kasus saya:NT OS & Kernel. Version: 6.1.7601
td512
Untuk ref: Microsoft Windows XP [Version 5.1.2600](saat memulai cmd.exe)
Hannu
Err ... ^ - yaitu XP Pro "2002" SP 3 - 32bit, Microsoft Windows [Version 6.3.9600]adalah Windows 8.1 Pro (64 bit)
Hannu
1

Anda juga bisa streaming

strings cmd.exe | find "Version"mungkin bekerja juga. Sebagian besar file memiliki versi windows di lembar properti mereka, yang terlihat di biner mentah di dekat ujungnya. Salah satunya adalah versi windows. Ini di unicode.

wendy.krieger
sumber
1
1) find "Version"adalah hal windows, saya punya linux dan menggunakan grep. 2) Ini hanya memberikan data xml rahasia, satu-satunya info versi adalah beberapa seperti "5.1.0.0" yang dapat berupa apa saja antara winxp dan win7. Tetapi jawaban Anda mungkin berguna bagi para googler di masa depan, jadi inilah +1.
peterh
Anda dapat memuatnya di semacam editor teks atau penampil, dan lihat di sana, grep -i "Version"akan melakukan hal yang sama seperti windows 'find'.
wendy.krieger
find /i "search-data"== grep -i "search-data".
Hannu