Sự khác biệt giữa Thư mục “Program Files (x86)” và “Program Files” trong Windows

Tác giả sysadmin, T.M.Một 02, 2022, 03:42:43 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Sự khác biệt giữa Thư mục "Program Files (x86)" và "Program Files" trong Windows là gì


Rất có thể bạn có cả thư mục "C: \ Program Files" và "C: \ Program Files (x86)" trên PC Windows của mình. Nếu bạn quan sát xung quanh, bạn sẽ thấy rằng một số chương trình của bạn được cài đặt trong một thư mục và một số chương trình được cài đặt trong thư mục kia.


1. Windows 32 bit so với 64 bit

Ban đầu, Windows chỉ có sẵn dưới dạng  hệ điều hành 32-bit. Trên các phiên bản 32-bit của Windows — thậm chí cả các phiên bản 32-bit của Windows 10, hiện vẫn có sẵn ngày nay — bạn sẽ chỉ thấy một thư mục "C: \ Program Files".

Thư mục Tệp Chương trình này là vị trí được khuyến nghị nơi các chương trình bạn cài đặt sẽ lưu trữ tệp thực thi, dữ liệu và các tệp khác của chúng. Nói cách khác, các chương trình cài đặt vào thư mục Tệp Chương trình.

Trên phiên bản Windows 64-bit, các ứng dụng 64-bit cài đặt vào thư mục Tệp Chương trình. Tuy nhiên, các phiên bản Windows 64-bit cũng hỗ trợ các chương trình 32-bit và Microsoft không muốn phần mềm 32-bit và 64-bit bị trộn lẫn vào cùng một chỗ. Vì vậy, thay vào đó, các chương trình 32-bit được cài đặt vào thư mục "C: \ Program Files (x86)".

Windows chạy các ứng dụng 32-bit trên phiên bản Windows 64-bit bằng cách sử dụng một cái gì đó được gọi là  WOW64, viết tắt của "Windows 32-bit trên Windows 64-bit".

Khi bạn chạy chương trình 32 bit trên phiên bản Windows 64 bit, lớp mô phỏng WOW64 chuyển hướng liền mạch quyền truy cập tệp của nó từ "C: \ Program Files" sang "C: \ Program Files (x86)." Chương trình 32-bit cố gắng truy cập thư mục Tệp Chương trình và được trỏ đến thư mục Tệp Chương trình (x86). Các chương trình 64-bit vẫn sử dụng thư mục Program Files bình thường.

2. Những gì được lưu trữ trong mỗi thư mục


Tóm lại, trên phiên bản Windows 32 bit, bạn chỉ có một thư mục "C: \ Program Files". Điều này chứa tất cả các chương trình đã cài đặt của bạn, tất cả đều là 32-bit.

Trên phiên bản Windows 64 bit, các chương trình 64 bit được lưu trữ trong thư mục "C: \ Program Files" và các chương trình 32 bit được lưu trữ trong thư mục "C: \ Program Files (x86)".

Đó là lý do tại sao các chương trình khác nhau được trải rộng trên hai thư mục Program Files, dường như là ngẫu nhiên. Các tệp trong thư mục "C: \ Program Files" là 64-bit, trong khi các tệp trong thư mục "C: \ Program Files (x86)" là 32-bit.

3. Tại sao họ lại chia ra?

Đây là một tính năng tương thích được thiết kế cho các chương trình 32-bit cũ. Các chương trình 32-bit này có thể không biết rằng phiên bản Windows 64-bit thậm chí còn tồn tại, vì vậy Windows giữ chúng tránh xa mã 64-bit đó.

Các chương trình 32-bit không thể tải thư viện 64-bit ( tệp DLL ) và có thể gặp sự cố nếu họ cố gắng tải một tệp DLL cụ thể và tìm thấy tệp 64-bit thay vì 32-bit. Tương tự đối với các chương trình 64-bit. Giữ riêng biệt các tệp chương trình khác nhau cho các kiến ��trúc CPU khác nhau sẽ ngăn ngừa các lỗi như thế này xảy ra.

