Windows 7 为什么只有某些版本的Windows 7 x64才将NTOSKRNL.exe IMAGE_MACHINETYPE头字段设置为x86?

Windows 7 为什么只有某些版本的Windows 7 x64才将NTOSKRNL.exe IMAGE_MACHINETYPE头字段设置为x86?,windows-7,kernel,64-bit,Windows 7,Kernel,64 Bit,我使用的是Windows7家庭高级版x64。我想知道为什么我的system32目录中ntoskrnl头中的IMAGE_MACHINETYPE字段指定为x86。IDA甚至让我将其分解为原生x86 然而在我的Windows7Pro机器上,image_machinetype是x64。我是不是错过了什么。。或者为什么ntoskrnl 32位在64位操作系统上?我猜是在x64体系结构上,在切换到长模式(64位)之前调用BIOS引导ntoskrnl.exe的main()入口点。因此,就其入口点而言,它将是一

我使用的是Windows7家庭高级版x64。我想知道为什么我的system32目录中ntoskrnl头中的IMAGE_MACHINETYPE字段指定为x86。IDA甚至让我将其分解为原生x86


然而在我的Windows7Pro机器上,image_machinetype是x64。我是不是错过了什么。。或者为什么ntoskrnl 32位在64位操作系统上?

我猜是在x64体系结构上,在切换到长模式(64位)之前调用BIOS引导ntoskrnl.exe的main()入口点。因此,就其入口点而言,它将是一个x86应用程序,但exe中内核映像的其余部分将是64位。

我无法回答原因,但请记住,加载ntoskrnl.exe的加载程序可以忽略此位,按原样加载文件。。。很好的发现,虽然。。。