Windows 11 で Dev Drive を設定する

Dev Drive は、主要な開発者ワークロードのパフォーマンスを向上させるために使用できる、新しい形式のストレージ ボリュームです。

Dev Drive は、対象となるファイル システムの最適化を採用するために ReFS テクノロジに基づいて構築されており、ストレージ ボリュームの設定とセキュリティのより細かい制御 (信頼の指定、ウイルス対策の構成、アタッチするフィルターの管理制御など) が可能です。

一般的な開発操作の平均改善測定値については、ブログ投稿「Visual Studio のパフォーマンス向上のための Dev Drive と Dev Box」を参照してください。

Dev Drive の設定方法

新しい開発者ドライブを設定するには、Windows の [設定] を開き、[システム]>[ストレージ]>[ストレージの詳細設定]>[ディスクとボリューム] に移動します。 [Create Dev Drive]\(Dev Drive の作成\) を選択します。" *Dev Drive を設定する前に、前提条件が満たされていることを確認してください。"Dev Home のコンピューターの構成を使用して Dev Drive を設定することもできます。

[システム] > [ストレージ] > [ディスクとボリューム] のスクリーンショット

前提条件

  • Windows 11、ビルド #10.0.22621.2338 以降 (Windows 更新プログラムの確認)
  • 16 GB のメモリを推奨 (最小 8 GB)
  • 50 GB の最小空きディスク領域
  • Dev Drive はすべての Windows SKU バージョンで使用可能

最新の Windows 11 リリースに更新する場合は、Dev Drive 機能を利用できるようになる前に、追加の再起動が必要になる場合があります。 ビジネス エンタープライズ環境で作業している場合、Dev Drive を有効にするには、セキュリティ管理者が Dev Drive セキュリティ ポリシー を構成する必要があります。

警告

Dev Drive は主要な開発者シナリオのみを対象としています。カスタム設定は引き続き、ビジネスまたはエンタープライズの作業環境のグループ ポリシー設定の対象となります。 Dev Drive のセキュリティ ポリシーを構成する方法の詳細について説明します。

オプションを設定する

次の 3 つのオプションを使用できます。

  1. 新しい VHD を作成する - 新しい仮想ハード ディスクにボリュームをビルドします
  2. 既存のボリュームのサイズを変更する - ビルド先の未割り当て領域を新たに作成します
  3. ディスク上の未割り当て領域 - 既存のディスク上の未割り当て領域を使用します。" *このオプションは、以前にストレージで未割り当て領域を設定した場合にのみ表示されます。"

Dev Drive の作成を示すスクリーンショット

新しい VHD を作成する

新しい VHD を作成するオプションを選択して Dev Drive を設定する場合は、次を決定する必要があります。

  • 仮想ハード ディスク名: VHD (Dev Drive) に名前を付けます。
  • 場所: Dev Drive VHD が配置されるコンピューター上のディレクトリ パスを指定します。 既定の場所は C:\ です。ただし、Dev Home を使用して Dev Drive を作成している場合は例外です。その場合、既定の場所は %userprofile%\DevDrives です。 意図しない共有を回避するために、ユーザーごとのディレクトリ パスの場所を使用して Dev Drive を格納することをお勧めします。
  • 仮想ハード ディスク サイズ: 使用するボリュームに割り当てるディスク領域の量を指定します。最小サイズは 50 GB です。
  • 仮想ハード ディスク フォーマット:
    • VHD: 最大 2040 GB のサイズの仮想ディスクをサポートします。
    • VHDX (推奨): 最大 64 TB のサイズの仮想ディスクをサポートし、停電などの問題によって発生する予期しない IO 障害に対して、より回復性の高い保護を提供します。 VHD の管理に関する詳細情報
  • ディスクの種類:
    • 固定サイズ - この仮想ハード ディスク ファイルには、作成時に最大サイズが割り当てられます
    • 容量可変 - データの書き込みに伴って最大サイズまで拡張します (推奨)

これらのオプションを選択するプロセスが完了すると、Dev Drive が作成されます。

仮想ハード ディスクの作成とアタッチを示すスクリーンショット

既存のストレージ ボリュームを Dev Drive に変換することはできません。 Dev Drive の指定は、最初のフォーマット時にのみ行われます。