Ví dụ, giả sử Windows chỉ sử dụng một thư mục Program Files. Một ứng dụng 32 bit có thể tìm kiếm tệp DLL của Microsoft Office được tìm thấy trong C: \ Program Files \ Microsoft Office và cố gắng tải nó. Tuy nhiên, nếu bạn đã cài đặt phiên bản Microsoft Office 64 bit, ứng dụng sẽ bị lỗi và không hoạt động bình thường. Với các thư mục riêng biệt, ứng dụng đó sẽ không thể tìm thấy DLL vì phiên bản 64 bit của Microsoft Office sẽ ở C: \ Program Files \ Microsoft Office và ứng dụng 32 bit sẽ ở trong C : \ Program Files (x86) \ Microsoft Office.

Điều này cũng hữu ích khi nhà phát triển tạo cả hai phiên bản 32 bit và 64 bit của một ứng dụng, đặc biệt nếu cả hai cần được cài đặt cùng một lúc trong một số trường hợp. Phiên bản 32 bit tự động cài đặt vào C: \ Program Files (x86) và phiên bản 64 bit tự động cài đặt vào C: \ Program Files. Nếu Windows sử dụng một thư mục duy nhất, nhà phát triển ứng dụng sẽ phải  cài đặt thư mục 64-bit vào một thư mục khác  để giữ chúng riêng biệt. Và có thể sẽ không có tiêu chuẩn thực sự cho nơi các nhà phát triển cài đặt các phiên bản khác nhau.

4. Tại sao Thư mục 32-bit được đặt tên (x86)?


Không phải lúc nào bạn cũng thấy "32-bit" và "64-bit". Thay vào đó, đôi khi bạn sẽ thấy "x86" và "x64" để chỉ hai kiến ��trúc khác nhau này. Đó là bởi vì các máy tính đời đầu sử dụng chip Intel 8086. Các chip ban đầu là 16-bit, nhưng các phiên bản mới hơn trở thành 32-bit. "X86" bây giờ đề cập đến kiến ��trúc trước 64-bit — cho dù đó là 16-bit hay 32-bit. Thay vào đó, kiến ��trúc 64-bit mới hơn được gọi là "x64".

Đó là ý nghĩa của "Program Files (x86)". Đó là thư mục Tệp Chương trình dành cho các chương trình sử dụng kiến ��trúc CPU x86 cũ hơn. Tuy nhiên, chỉ cần lưu ý rằng phiên bản Windows 64 bit không thể  chạy mã 16 bit.

5. Điều này thường không quan trọng

Thông thường, việc các tệp của chương trình được lưu trữ trong Tệp Chương trình hay Tệp Chương trình (x86) không quan trọng. Windows tự động cài đặt các chương trình vào đúng thư mục, vì vậy bạn không cần phải suy nghĩ về điều đó. Các chương trình xuất hiện trong menu Bắt đầu và hoạt động bình thường, bất kể chúng được cài đặt ở đâu. Cả hai chương trình 32 bit và 64 bit nên lưu trữ dữ liệu của bạn trong các thư mục như  AppData  và  ProgramData, chứ không phải trong bất kỳ thư mục Program Files nào. Chỉ cần để các chương trình của bạn tự động quyết định sử dụng thư mục Program Files.

Nếu bạn đang sử dụng ứng dụng di động, ứng dụng này có thể chạy từ bất kỳ thư mục nào trên hệ thống của bạn, vì vậy bạn không phải lo lắng về việc đặt chúng ở đâu. Chúng tôi thích đưa các ứng dụng di động vào Dropbox hoặc một loại thư mục lưu trữ đám mây khác để chúng có sẵn trên tất cả các PC của chúng tôi.

Đôi khi bạn sẽ cần biết nơi chương trình được lưu trữ. Ví dụ: giả sử bạn muốn vào  thư mục Steam  để sao lưu một số tệp. Bạn sẽ tìm thấy nó trong C: \ Program Files (x86), vì Steam là một chương trình 32 bit.

Nếu bạn không chắc liệu chương trình bạn đã cài đặt có phải là 64-bit hay không và bạn đang tìm thư mục cài đặt của chương trình đó, bạn có thể cần phải xem trong cả hai thư mục Tệp chương trình để tìm nó.

Bạn cũng có thể xem trong Trình quản lý tác vụ của Windows 10.


Trên các phiên bản Windows 64-bit, các chương trình 32-bit được gắn thẻ bằng văn bản "(32-bit)" bổ sung, cho bạn dấu hiệu rằng bạn sẽ tìm thấy chúng trong C: \ Program Files (x86).