Ketika saya memindai beberapa file executable di direktori windows saya dengan ProtectionID , saya kebetulan memindai Windows Explorer. Dan hasilnya diberikan di bawah ini.
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)
Saya tahu bahwa prosesor saya adalah Core 2 Duo dan itu arsitektur x64 yang mengakibatkan bendera peringatan. Tetapi OS yang saya instal adalah Windows 7 x64. Hasil di atas menimbulkan pertanyaan kepada saya bahwa OS saya adalah x64 atau IA64? Bagaimana saya bisa menemukan itu?
Pembaruan Dalam versi terbaru ProtectionID, peringatan palsu ini tampaknya sudah diperbaiki.
exe
berhasil (saya berasumsi kalau tidak Anda akan mengalami masalah OS serius)? Jika demikian, saya akan meragukan bahwa perangkat lunak ini diberikan bacaan yang valid, periksa dengan hal lain.%PROCESSOR_ARCHITECTURE%
, danecho %PROCESSOR_ARCHITECTURE%
di command prompt harus memberi AndaAMD64
(seperti yang Anda katakan Anda menggunakan Core 2 Duo).msinfo32.exe
seharusnya juga memiliki bidang "Jenis Sistem", yang mengatakanx64-based PC
untuk saya pada prosesor x86-64. Saya tidak yakin bagaimana / mengapa Anda memiliki sistem biner IA64 ...Jawaban:
Jenis CPU harus di variabel lingkungan
%PROCESSOR_ARCHITECTURE%
, danecho %PROCESSOR_ARCHITECTURE%
di command prompt harus memberi AndaAMD64
pada prosesor x86-64. msinfo32.exe juga harus memiliki bidang "Jenis Sistem", yang mengatakan PC berbasis x64 untuk saya pada prosesor x86-64. Saya tidak yakin bagaimana / mengapa Anda memiliki sistem biner IA64 ...Tampaknya ada masalah dengan ProtectionID:
Tetapi di tab PE Stuff:
Klik untuk ukuran penuh
sumber
Sebagai komentar pertama pada catatan Q, tidak ada IA64 membangun Windows 7. Untuk versi IA64 Anda harus menggunakan server.
Mungkin cara yang paling dapat diandalkan untuk menentukan informasi ini adalah dengan WMI dan kelas-kelas Win32_OperatingSystem dan Win32_ComputerSystem .
Menggunakan PowerShell dan
gwmi
alias untukGet-WmiObject
:jadi Satu bukan 64bit, dan dua lainnya keduanya x64, tidak ada yang IA64. 1 Kemudian:
Jadi Satu adalah Win2k8 32bit, Dua adalah Win2k8R2 64bit dan Tiga (localhost) adalah Win7 64bit.
1 Saya tidak memiliki sistem IA64 untuk memeriksa nilai
SystemType
bidang apa yang akan dimiliki.sumber
Arsitektur IA64 benar-benar berbeda dari arsitektur x86-64 (alias AMD64), yang merupakan arti kebanyakan orang ketika mereka mengatakan 64-bit. Jadi, bahkan jika ada versi Windows 7 yang kompatibel dengan IA64 (yang, seperti yang ditunjukkan orang lain, tidak ada 1 ), itu akan memerlukan prosesor Itanium , Anda tidak akan dapat menginstalnya pada Core 2 Duo atau sistem x86-64 lainnya.
Sunting: juga, cara alternatif untuk mendapatkan arsitektur prosesor dengan WMI (dari command prompt atau PS):
CPU
adalah alias untuk kelas Win32_Processor , dan nilai yang dimungkinkan 2 adalah (artinya dalam tanda kurung):0
(x86)9
(x86-64)6
(Itanium)1 Versi klien terakhir yang mendukung IA64 adalah Windows XP; Windows Server 2008 R2 akan menjadi versi server terakhir .
2 Ada beberapa yang lain, untuk arsitektur seperti MIPS, Alpha dan PowerPC, tetapi kebanyakan ada karena alasan warisan; lihat artikel MSDN di atas untuk detail lengkap.
sumber
Buka jendela Command dan jalankan yang berikut:
sumber