Cuando escaneo algunos ejecutables en mi directorio de Windows con ProtectionID , escaneé el Explorador de Windows. Y los resultados se dan a continuación.
Scanning -> C:\Windows\explorer.exe
File Type : 64-Bit Exe (Subsystem : Win GUI / 2), Size : 2871808 (02BD200h) Byte(s)
[!] Warning : Cpu is AMD, this file is for IA64 (incompatible)
[x] Warning - FileAlignment seems wrong.. no solution calculated (using NULL)
[File Heuristics] -> Flag : 00000000000001001101000000000000 (0x0004D000)
[CompilerDetect] -> Visual C++ 9.0 (Visual Studio 2008)
[!] File appears to have no protection or is using an unknown protection
- Scan Took : 0.548 Second(s)
Sé que mi procesador es Core 2 Duo y su arquitectura x64 como resultado de una bandera de advertencia. Pero el sistema operativo que he instalado es Windows 7 x64. Los resultados anteriores me hacen dudar de que mi sistema operativo es x64 o IA64. ¿Cómo puedo encontrar eso?
Actualización En la última versión de ProtectionID, esta advertencia falsa parece corregida.
exe
funciona (supongo que si no tendrías problemas serios con el sistema operativo)? Si es así, dudo que el software reciba una lectura válida, consulte con otra cosa.%PROCESSOR_ARCHITECTURE%
, yecho %PROCESSOR_ARCHITECTURE%
en el símbolo del sistema debe darleAMD64
(como usted dice que está utilizando un Core 2 Duo).msinfo32.exe
también debe tener un campo "Tipo de sistema", que dicex64-based PC
para mí en un procesador x86-64. No estoy seguro de cómo / por qué tiene un sistema binario IA64 ...Respuestas:
El tipo de CPU debe estar en la variable de entorno
%PROCESSOR_ARCHITECTURE%
yecho %PROCESSOR_ARCHITECTURE%
en el símbolo del sistema debe proporcionarleAMD64
un procesador x86-64. msinfo32.exe también debe tener un campo "Tipo de sistema", que dice PC basado en x64 para mí en un procesador x86-64. No estoy seguro de cómo / por qué tiene un sistema binario IA64 ...Parece ser un problema con ProtectionID:
Pero en la pestaña PE Stuff:
Haga clic para tamaño completo
fuente
Como el primer comentario sobre las notas Q, no hay una compilación IA64 de Windows 7. Para una versión IA64 debe usar el servidor.
Quizás la forma más confiable de determinar esta información es con WMI y las clases Win32_OperatingSystem y Win32_ComputerSystem .
Usando PowerShell y el
gwmi
alias paraGet-WmiObject
:Entonces, uno no es de 64 bits, y los otros dos son ambos x64, ninguno es IA64. 1 entonces:
Entonces, uno es Win2k8 de 32 bits, dos es Win2k8R2 de 64 bits y tres (localhost) es Win7 de 64 bits.
1 No tengo un sistema IA64 para verificar qué valor
SystemType
tendrá el campo.fuente
La arquitectura IA64 es completamente diferente de la arquitectura x86-64 (también conocida como AMD64), que es lo que la mayoría de las personas quieren decir cuando dicen 64 bits. Entonces, incluso si hubiera una versión de Windows 7 compatible con IA64 (que, como han señalado otras personas, no hay 1 ), requeriría un procesador Itanium , no podría instalarlo en un Core 2 Duo o cualquier otro sistema x86-64.
Editar: también, una forma alternativa de obtener la arquitectura del procesador con WMI (desde el símbolo del sistema o PS):
CPU
es un alias para la clase Win32_Processor , y los posibles valores 2 son (significados entre paréntesis):0
(x86)9
(x86-64)6
(Itanium)1 La última versión del cliente que admitió IA64 fue Windows XP; Windows Server 2008 R2 será la última versión del servidor .
2 Hay algunos otros, para arquitecturas como MIPS, Alpha y PowerPC, pero en su mayoría están allí por razones heredadas; Consulte el artículo de MSDN anterior para obtener todos los detalles.
fuente
Abra una ventana de comandos y ejecute lo siguiente:
fuente