既存のボリュームのサイズを変更するか、既存のディスク上の未割り当て領域を使用する

既存のボリュームのサイズを変更するには:

  1. サイズを変更するボリュームを選択します。

    サイズを変更するボリュームを選択する Dev Drive の設定のスクリーンショット。

  2. ボリュームの新しいサイズを選択します。 Dev Drive に必要な最小サイズである 50 GB の未割り当て領域が少なくとも必要です。 サイズを設定したら、[次へ] を選択します。

    Dev Drive のサイズ変更設定を示すスクリーンショット。

  3. 新しい空き領域に Dev Drive をフォーマットするために、[ラベル] (ドライブ名)、[Drive Letter](ドライブ文字)[Size](サイズ) の割り当てを指定します。 最大サイズは、前の手順で割り当てた空き領域の量であり、Dev Drive の最小サイズは 50 GB です。

    Dev Drive のラベル、ドライブ文字、サイズの設定を示すスクリーンショット

おめでとうございます。 これで、Dev Drive のサイズが変更されました。

既存のドライブ上の未割り当て領域を検索して使用するには、[システム]>[ストレージ]>[ディスクとボリューム] を開き、ページに目を通して、いずれかの記憶領域に [未割り当て] と表示されているかどうかを確認します。 [ボリュームの作成] を選択すると、[Create Simple Volume]\(シンプル ボリュームの作成\) (標準の NTFS ストレージ ボリューム) または [Create Dev Drive]\(Dev Drive の作成\) の選択肢が表示されます。 Dev Drive を作成する手順は上記と同じです。[ラベル] (ドライブ名)、[Drive Letter](ドライブ文字) を追加し、[Size](サイズ) の割り当てを確認する必要があります。

未割り当てのストレージ領域がある [ディスクとボリューム] のストレージ一覧のスクリーンショット。

コマンド ラインからストレージ ボリュームを開発者ドライブとして書式設定する

Windows 設定を使用する代わりに、コマンド ラインから Dev Drive ストレージ ボリュームを作成する場合は 2 つのオプションがあります。 いずれのオプションも、管理者としてコマンド ラインを開く必要があります。 ハード ドライブをフォーマットするには、管理者グループのメンバーである必要があります。 複数の開発者ドライブを作成する場合や、複数のコンピューターの管理者として使用する場合は、これらのコマンド ラインの書式設定方法が推奨されます。

  1. Windows CMD または PowerShell から、次の Format コマンド ライン ツールを使用します。
Format D: /DevDrv /Q
  1. PowerShell から次の Format-Volume コマンドレットを使用します。
Format-Volume -DriveLetter D -DevDrive

これらのコード サンプルでは、ターゲットにするドライブの場所に D: を置き換える必要があります。 その他のオプションとコマンド パラメーターの詳細については、リンクを参照してください。

Dev Drive のしくみ

ストレージ ボリュームは、ディレクトリとファイルを使用して、特定の形式でファイル システムにデータを格納する方法を指定します。 Windows ではシステム ドライブに NTFS を使用し、ほとんどの非リムーバブル ドライブに既定で NTFS を使用しています。 Resilient File System (ReFS) は、Microsoft の新しいファイル システムであり、データの可用性を最大化し、さまざまなワークロードの大規模なデータ セットに対して効率的に拡張し、破損に対する回復性を備えたデータの整合性を提供するように設計されています。 拡大する一連のストレージ シナリオに対処し、将来のイノベーションの基盤を確立することを目指しています。

Dev Drive では ReFS が利用されているため、開発ワークロード専用のストレージ ボリュームを初期化できます。また、より高速なパフォーマンスを実現し、開発シナリオに合わせて最適化されたカスタマイズ可能な設定を使用できます。 ReFS には、主要な開発者シナリオのパフォーマンスを向上させるために、いくつかのファイル システム固有の最適化が含まれています。

Dev Drive でのセキュリティの処理方法の詳細については、こちらを参照してください。

Dev Drive に格納するファイル

Dev Drive は次を対象としています。

  • ソース コード リポジトリとプロジェクト ファイル
  • パッケージ キャッシュ
  • ビルドの出力ファイルと中間ファイル

Dev Drive は、次のような開発者ツールを格納するためのものではありません

  • Visual Studio
  • MSBuild
  • .NET SDK
  • Windows SDK など

