Windows에서는 특정 프로세스가 특정 드라이브에 액세스하는 것을 차단하는 기본 지원 방법이 없습니다. 즉, 운영 체제가 드라이브 액세스를 처리하는 방식이 "현재와 유사"합니다.
액세스 권한은 응용 프로그램을 시작한 로그온 한 사용자의 권한에 의해 결정됩니다. 따라서 소프트웨어 개발자가 자신의 소프트웨어가 모든 액세스 가능한 드라이브를 검색해야하고 드라이브를 끌 수있는 옵션을 제공하지 않기로 결정한 경우에는 특정 사용 사례를 고려하지 않는 나쁜 프로그래밍입니다. 그러나 몇 가지 해결 방법이 있습니다.
(가상 머신의) 하드웨어 가상화 계층이 모든 애플리케이션이 "실제 하드웨어"에 완전히 액세스하는 것을 차단할 수 있기 때문에 유일한 "확실한"솔루션은 2입니다. 솔루션 1이 작동하지 않는 경우는 없지만 이론적으로는 우회 할 수 있다고 생각합니다.
옵션 "1"- "낮은 수준"에서 드라이브 비활성화-추가 소프트웨어 필요 없음
옵션 1a
드라이브를 모두 비활성화하여 하위 계층에서 볼륨을 비활성화 할 수 있지만 드라이브의 모든 볼륨이 비활성화됩니다. 수동으로 시작을 시작한 diskmgmt.msc다음 드라이브를 마우스 오른쪽 버튼으로 클릭하고 "오프라인"으로 표시하십시오.

필요한 경우 명령 줄 스크립트를 사용하여이를 수행 할 수 있어야합니다. 옵션 3a / b와 유사한 방식으로 적용됩니다. 예를 들어 여기에 설명 된대로 cmd 또는 여기에 설명 된대로 PowerShell을 통해이를 수행 할 수 있습니다 .
옵션 1b
드라이브 드라이버를 모두 비활성화 할 수 있습니다. 수동으로 수행하려면 : 시작 diskmgmt.msc을 마우스 오른쪽 버튼으로 클릭하고 "옵션"을 선택하십시오. 그런 다음 "드라이버"-탭으로 이동하여 "비활성화"를 선택하십시오. 디스크 관리자에서 드라이브가 "사라지고"운영 체제를 통해 더 이상 액세스 할 수 없습니다. 소프트웨어가 하드웨어와 직접 통신하기 위해 머신 코드 명령을 실행하지 않는 한 응용 프로그램이 드라이브에 액세스 할 수있는 방법이 없어야합니다. 최소한 운영 체제에 대한 정보를 알고있는 한.

