分享

科普知识:Windows 下的 Program Files (x86) 文件夹是干什么的?

 bubbi7 2017-01-13

今天在微博上看到有人问这个问题。在装好 64 位的 Windows 之后,能在系统盘(通常是 C 盘)下看到这么一个文件夹,它比我们都知道的 Program Files 文件夹多出来个”(x86)“的后缀。那这个带”x86″的文件夹和不带”x86″的有什么区别呢?

简单来说:Program Files (x86) 存放了一些 32 位的系统文件。它和正常的 Program Files 以及 Windows 文件夹一样,都属于系统文件夹,请勿随意改动。

64 位 Windows 中提供了一种技术,Windows on Windows 64(即 WoW64)。它可以使 32 位的应用程序正常地运行在 64 位的 Windows 中,这样用户在从 32 位到 64 位过渡的过程中,不会感受到很大的不便。为了能让 32 位的程序正常运行,64 位的 Windows 中自带了一大部分的 32 位的系统文件,当 32 位程序运行的时候,系统会给它虚拟出一个 32 位的环境,这样 32 位程序会以为自己运行在 32 位 Windows 中。Windows 的系统文件主要是存放在 %SystemDrive%\Program Files 和 %Windir%\System32 中(即通常的 C:\Program Files 和 C:\Windows\System32)。64 位系统中,这两个文件夹存放的是 64 位的系统文件,为了存放 32 位的同名系统文件,64 位系统中有另外两个文件夹与之对应,%SystemDrive%\Program Files (86) 和 %Windir%\SysWoW64(即通常的 C:\Program Files (86) 和 C:\Windows\SysWoW64)。

当 32 位程序需要访问 Program Files 或者 System32 中的文件时,系统会自动转向到 Program Files (x86) 或者 SysWoW64 中,这样 32 位的程序就可以正常的在 64 位 Windows 中运行了。类似的情况也发生在应用程序安装的时候,64 位的程序一般都会被安装到 Program Files 中,而 32 位的程序则是装在 Program Files (x86) 中。

从 64 位系统的角度来说,WoW64 只是提供了兼容 32 位程序的方法,而系统本身则完全是 64 位的,所以把 Program Files (x86) 和 SysWoW64 这两个文件夹删除,并不会影响系统的正常运行,但是这种做法是非常不推荐的。现在 64 位应用程序的普及率并不高,很多厂商不愿意在 64 位方面投入大量精力,比如常用的聊天工具和多媒体播放工具等。在实际使用过程中,很难避免使用 32 位的应用程序,所以还是把 WoW64 留着吧。

另外补充一些常见问题:
为什么 C 盘和 D 盘下都有 Program Files (x86)?
Program Files、 Program Files (x86) 和 Windows 文件夹通常都存在于同一个盘(分区)中,如果某个盘下面只有 Program Files 而没有 Windows 的话,则它不是系统文件夹,删除后不影响系统运行,当然有可能会影响某些软件。

在命令行(DOS)下如何进行 Program Files (x86) 文件夹
现代的 Windows 都支持长文件名了,可以直接 CD “Program Files” 或者 CD “Program Files (x86)”,注意加引号。
如果你是在原古的 DOS 环境下,文件(夹)名称只能有 8 个字符那么长,而 Program Files 显然是多于 8 个字符了,它会被自动缩写成如 “progra~1” 的形式,在 C 盘下运行 CD progra~1 命令可以进行 Program Files,或者 CD progra~2 进入 Program Files (x86)。
更复杂的方法可以参考这篇文章

32 位和 64 位系统有什么差异?
请看这里

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多