これらのツールは、メインの C:\ ドライブに格納する必要があります。

注意

IT 管理者は、EOP 攻撃を回避するためのベスト プラクティスとして、マルチユーザー デバイス用のアクセス制御リスト (ACL) フォルダーをユーザーごとに作成する必要があります。

Dev Drive にパッケージ キャッシュを格納する

パッケージ キャッシュとは、インストールされているソフトウェアのファイルを格納するためにアプリケーションによって使用されるグローバル フォルダーの場所です。 これらのソース ファイルは、インストールされているソフトウェアを更新、アンインストール、または修復する際に必要です。 Visual Studio は、そのデータの大部分をパッケージ キャッシュに格納するアプリケーションの 1 つです。

  • Npm キャッシュ (NodeJS): Dev Drive に npm キャッシュ ディレクトリを作成し (例: D:\packages\npm)、グローバル環境変数 npm_config_cache をそのパスに設定します (例: setx /M npm_config_cache D:\packages\npm)。 コンピューターに NodeJS を既にインストールしている場合は、%AppData%\npm-cache の内容をこのディレクトリに移動します。 (一部のシステムでは、npm キャッシュは %LocalAppData%\npm-cache にあることがあります)。 詳細については、npm ドキュメントの npm-cachenpm config: cache を参照してください。

  • NuGet グローバル パッケージ フォルダー: NuGet グローバル パッケージ フォルダーは、dotnet、MSBuild、Visual Studio によって使用されます。 CopyOnWrite (CoW) ファイルシステムに、ユーザー固有の NuGet ディレクトリを作成します。 たとえば、 D:\<username>\.nuget\packagesと指定します。 次のいずれかの方法で、グローバル パッケージ フォルダーを既定の場所から新しく作成したフォルダーに変更します (グローバルにインストールされたパッケージを管理するため)。

    • グローバル環境変数 NUGET_PACKAGES を該当のパスに設定します。 たとえば、 setx /M NUGET_PACKAGES D:\<username>\.nuget\packagesと指定します。

    • 構成設定で、globalPackagesFolder (PackageReference を使用する場合) または repositoryPath (packages.config を使用する場合) を該当のパスに設定します。

    • RestorePackagesPath MSBuild プロパティ (MSBuild のみ) を該当のパスに設定します。

      global-packages フォルダーを確認するには、dotnet nuget locals コマンド dotnet nuget locals global-packages --list を実行します。 復元により、パッケージが新しいパスにインストールされ、ダウンロードされます。 既定の NuGet グローバル パッケージ フォルダーは削除できます。 詳細については、NuGet ドキュメント「グローバル パッケージ、キャッシュ、および一時フォルダーを管理する」を参照してください。

  • vcpkg キャッシュ: Dev Drive に vcpkg キャッシュ ディレクトリを作成し (例: D:\packages\vcpkg)、グローバル環境変数 VCPKG_DEFAULT_BINARY_CACHE をそのパスに設定します (例: setx /M VCPKG_DEFAULT_BINARY_CACHE D:\packages\vcpkg)。 パッケージを既にインストールしている場合は、%LOCALAPPDATA%\vcpkg\archives または %APPDATA%\vcpkg\archives の内容をこのディレクトリに移動します。 詳細については、vcpkg のドキュメント「バイナリ キャッシュ」を参照してください。

  • Pip キャッシュ (Python): Dev Drive に pip キャッシュ ディレクトリを作成し (例: D:\packages\pip)、グローバル環境変数 PIP_CACHE_DIR をそのパスに設定します (例: setx /M PIP_CACHE_DIR D:\packages\pip)。 コンピューターで pip パッケージと Wheel を既に復元している場合は、%LocalAppData%\pip\Cache の内容をこのディレクトリに移動します。 詳細については、pip ドキュメントの「pip キャッシュ」と StackOverflow の「Linux で pip キャッシュのディレクトリを変更するには?」を参照してください。

  • Cargo キャッシュ (Rust): Dev Drive に Cargo キャッシュ ディレクトリを作成し (例: D:\packages\cargo)、グローバル環境変数 CARGO_HOME をそのパスに設定します (例: setx /M CARGO_HOME D:\packages\cargo)。 コンピューターで Cargo パッケージを既に復元している場合は、%USERPROFILE%\.cargo の内容をこのディレクトリに移動します。 詳細については、Cargo ドキュメントの「Cargo 環境変数」を参照してください。

  • Maven キャッシュ (Java): Dev Drive に Maven キャッシュ ディレクトリを作成し (例: D:\packages\maven)、グローバル環境変数 MAVEN_OPTS を設定してそのパスに構成設定を追加します (例: setx /M MAVEN_OPTS "-Dmaven.repo.local=D:\packages\maven %MAVEN_OPTS%")。 %USERPROFILE%\.m2 の内容をこのディレクトリに移動します。 詳細については、Maven ドキュメントと StackOverflow の「.m2 フォルダーの代替場所を指定する、または settings.xml を永続的に編集する方法は?」を参照してください。

  • Gradle キャッシュ (Java): 開発ドライブに Gradle キャッシュ ディレクトリを作成します (例: D:\packages\gradle)。 次に、そのパスを指すようにグローバル環境変数の GRADLE_USER_HOME を設定します。たとえば、コマンド ラインで setx /M GRADLE_USER_HOME "D:\packages\gradle" を使用してシステム全体にその変数を設定します。 この変数を設定したら、Gradle は指定されたディレクトリ (D:\packages\gradle) をキャッシュと構成ファイルに使用します。 既存の Gradle ファイルがある場合は、%USERPROFILE%\.gradle のコンテンツをこの新しいディレクトリに移動します。 詳細については、Gradle のドキュメントを参照し、Gradle の構成とキャッシュ ディレクトリの管理に関するヒントについては、StackOverflow などのコミュニティ リソースを確認してください。

