¿Cómo identificar la versión de Windows de una instalación muerta desde Linux teniendo acceso solo a su sistema de archivos? [duplicar]

11

Esta pregunta ya tiene una respuesta aquí:

Mi pregunta no tiene una respuesta allí, porque todas son específicas de Windows y quiero una solución de Linux.

Tengo una ventana muerta instalada en una de mis particiones. Ya no tiene datos de arranque. Prácticamente, es solo un volcado del sistema de archivos. Pero tengo acceso para leer cualquier archivo en su sistema de archivos.

¿Cómo podría identificar qué versión de Windows es? En el caso ideal, creo que debería haber algún ajuste de configuración o cualquier archivo que sea exclusivo de las diferentes versiones de Windows. Por ejemplo, en las distribuciones de Linux basadas en Debian, simplemente podría leer /etc/debian_version.

¿Cómo podría hacer lo mismo en una victoria?

Extensión # 1: Desafortunadamente, solo tengo acceso a una caja de Linux para llegar a su disco duro. Por lo tanto, las soluciones que requieren Windows (por ejemplo, cavar en la versión ntoskrnl.exeo verificar algunas configuraciones de registro) no son factibles en mi caso.

Peter
fuente
44
Desafortunadamente, esta pregunta no contenía la respuesta que requiero. La solución que encontré fue que C:\Windows\System32\License.rtfcontiene la versión de Windows.
peterh
Todavía es una pregunta duplicada.
Moab
1
@Moab Mi pregunta es específica de Linux, mientras que la otra solo tiene respuestas específicas de Windows.
Peter
3
Desearía que esta pregunta fuera deduplicada, de hecho, la otra pregunta requiere una instalación de Windows que funcione, mientras que esta es sobre Linux. He descubierto que esto responde a la pregunta: strings ./Windows/System32/ntoskrnl.exe 2>/dev/null | grep amd64. Para mí 9600.18258.amd64fre.winblue_ltsb.160303-0600, impreso , y googlear para winblue indica que este era el nombre en código de Windows 8.1.
David Faure
2
Lástima que esto esté marcado como duplicado. Para obtener la información de Linux, se puede hacer con hivexget. He añadido los detalles a esa otra pregunta: superuser.com/a/1383325/53547
mivk

Respuestas:

4

Sencillo. Mira la versión de<drive>:\Windows\System32\ntoskrnl.exe

En el caso de XP, busque <drive>:\boot.ini

Si es Vista +, puede buscar la <drive>:\Bootcarpeta.

Para Windows 7+, puede buscar en el administrador de dispositivos la System Reservedpartición oculta .

Si hay un archivo con nombre license.rtfen su C:\Windows\System32carpeta, también contiene su versión actual de Windows.

td512
fuente
¡Muchas gracias! Es Win7 +. El problema es que ya no tengo la partición "Sistema reservado". Solo tengo el C normal: ¿Cómo puedo ver la versión de ntoskrnl.exe?
peterh
Finalmente lo resolví con license.rtf, pero sus otras soluciones también fueron útiles. ¡Muchas gracias!
peterh
@peterh para referencia futura, haga clic derecho, detalles. Verá información como (en mi caso:NT OS & Kernel. Version: 6.1.7601
td512
Para referencia: Microsoft Windows XP [Version 5.1.2600](al iniciar cmd.exe)
Hannu
Err ... ^ - eso es XP Pro "2002" SP 3 - 32bit, Microsoft Windows [Version 6.3.9600]es Windows 8.1 Pro (64 bit)
Hannu
1

También puedes transmitir

strings cmd.exe | find "Version"podría funcionar también. La mayoría de los archivos tienen la versión de Windows en su hoja de propiedades, que es visible en el binario sin formato cerca del final. Una de ellas es la versión de Windows. Sin embargo, está en Unicode.

wendy.krieger
fuente
1
1) find "Version"es una cosa de Windows, tengo Linux y uso grep. 2) Solo proporcionó datos xml crípticos, la única información de versión era algo como "5.1.0.0", que puede ser cualquier cosa entre winxp y win7. Pero su respuesta puede ser útil para los googlers del futuro, así que aquí hay un +1.
peterh
Puede cargarlo en algún tipo de editor de texto o visor, y mirar allí, grep -i "Version"hará lo mismo que Windows 'buscar'.
wendy.krieger
find /i "search-data"== grep -i "search-data".
Hannu