Trong Windows, không có cách nào được hỗ trợ riêng để chặn các tiến trình nhất định truy cập vào các ổ đĩa nhất định, điều này "đi ngược lại với bản chất hiện tại" cách hệ điều hành xử lý truy cập ổ đĩa.
Quyền truy cập được xác định bởi quyền của người dùng đã đăng nhập, người khởi động ứng dụng. Vì vậy, nếu nhà phát triển phần mềm quyết định phần mềm của anh ta nên tìm kiếm tất cả các ổ đĩa có thể truy cập và không cung cấp cho bạn tùy chọn tắt nó ... tốt, đó là chương trình tồi không xem xét trường hợp sử dụng cụ thể của bạn. Nhưng có một vài cách giải quyết.
Giải pháp "chắc chắn" duy nhất là 2, vì lớp ảo hóa phần cứng (từ máy ảo) có thể chặn bất kỳ ứng dụng nào để cố gắng truy cập hoàn toàn vào "phần cứng thực". Mặc dù tôi không có trường hợp giải pháp 1 không hoạt động, nhưng về mặt lý thuyết tôi nghĩ rằng nó có thể được bỏ qua.
Tùy chọn "1" - Vô hiệu hóa các ổ đĩa ở mức "thấp" - Không cần phần mềm bổ sung
Lựa chọn 1a
Có thể vô hiệu hóa âm lượng ở lớp thấp hơn bằng cách vô hiệu hóa các ổ đĩa hoàn toàn, nhưng điều này sẽ vô hiệu hóa tất cả các ổ đĩa trên ổ đĩa. Bằng tay, bạn có thể làm điều đó bằng cách bắt đầu diskmgmt.msc, sau đó nhấp chuột phải vào ổ đĩa và đánh dấu là "ngoại tuyến".

Nếu cần, bạn cũng có thể làm điều đó bằng cách sử dụng tập lệnh dòng lệnh. Nó sẽ được áp dụng một cách tương tự như Tùy chọn 3a / b. Bạn có thể làm điều đó, ví dụ, thông qua cmd như được mô tả ở đây hoặc qua PowerShell, như được mô tả ở đây .
Tùy chọn 1b
Bạn có thể tắt hoàn toàn trình điều khiển của ổ đĩa. Để thực hiện thủ công: bắt đầu diskmgmt.msc, sau đó nhấp chuột phải, chọn "tùy chọn". Sau đó đi đến "Trình điều khiển" -Tab và chọn "Hủy kích hoạt". Ổ đĩa sẽ "biến mất" trong trình quản lý đĩa và sẽ không thể truy cập được thông qua hệ điều hành nữa. Trừ khi phần mềm không thực thi các lệnh mã máy để giao tiếp trực tiếp với phần cứng, không nên có cách nào để ứng dụng truy cập vào các ổ đĩa. Ít nhất là theo sự hiểu biết của tôi về các hoạt động trong và ngoài hệ điều hành.