Dev Drive に関連するセキュリティ リスクと信頼を理解する

セキュリティと信頼は、プロジェクト ファイルを操作する際の重要な考慮事項です。 通常、パフォーマンスとセキュリティの間にはトレードオフがあります。 Dev Drive を使用すると、開発者とセキュリティ管理者の手でこのバランスを制御できます。その場合、追加するフィルターと、Microsoft Defender ウイルス対策スキャンの設定を選択する責任があります。

既定では、Microsoft Defender とサード パーティのウイルス対策フィルターの両方を含むウイルス対策フィルターが Dev Drive に追加されます。 Microsoft Defender ウイルス対策は、既定で Dev Drive の新しい "パフォーマンス モード" 設定に設定され、速度とパフォーマンスを考慮しながら、フォルダーの除外に代わる安全な代替手段を提供します。 保護レベルを上げるため、Microsoft Defender では、"リアルタイム保護モード" も提供されます。

追加のフィルターを必要とする製品または機能は、そのフィルターが Dev Drive に追加されない限りは機能しません。

警告

Dev Drive は、ウイルス対策フィルターが追加されていない状態で実行できます。 細心の注意を払ってください。 ウイルス対策フィルターを削除することはセキュリティ上のリスクであり、ストレージ ドライブが標準のセキュリティ スキャンの対象にならないことを意味します。 あなたは、ウイルス対策フィルターの削除に関連するリスクを評価する責任を負っています。これを行うのは、Dev Drive に保存されているファイルが悪意のある攻撃にさらされないことを確信している場合にのみにしてください。

Microsoft では、"信頼された" Dev Drive を使用する場合は、既定のパフォーマンス モード設定を使用することをお勧めします。

"信頼済み" の Dev Drive とは

Dev Drive は、最初のフォーマット時にシステム レジストリに格納されたフラグを使用して "信頼済み" として自動的に指定され、可能な限り最高のパフォーマンスを既定で提供します。 "信頼済み" の Dev Drive とは、ボリュームを使用する開発者が、そこに格納されているコンテンツのセキュリティに高い信頼を置いていることを意味します。

Windows セキュリティに除外を追加する場合と同様に、開発者は、パフォーマンスを向上させるために格納コンテンツのセキュリティを管理する責任を負います。

"信頼済み" とマークされた Dev Drive は、Microsoft Defender がパフォーマンス モードで実行されていることを示すシグナルです。 Microsoft Defender がパフォーマンス モードで実行されていると、脅威の防止とパフォーマンスのバランスが維持されます。 リアルタイム保護は、他のすべてのストレージ ボリュームで引き続き有効になります。

