很多网友在使用电脑的过程中遇到这样一个奇怪的现象:无论程序放在哪里,当程序打开时,都会无法运行或指向另一个程序。但是,如果对程序进行重命名,就会发现它可以正常运行。经过研究发现,这是因为系统被镜像劫持,会导致注册表中冗余文件过多,造成系统堵塞。如何才能解决这个问题?
一、什么是映像胁持(IFEO)?
“映像劫持”,也称为“IFEO”(映像文件执行选项),旨在为某些程序执行程序提供特殊的环境设置,这些程序执行程序在默认系统环境中运行时可能会导致错误。当一个可执行程序在IFEO的控制下,它的内存分配是根据程序的参数设置的,WindowsN T架构系统在通过这个注册表项加载程序时,可以使用与可执行程序文件名匹配的项作为控制依据,最终设置一个程序的堆管理机制和一些辅助机制。为了简化起见,IFEO通过忽略路径来匹配它想要控制的程序文件名,所以不管程序放在哪个路径,只要名称不变,就会乱序运行。
在“HKEY _ local _ machine software Microsoft windows nt current version image file执行选项”中,将与可执行程序文件名匹配的项作为程序加载时的控制依据,最终可以设置程序的堆管理机制和一些辅助机制。大概是微软考虑到添加路径控制会造成判断麻烦和操作不灵活,容易导致注册表冗余,所以IFEO采用了忽略路径的方式来匹配自己想要控制的程序文件名。
图像文件执行选项位于注册表中:
HKEY _ LOCAL _ MACHINE SOFTWARE Microsoft Windows NT current version Image文件执行选项