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の2番目のライセンスが必要です(または、ライセンスなしのままにしておきますが、画面の右下隅にWindowsを登録するよう指示するオーバーレイが表示されます)。これにより、ソフトウェアがドライブにアクセスできなくなります。
「サンドボックス」アプリケーションを使用できます。ただし、サンドボックスアプリケーションが提供する仮想化のレベルに依存します。場合によっては、問題を解決できます。他の場合には、そうではありません。たとえば、Sandboxie(彼の答えで harrymcが説明している)は、(元の)答えで説明されている構成harrymcの問題を解決しません。ソフトウェアがアクセスをブロックする可能性がありますが、ドライブは引き続き回転します。別の方法は、Cameyoなどの別のサンドボックスアプリケーションを使用することです。
ちなみに、異なる仮想化ソフトウェアの主な違い、特に「Virtual Boxのような」仮想マシンとSandboxieのような「半仮想」アプリケーションの違いについての良い記事があります。
オプション3-ボリュームのみをアンマウントする(ドライブを「そのまま」残す)-追加のソフトウェアは必要ありませんが、場合によっては機能しない可能性があります
オプション3a
通常のショートカットを使用してアプリケーションを起動する代わりに、コマンドmountvol
を使用してバッチファイルを記述し、最初に未使用のボリュームをアンマウントしてからアプリケーションを起動し、アプリケーションがドライブにアクセスしなくなったらボリュームを再マウントすることができます。コマンドラインを使用したマウント/アンマウントプロセスについては、こことここで説明します。こことここでdiskpart
説明されているように使用することもできます。
オプション3b
または、ドライブを一般的にアンマウントしたままにして、必要なときに手動で起動するドライブをマウントするバッチファイルを介してマウントすることもできます。使い終わったら、2番目のバッチファイルを使用して手動でアンマウントできます。ファイルシステムのアクセス要求を監視し、特定のアプリケーションにアクセスできないなどの特定のルールに従って、必要に応じてドライブをマウント/アンマウントすることにより、それを自動化できます。しかし、自動化に余分な労力をかけるだけの価値があるかどうかはわかりません。
オプション4-ドライブ文字(ボリューム)へのアクセスを制限します。簡単ですが、Microsoftの2つの小さなツールが必要です-しかし、あなたの場合はうまくいかないかもしれません
サードパーティのソフトウェアなしでそれを行いたいが、Microsoftの2つの小さなツールを使用することを気にしない場合(まだ使用していない場合)。「ルートによる」問題(ユーザーの権利とアプリケーションの権利の区別)を取得し、かなり単純であり、「大きな」サードパーティソフトウェアが必要ないため、このソリューションを好みます。
基本的に、ドライブにアクセスできないユーザーを追加し、それらの制限された権限でプログラムを起動します(通常のユーザーとしてログオンします。ログオンには制限付きアカウントを使用しません)。
ユーザーアカウントを追加します。
ファイルシステムのWindowsアクセス制御を使用して、ドライブへの新しいユーザーアカウントのアクセスを制限します。スクリーンショットを含む優れたハウツーを以下に示します。
次に、それらの権限でソフトウェアを起動します。たとえば、PsExec.exeを使用してそれを実行したり、プロセスエクスプローラーを使用したりできます。これらの2つのうちの1つは、まだ持っていない場合は、Microsoft Webサイトからダウンロードする必要があります。