フィルターをデタッチするセキュリティ上の考慮事項により、コンピューター間で Dev Drive を転送すると、ボリュームは特別なフィルター アタッチ ポリシーのない通常のボリュームとして扱われます。 ボリュームは、新しいコンピューターへのアタッチ時に "信頼済み" とマークされる必要があります。Dev Drive を信頼済みとして指定する方法」を参照してください。

"信頼されていない" Dev Drive には、"信頼済み" の Dev Drive と同じ特権は付与されません。 Dev Drive が "信頼されていない" 場合、セキュリティはリアルタイム保護モードで実行されます。 最初の作成時以外に Dev Drive に信頼を指定する場合は、注意が必要です。

Dev Drive を信頼済みとして指定する方法

Dev Drive を "信頼済み" として指定するには:

  1. PowerShell (または CMD) を右クリックして [管理者として実行] をクリックし、昇格されたアクセス許可で開きます。
  2. 次のコマンドを入力して、Dev Drive を "信頼済み" として指定します。<drive-letter> は、信頼を指定するストレージ ドライブの文字に置き換えます。 たとえば、fsutil devdrv trust D: のように指定します。
fsutil devdrv trust <drive-letter>:

Dev Drive が信頼済みになったかどうかを確認するには、次のコマンドを入力します。

fsutil devdrv query <drive-letter>:

コンピューター上の C: ドライブを Dev Drive として指定することはできません。 Visual Studio、MSBuild、.NET SDK、Windows SDK などの開発者ツールは、Dev Drive ではなく C:/ ドライブに格納する必要があります。

Microsoft Defender パフォーマンス モードとは

新しい Microsoft Defender ウイルス対策機能として、パフォーマンス モードが Windows 11 で使用できるようになりました。 この機能により、指定された Dev Drive に格納されているファイルに対する Microsoft Defender ウイルス対策スキャンのパフォーマンスへの影響が軽減されます。

パフォーマンス モードの詳細と、リアルタイム保護との比較の詳細については、「Microsoft Defender: パフォーマンス モードを使用した Dev Drive の保護」を参照してください。

パフォーマンス モードを有効にするには、Dev Drive を “信頼済み” として指定し、Microsoft Defender のリアルタイム保護を “オン” に設定する必要があります。

Dev Drive での追加のフィルターの構成方法

既定では、フィルター マネージャー によって、ウイルス対策フィルターを除くすべてのフィルターが Dev Drive でオフにされます。 ウイルス対策フィルターとは、FSFilter Anti-Virus 高度範囲 (320000-329999) にアタッチされているフィルターです。 FSFilter Anti-Virus には、ファイル I/O 中にウイルスを検出して駆除するフィルターが含まれています。

Dev Drive にウイルス対策フィルターを追加しないように既定のポリシーを構成できます。そのためには、fsutil を使用します。 注意: このポリシーは、システム上のすべての Dev Drive に適用されます。

fsutil devdrv enable /disallowAv

コマンド fsutil devdrv enable [/allowAv|/disallowAv] には、次の 2 つのオプションがあります。

  • disallowAv: Dev Drive にフィルター (ウイルス対策も) を追加しないことを指定します。 fsutil devdrv setfiltersallowed <Filter-1> コマンドを使用すると、フィルターを再度追加できます。 (<Filter-1> を目的のフィルターの名前に置き換えてください。)

  • allowAv: 既定のウイルス対策フィルターによって Dev Drive を保護することを指定します。

ヘルプを表示するには、fsutil devdrv enable /? コマンドを入力します。 /allowAv/disallowAv のどちらも指定されていない場合、Dev Drive のウイルス対策ポリシーは構成されず、システムの既定値でウイルス対策フィルターによって Dev Drive が保護されます。

警告

フィルターを削除するときは細心の注意を払ってください。 ウイルス対策フィルターを削除することはセキュリティ上のリスクであり、ストレージが標準のMicrosoft Defender リアルタイム保護またはパフォーマンス モード スキャンの対象にならないことを意味します。 あなたは、ウイルス対策フィルターの削除に関連するリスクを評価する責任を負っています。これを行うのは、ファイルが悪意のある攻撃にさらされないことを確信している場合にのみにしてください。

