Một quá trình ảo hóa là gì?


10

Tôi đã cài đặt MinGW và MSYS và chưa bao giờ thực sự quan tâm đến cách thức hoạt động của các nhị phân. Tuy nhiên, hôm nay tôi đã mở Process Explorer và nhận ra rằng tôi có một số quy trình ảo hóa :

Danh sách quy trình

Tôi biết rằng thường tạo / gcc / sh / mintty dành cho các hệ thống giống như POSIX / unix, tuy nhiên tôi nghĩ rằng các dự án MinGW / MSYS sẽ cung cấp các tệp thực thi riêng. Ảo hóa thường là một thuật ngữ tôi liên kết với các máy ảo và nó làm tôi bối rối một chút. Trình quản lý tác vụ thực sự gọi cột theo "ảo hóa UAC".

Vậy cờ ảo hóa trong Windows có nghĩa là gì? Đây có phải là một loại lớp tương thích cho các tệp thực thi trước Vista không?


Câu trả lời ngắn: có, đó là lớp tương thích cho các tệp thực thi trước Vista. (Câu trả lời Hơi dài hơn:. Vì thực thi nhiều như vậy giả định quá trình này sẽ luôn luôn có đặc quyền quản trị viên, mà trong Vista là nhiều ít có khả năng là sự thật)
Harry Johnston

Câu trả lời:


8

Về cơ bản, đó là một hệ thống tệp và 'trình bao bọc' sổ đăng ký để chuyển hướng các lần ghi tệp nếu người dùng không có quyền ghi chính xác, xem bài viết Wikipedia về UAC để biết thêm thông tin :

Các ứng dụng được viết với giả định rằng người dùng sẽ chạy với các đặc quyền của quản trị viên gặp phải sự cố trong các phiên bản Windows trước đó khi chạy từ tài khoản người dùng bị giới hạn, thường là do họ đã cố ghi vào thư mục toàn máy hoặc hệ thống (như Tệp chương trình) hoặc khóa đăng ký (đáng chú ý là HKLM). UAC cố gắng giảm bớt điều này bằng cách sử dụng Ảo hóa tệp và đăng ký, điều này chuyển hướng ghi (và các lần đọc tiếp theo) đến vị trí của mỗi người dùng trong hồ sơ người dùng.

Ví dụ: nếu một ứng dụng cố ghi vào thư mục như "C: \ Program Files \ appname \ settings.ini" mà người dùng không có quyền ghi, thì ghi sẽ được chuyển hướng đến "C: \ Users \ tên người dùng \ AppData \ Local \ VirtualStore \ Chương trình tập tin \ appname \ settings.ini ". Tính năng chuyển hướng chỉ được cung cấp cho các ứng dụng 32 bit không nâng cao và chỉ khi chúng không bao gồm một bảng kê khai yêu cầu các đặc quyền cụ thể.


1
Không. Không có sự chuyển hướng từ "tệp chương trình (x86)" sang "Tệp chương trình". Có chuyển hướng từ C:\Windows\System32đến C:\Windows\SysWOW64, nhưng trên thực tế, điều này được đề cập đến chuyển hướng WOW64, không phải là chuyển hướng ảo hóa.
Maximus

7

Journeyman Geek giải thích ảo hóa là gì. Tôi sẽ giải thích cách Windows xác định nhu cầu ảo hóa.

Hệ điều hành tìm trong tệp kê khai ứng dụng (hoặc tài nguyên PE) và nếu không tìm thấy tệp kê khai hoặc không có compatibilityphần thích hợp - Windows giả định rằng ứng dụng đó "cũ" và cho phép ảo hóa.

<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
 <application>
   <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>
   <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"></supportedOS>
 </application>
</compatibility>

Tái bút Ảo hóa các công trình cho registry (sub) phím thích HKEY_LOCAL_MACHINEđến HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.