Nếu cần, bạn cũng có thể làm điều đó bằng cách sử dụng tập lệnh dòng lệnh. Nó sẽ được áp dụng một cách tương tự như Tùy chọn 3a / b, ví dụ , Devcon.exe. Bạn có thể tìm thấy một mô tả chi tiết ở đây .
Tùy chọn 2 - Sử dụng môi trường ảo (chủ yếu là với phần mềm bên thứ 3)
Nếu chạy ứng dụng trong môi trường ảo là một tùy chọn, có rất nhiều giải pháp:
tùy thuộc vào phiên bản Windows của bạn (yêu cầu Win7 trở lên) và giấy phép ("Chuyên nghiệp" bắt buộc, "Nhà" sẽ không làm), bạn chỉ có thể sử dụng Hyper-V để thiết lập môi trường ảo mà không cần bất kỳ phần mềm bên thứ ba nào.
bạn có thể sử dụng phần mềm của bên thứ ba để thiết lập một hệ thống ảo như VMplayer, Virtual Box, v.v. Có nhiều phần mềm thay thế miễn phí và phần mềm trả tiền. Bằng cách sử dụng giải pháp này, bạn sẽ cần giấy phép thứ hai cho Windows (hoặc bạn không có giấy phép, nhưng sau đó bạn sẽ nhận được một lớp phủ ở góc dưới bên phải của màn hình sẽ cho bạn biết đăng ký Windows). Điều này chắc chắn sẽ ngăn phần mềm truy cập vào ổ đĩa.
bạn có thể sử dụng ứng dụng "hộp cát". Nhưng nó sẽ phụ thuộc vào mức độ lan truyền của ứng dụng hộp cát. Trong một số trường hợp, nó có thể giải quyết vấn đề; trong các trường hợp khác, nó không. Sandboxie, ví dụ (một harrymc mô tả trong câu trả lời của anh ta ), không giải quyết được vấn đề với cấu hình harrymc được mô tả trong câu trả lời (bản gốc) của anh ta. Mặc dù phần mềm có thể chặn quyền truy cập, ổ đĩa vẫn sẽ tăng tốc. Một cách khác là sử dụng một ứng dụng hộp cát khác như Cameyo, v.v.
Nhân tiện, đây là một bài viết hay cho sự khác biệt chính giữa các phần mềm ảo hóa khác nhau, đặc biệt là sự khác biệt giữa một máy ảo "toàn bộ" (như Virtual Box) hoặc các ứng dụng "bán ảo" (như Sandboxie).
Tùy chọn 3 - Chỉ ngắt kết nối âm lượng (để ổ đĩa "nguyên vẹn") - Không cần phần mềm bổ sung, NHƯNG nó có thể không hoạt động trong trường hợp của bạn
Lựa chọn 3a
Thay vì khởi động ứng dụng thông qua phím tắt thông thường, bạn có thể viết một tệp bó bằng lệnh mountvoltrước tiên ngắt âm lượng không sử dụng, sau đó khởi động ứng dụng và sau đó lặp lại âm lượng khi ứng dụng không truy cập vào ổ đĩa nữa. Quá trình gắn / ngắt kết nối thông qua dòng lệnh được mô tả ở đây và đây . Bạn cũng có thể sử dụng diskpartnhư được mô tả ở đây và ở đây .
Tùy chọn 3b
Ngoài ra, bạn có thể chỉ cần bỏ ổ đĩa nói chung và gắn nó thông qua một tệp bó gắn ổ đĩa mà bạn bắt đầu bằng tay khi cần. Sau khi sử dụng xong, bạn có thể ngắt kết nối thủ công bằng tệp bó thứ hai. Bạn có thể tự động hóa điều đó bằng cách giám sát các yêu cầu truy cập hệ thống tệp và gắn kết / ngắt kết nối ổ đĩa theo yêu cầu theo các quy tắc nhất định, ví dụ như các ứng dụng nhất định sẽ không có quyền truy cập. Nhưng tôi không chắc tự động hóa có giá trị nỗ lực thêm.
Tùy chọn 4 - Hạn chế quyền truy cập vào ký tự ổ đĩa (âm lượng). Cách thực hiện đơn giản, nhưng cần có hai công cụ nhỏ của Microsoft - NHƯNG nó có thể không hoạt động trong trường hợp của bạn
Nếu bạn muốn làm điều đó mà không cần phần mềm của bên thứ 3 nhưng đừng ngại sử dụng hai công cụ nhỏ của Microsoft (nếu bạn chưa sử dụng phần mềm này). Tôi thích giải pháp này vì nó gặp phải vấn đề "tận gốc" (sự khác biệt giữa quyền của người dùng và quyền của ứng dụng) và nó khá đơn giản và không cần phần mềm bên thứ ba "lớn".
Về cơ bản, bạn thêm người dùng không có quyền truy cập vào ổ đĩa và sau đó bạn khởi động chương trình với các quyền hạn chế đó (bạn vẫn sẽ đăng nhập với tư cách là người dùng thông thường, bạn sẽ không sử dụng tài khoản bị hạn chế để đăng nhập).
Thêm tài khoản người dùng.
Hạn chế quyền truy cập của tài khoản người dùng mới vào ổ đĩa bằng cách sử dụng Windows Access Control cho hệ thống tệp. Dưới đây là một tốt Làm thế nào-To bao gồm ảnh chụp màn hình.
Sau đó, bắt đầu phần mềm với các quyền đó. Ví dụ, bạn có thể sử dụng PsExec.exe để làm điều đó hoặc Process Explorer, đây là cách thực hiện . Một trong hai thứ đó bạn sẽ phải tải xuống từ trang web của Microsoft, nếu bạn chưa có chúng.