フィルターの詳細については、「ファイル システム フィルター ドライバーについて」、「フィルター ドライバーのインストール」、「フィルター マネージャーの概念」、「ミニフィルター ドライバーの順序グループと高度を読み込む」を参照してください。

Dev Drive で一部のフィルターの追加を許可する

ビジネスまたはエンタープライズの環境で作業している場合、上のポリシーに加えて、Dev Drive に一部のフィルターを追加するように会社のグループ ポリシーが構成されている場合があります。 システム管理者は、許可リストを使用して、特定の Dev Drive またはすべての Dev Drive に追加のフィルターを加えることもできます。

システム管理者は、"Foo" というフィルター (FooFlt と呼ぶ) を追加する場合があります。 このフィルターを有効にするのは、D: としてマウントされた Dev Drive でのみの場合があります。 このフィルターは、E: としてマウントした別の Dev Drive では必要ありません。 管理者は、システム提供のコマンド ライン ユーティリティである fsutil.exe を使用して、Dev Drive のフィルターの許可リストに変更を加えることができます。

上記のウイルス対策フィルター ポリシーに加えて、明確に [許可] に設定されているフィルターを追加できます。

許可リストによるフィルターの例

次の例は、許可リストを使用して、コンピューター上のすべての Dev Drive でフィルターを許可済みに設定する管理者機能を示しています。

setfiltersallowed コマンドを使用して Filter-01Filter-02 をすべての Dev Drive で許可するには、次のコマンドを使用します。

fsutil devdrv setfiltersallowed Filter-01, Filter-02

すべての Dev Drive のフィルター アタッチ ポリシーを表示するには、次のコマンドを使用します。

fsutil devdrv query

結果には、次の情報が表示されます。

  • 開発者ボリュームが有効になっている。
  • 開発者ボリュームが、ウイルス対策フィルターによって保護されている。
  • すべての Dev Drive で Filter-01 フィルターと Filter-02 フィルターが許可されている。

Dev Drive で Filter-03 のみを許可し、Filter-01Filter-02 のアタッチを許可しないようにこの Dev Drive の構成を変更するには、次のコマンドを使用します。

fsutil devdrv setfiltersallowed Filter-03

その他の関連コマンドについては、fsutil devdrv /? を参照してください。

一般的なシナリオのフィルター

Dev Drive では、次のフィルターを使用できます。

シナリオ: 説明 フィルター名
GVFS: Windows のスパース参加リスト PrjFlt
MSSense: EDR センサーの Microsoft Defender for Endpoint MsSecFlt
Defender: Windows Defender フィルター WdFilter
Docker: 開発者ドライブからコンテナーを実行する bindFlt、wcifs
Windows パフォーマンス レコーダー: ファイル システムの操作を測定する FileInfo
リソース モニター: リソースの使用状況を表示します ディスクアクティビティでファイル名を表示するために必要 FileInfo
プロセス モニター - Sysinternals: ファイル システムのアクティビティを監視する ProcMon24
Windows アップグレード: OS のアップグレード中に使用されます。 ユーザーが TEMP 環境変数を Dev Drive に移動する場合は必須 WinSetupMon

WdFilter は既定でアタッチされます。 次のコマンドは、これらの追加フィルターをすべて Dev Drive にアタッチする方法を示す例です。

fsutil devdrv setfiltersallowed PrjFlt, MsSecFlt, WdFilter, bindFlt, wcifs, FileInfo, ProcMon24

ヒント

特定のシナリオに必要なフィルターを決定するには、Dev Drive を "信頼されていない" ものとして一時的にマークする必要があります。 次に、シナリオを実行し、ボリュームにアタッチされているすべてのフィルターをメモします。 Dev Drive をもう一度 "信頼済み" として指定し、その Dev Drive の許可リストにフィルターを追加して、シナリオが成功することを確認します。 最後に、必要ないフィルターを一度に 1 つずつ削除し、シナリオが想定どおりに動作することを確認します。

ヒント

プロセス モニターのフィルター名は変更される場合があります。 フィルター名 "ProcMon24" を追加しても開発ドライブのファイル システム アクティビティが取得されない場合は、コマンド fltmc filters を使用してフィルターを一覧表示し、プロセス モニターのフィルター名を見つけて、"ProcMon24" の代わりにその名前を使用します。

Dev Drive でサポートされていないシナリオ 制限は何ですか?