필요한 경우 명령 줄 스크립트를 사용하여이를 수행 할 수 있어야합니다. 예를 들어을 사용하여 옵션 3a / b와 유사한 방식으로 적용됩니다 Devcon.exe. 자세한 설명은 여기를 참조 하십시오 .
옵션 2-가상 환경 사용 (주로 타사 소프트웨어와 함께)
가상 환경 내에서 응용 프로그램을 실행하는 것이 옵션이라면 다음과 같은 솔루션이 많이 있습니다.
Windows 버전 (Win7 이상 필요) 및 라이센스 ( "Professional"필요, "Home"은 수행하지 않음)에 따라 Hyper-V를 사용하여 타사 소프트웨어없이 가상 환경을 설정할 수 있습니다.
타사 소프트웨어를 사용하여 VMplayer, Virtual Box 등과 같은 가상 시스템을 설정할 수 있습니다. 많은 프리웨어 및 페이웨어 대안이 있습니다. 이 솔루션을 사용하면 Windows 용 보조 라이센스가 필요합니다 (또는 라이센스가없는 상태로두면 화면 오른쪽 하단에 Windows 등록을 지시하는 오버레이가 나타납니다). 이렇게하면 소프트웨어가 드라이브에 액세스하지 못하게됩니다.
"샌드 박스"응용 프로그램을 사용할 수 있습니다. 그러나 샌드 박스 응용 프로그램이 제공하는 가상화 수준에 따라 다릅니다. 어떤 경우에는 문제를 해결할 수 있습니다. 다른 경우에는 그렇지 않습니다. 예를 들어, harrymc가 그의 답변 에서 설명하는 Sandboxie 는 자신의 (원래) 답변에서 설명 된 구성 harrymc의 문제를 해결하지 못합니다. 소프트웨어가 액세스를 차단할 수는 있지만 드라이브는 계속 가동됩니다. 대안은 Cameyo 등과 같은 다른 샌드 박스 응용 프로그램을 사용하는 것입니다.
그건 그렇고, 여기 에 다른 가상화 소프트웨어의 주요 차이점, 특히 "가상"가상 머신 (가상 박스) 또는 "반 가상"응용 프로그램 (샌드 박스 등)의 차이점에 대한 좋은 기사 가 있습니다.
옵션 3-볼륨 만 마운트 해제 (드라이브는 "손상없이"남겨 두십시오)-추가 소프트웨어가 필요하지 않지만 귀하의 경우에는 작동하지 않을 수 있습니다
옵션 3a
일반 바로 가기를 통해 응용 프로그램을 시작하는 대신 mountvol먼저 사용하지 않는 볼륨을 마운트 해제 한 다음 응용 프로그램을 시작한 다음 응용 프로그램이 더 이상 드라이브에 액세스하지 않으면 볼륨을 다시 마운트하는 명령 을 사용하여 배치 파일을 작성할 수 있습니다. 커맨드 라인을 통한 마운트 / 마운트 해제 프로세스는 여기 와 여기에 설명 되어 있습니다 . 여기 및 여기에diskpart 설명 된대로 사용할 수도 있습니다 .
옵션 3b
또는 드라이브를 일반적으로 마운트 해제 한 상태로두고 필요할 때 수동으로 시작하는 드라이브를 마운트하는 배치 파일을 통해 마운트 할 수 있습니다. 사용이 끝나면 두 번째 배치 파일을 사용하여 수동으로 마운트를 해제 할 수 있습니다. 파일 시스템 액세스 요청을 모니터링하여 특정 규칙 (예 : 특정 응용 프로그램에 액세스 할 수 없음)에 따라 드라이브를 마운트 / 마운트 해제하여 자동화 할 수 있습니다. 그러나 자동화가 추가 노력을 기울일 가치가 있는지 확실하지 않습니다.
옵션 4-드라이브 문자 (볼륨)에 대한 액세스 제한 간단하지만 Microsoft의 두 가지 작은 도구가 필요했습니다. 그러나 귀하의 경우에는 작동하지 않을 수 있습니다
타사 소프트웨어없이 수행하고 싶지만 Microsoft의 두 가지 작은 도구를 사용하지 않아도됩니다 (아직 사용하지 않는 경우). 이 솔루션은 "루트에 의해"(사용자와 응용 프로그램의 권한에 따라 차이가 있음) 문제가 발생하고 상당히 간단하며 "큰"타사 소프트웨어가 필요하지 않기 때문에이 솔루션을 선호합니다.
기본적으로 드라이브에 액세스 할 수없는 사용자를 추가 한 다음 제한된 권한으로 프로그램을 시작합니다 (여전히 일반 사용자로 로그온하면 제한된 계정을 사용하여 로그온하지 않습니다).
사용자 계정을 추가하십시오.
파일 시스템에 Windows 액세스 제어를 사용하여 새 사용자 계정의 드라이브 액세스를 제한하십시오. 다음은 스크린 샷 을 포함하는 유용한 방법 입니다.
그런 다음 해당 권한으로 소프트웨어를 시작하십시오. 예를 들어 PsExec.exe를 사용하여 프로세스 탐색기 나 프로세스 탐색기를 수행 할 수 있습니다 . 방법은 다음과 같습니다 . 이 두 가지 중 하나가 없으면 Microsoft 웹 사이트에서 다운로드해야합니다 (아직없는 경우).