今天在微博上看到有人問這個問題。在裝好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位系統有什麼差異?
請看這裡。