Dev Drive の使用を推奨しないシナリオがいくつかあります。 具体的な内容は次のとおりです。

  • 既存のストレージ ボリュームを再フォーマットして "Dev Drive" にすると、そのボリュームに格納されているすべてのコンテンツが破棄されます。 既存のボリュームを再フォーマットする際に、保存されているコンテンツを保持することはサポートされていません。
  • 固定ディスク (HDD または SSD) 上でホストされる仮想ハード ディスク (VHD) を作成する場合VHD をコピーして別のマシンに移動し、それを開発ドライブとして使用し続けることはお勧めしません。
  • リムーバブル ディスクまたはホット プラグ可能ディスク (USB、HDD、SSD 外部ドライブなど) に格納されているボリュームでは、Dev Drive としての指定はサポートされていません。
  • リムーバブル ディスクまたはホット プラグ可能ディスクによってホストされる VHD 内のボリュームでは、Dev Drive としての指定はサポートされていません。
  • コンピューター上の C: ドライブを Dev Drive として指定することはできません。
  • Dev Drive の目的は、リポジトリ、パッケージ キャッシュ、作業ディレクトリ、一時フォルダーを格納するように指定されたソフトウェア プロジェクトをビルドおよびデバッグするためのファイルをホストすることです。 Dev Drive にアプリケーションをインストールすることはお勧めしません。
  • ダイナミック ディスクでの開発者ドライブの使用はサポートされていません。 代わりに記憶域スペースを使用します。記憶域スペースを使用すると、ドライブの障害からデータを保護し、PC にドライブを追加するときに時間の経過と同時に記憶域を拡張できます。

Dev ドライブを削除する方法

Dev ドライブは Windows 11 システム設定 System>Storage>Disks & volumes で削除できます。

Windows の [設定] メニューを開き、[ストレージ][ストレージの詳細設定][ディスクとボリューム] の順に選択すると、デバイス上のストレージ ボリュームの一覧が表示されます。 削除する Dev ドライブのストレージ ボリュームの横にある [プロパティ] を選択します。 ドライブのプロパティの [フォーマット] ラベルの下に、[削除] オプションがあります。

Windows 設定で Dev Drive を削除する

これで開発ドライブは削除されます。 ただし、Dev Drive が新しい VHD として作成された場合は、その VHD が使用していたストレージ領域を再使用するために VHD を削除する必要。 これを行うには、仮想ディスクを切断して、Dev Drive をホストしている VHD ファイルを削除できるように次の手順に従う必要:

  1. タスクバーの検索ボックスに「コンピューターの管理」と入力して、ディスク管理ツールを開きます。 [ストレージ] 見出しで [ディスクの管理] を選択します。 開発ドライブの (ボリュームではなく) ディスクを選択します。 選択したディスク (開発ドライブをホストしているもの) を右クリックし、結果のメニューから [VHD のデタッチ] を選択します。
  2. 仮想ハード ディスクをデタッチすると使用できなくなる旨を伝えるポップアップ ウィンドウが表示されます。
  3. デタッチされたら、VHD を削除できます。

VHD が選択可能であり、[VHD のデタッチ] がアクション メニューのオプションであることを示す、ディスク管理ツールのスクリーンショット。

Dev Drive に関する FAQ

Dev Drive に関してよく寄せられる質問には、次のようなものがあります。

ニーズに合わせて Dev Drive をカスタマイズするにはどうすればよいですか?

Dev Drive の既定の設定は一般的な開発シナリオ用に最適化されていますが、カスタマイズしてストレージ ボリュームで実行されるドライバーとサービスを制御できます。 Dev Drive の設定をカスタマイズするには、[設定] メニューを開きます。 [システム]>[ストレージ]>[ディスクとボリューム]で、[プロパティ] に移動します。

重要

ビジネスまたはエンタープライズで作業している場合、Dev Drive は引き続きエンタープライズ設定によって管理されます。 そのため、会社のポリシーによっては、一部のカスタマイズが使用できない場合があります。

Dev Drive を使用するには、アプリケーションを再インストールする必要がありますか?

いいえ。コンピューターの C: ドライブにインストールされているアプリケーションやツールは、Dev Drive のファイルを利用できます。 ただし、開発プロジェクトの場合は、プロジェクト固有のディレクトリ、ファイル、パッケージ キャッシュを Dev Drive 内に格納することをお勧めします。 Dev Drive は、簡単に見つけられるように、エクスプローラーのクイック アクセスにピン留めできます。

ReFS では NTFS よりも多くのメモリが使用されますか?

はい。ReFS では NTFS よりもわずかに多くのメモリが使用されます。 少なくとも 8 GB のメモリ、理想的には 16 GB のメモリがあるコンピューターを使用することをお勧めします。

マシンに複数の開発者ドライブをインストールできますか?

はい。 領域がある場合は、Dev Drive を必要なだけ作成できます。 ソフトウェア開発プロジェクトごとに個別の Dev Drive を使用すると、開発終了時にドライブを削除するだけで済みます。ディスクをもう一度パーティション分割する必要はありません。 ただし、Dev Drive の最小サイズは 50 GB なので注意してください。

Visual Studio で Dev Drive を使用する場合に確認しておくべきことはありますか?

Dev Drive が作成されると、新しいプロジェクトの作成時、または既存のプロジェクトを複製するときに、Visual Studio によって自動的に Dev Drive が認識され、既定でそのファイルパスが選択されます。 Visual Studio を使用する場合のパフォーマンスを最適化するには、プロジェクト コード、パッケージ キャッシュCopy on write MS ビルド タスクを、以前他の場所に保存されていた可能性がある Dev Drive に移動することをお勧めします。 (Visual Studio ドキュメントで「ビルド出力ディレクトリを変更する方法」を参照してください。)%TEMP%%TMP% envvar を開発者ドライブにリダイレクトすることも検討することをおすすめします。 これらは多くのプログラムで使用されているため、生じ得る副作用に注意してください。 また、Dev Drive を使用した非同期のパフォーマンスを向上させるために、Microsoft Defender のパフォーマンス モードを使用することをお勧めします。 Microsoft Defender を完全にオフにすると、パフォーマンスが最大限に高まる可能性がありますが、これによりセキュリティ リスクが増大する可能性があります。この設定はシステム管理者が制御します。

詳細については、ブログ投稿「Visual Studio のパフォーマンス向上のための Dev Drive と Dev Box」を参照してください。

Dev Drive は WSL プロジェクト ファイルで動作しますか?

WSL 経由で実行されている Linux ディストリビューションから、Windows ファイル システムで実行される Dev Drive プロジェクト ファイルにアクセスできます。 ただし、WSL は VHD で実行されます。最適なパフォーマンスを得るには、ファイルは Linux ファイル システムに格納する必要があります。 WSL は Windows ファイル システムの範囲外であるため、WSL 経由で実行されている Linux ディストリビューションから Dev Drive のプロジェクト ファイルにアクセスするときにパフォーマンスが向上することはありません。

Windows ストレージ ボリュームのフォーマットにはどのような方法が使用されますか?

Windows ドライバーのドキュメント「MSFT_Volume class」を参照してください。

開発者ドライブで Live Unit Testing を構成して使用する方法

Live Unit Testing を構成して使用する方法のガイダンスは、Visual Studio のドキュメントにあります。 ただし、ProjFS には依存関係があることに注意してください。 Live Unit Testing ワークスペースのルートを開発ドライブに移動し、許可されたフィルター リストに Windows Projected File System を追加する必要があります。 これを行うには、PowerShell で次のコマンドを使用します:

fsutil devdrv setfiltersallowed PrjFlt

開発ドライブとして使用するために作成された VHD は、それを格納するドライブで BitLocker が有効になっている場合、暗号化されますか?

はい。開発ドライブの VHD は、ホスティング ボリュームの BitLocker 暗号化に含まれます。

Dev Drive を使用すると、Windows での Java 開発を高速化できますか?

はい、Dev Drive を使用すると、効率を高め、Java 開発プロジェクトで作業するときのビルド時間を短縮できます。 ブログ記事「Dev Drive を使用して Windows での Java 開発を高速化する」を参照してください。

こうしたドキュメントや FAQ に投稿するにはどうしたらよいですか?

このドキュメントに問題がある場合、または追加の FAQ 案を投稿したい場合は、GitHub の Windows 開発ドキュメント オープンソース リポジトリにアクセスしてください。