次の方法で共有


Windows 11 で Dev Drive を設定する

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

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

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

Dev Drive の設定方法

新しい開発ドライブを設定するには、Windows 設定を 開き、 System>Storage>Advanced Storage Settings>Disks & volumes に移動します。 [ 開発ドライブの作成] を選択します。 既存のストレージ ボリュームを Dev Drive に変換することはできません。 Dev Drive の指定は、最初のフォーマット時にのみ行われます。

開発ドライブを設定する前 に、前提条件が満たされていることを確認します。

System > Storage > ディスクとボリュームのスクリーンショット

前提条件

  • Windows 11 ビルド #10.0.22621.2338 以降 (Windows 更新プログラムの確認)
  • 16 GB のメモリ (最小 8 GB) をお勧めします
  • 最小 50 GB の空きディスク領域
  • 開発者ドライブ はすべての Windows SKU バージョンで使用可能
  • ローカル管理者のアクセス許可。

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

警告

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

オプションを設定する

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

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

開発ドライブの作成のスクリーンショット

ディスク パーティションまたは VHD のどちらを使用するかを選択する方法

ディスク パーティションを作成するか、開発ドライブを格納する新しい VHD を作成するかを選択する際に考慮すべき利点とトレードオフがあります。

  • ディスク パーティションを作成する: Dev Drive をディスク パーティションに格納すると、通常、追加のレイヤーなしで物理ディスクを直接使用するため、パフォーマンスが向上します。 パーティションが物理ディスクに関連付けられているため、パーティションのサイズ変更は複雑でリスクが高く、移植性が低下する可能性があるため、パーティションされたディスクを使用する方が柔軟性が低くなります。

  • 新しい VHD を作成する: 仮想ハード ディスク (VHD) に開発ドライブを格納すると、仮想ディスク レイヤーを管理するオーバーヘッドが原因でパフォーマンスが若干低下する可能性があります。 トレードオフとして、VHD は動的なサイズ変更 (ディスク領域を効率的に管理する必要がある場合)、データの移動、またはバックアップを柔軟に行うことができます。 VHD も移植性が高く、VHD ファイルを別のコンピューターまたはバックアップの場所に転送できます。 固定ディスク (HDD または SSD) 上で VHD がホストされる場合は、VHD をコピーして別のマシンに移動し、それを開発ドライブとして使用し続けることは推奨されません。

新しい VHD を作成する

[ 新しい VHD の作成 ] オプションを選択して開発ドライブを設定する場合は、次の内容を決定する必要があります。

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

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

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

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

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

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

    [設定] でサイズを変更する [Dev Drive choose volume]\(開発ドライブのボリュームの選択\) のスクリーンショット。

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

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

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

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

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

既存のドライブで未割り当て領域を検索して使用するには、System>Storage>Disks > ボリュームを開き、ページを見て、記憶域スペースが "未割り当て" と表示されているかどうかを確認します。 [ ボリュームの作成 ] を選択すると、 簡易ボリューム (標準の NTFS ストレージ ボリューム) または 開発ドライブの作成を選択できます。 開発ドライブを作成するには、上記と同じ手順を実行します。 ラベル (ドライブ名)、 ドライブ文字を追加し、 サイズ の割り当てを確認する必要があります。

未割り当てストレージ領域を含むディスクとボリュームストレージの一覧のスクリーンショット。

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

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 ファイル システム形式です。 拡大する一連のストレージ シナリオに対処し、将来のイノベーションの基盤を確立することを目指しています。

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

Dev Drive によるセキュリティの処理方法の詳細について説明します。

Dev Drive に何を格納すべきですか?

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

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

開発ドライブへの開発者ツールと SDK のインストールに関する考慮事項: 開発者ツールと SDK は、通常、管理者またはユーザーごとの場所に配置されます。 これらの場所は、Windows での特定のセキュリティと分離の保証を提供し、Microsoft Defender の動作に影響を与えます。 ただし、多くのツールでは、Dev Drive を含め、インストール場所を柔軟に選択できます。

Dev Drive に開発者ツールまたは SDK をインストールする前に、システムと非同期スキャンに関連付けられているトレードオフを評価して、デバイスと組織のセキュリティ要件と一致していることを確認します。 Dev Drive に管理者またはユーザー単位のフォルダーを作成するオプションがあります。 さらに、Microsoft Defender パフォーマンス モード (非同期スキャンなど) がバイナリを処理するためのニーズを満たしていることを確認することが重要です。

注記

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

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

パッケージ キャッシュとは、インストールされているソフトウェアのファイルを格納するためにアプリケーションによって使用されるグローバル フォルダーの場所です。 これらのソース ファイルは、インストールされているソフトウェアを更新、アンインストール、または修復する際に必要です。 Visual Studio は、そのデータの大部分をパッケージ キャッシュに格納するアプリケーションの 1 つです。 環境変数を変更した後、 開いているすべてのコンソール ウィンドウを再起動するか 、新しい値を適用するためにデバイスを再起動する必要があります。

  • Npm キャッシュ (NodeJS):開発ドライブに 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 のドキュメント「グローバル パッケージ、キャッシュ、および一時フォルダーの管理」を参照してください。

注記

現在、既知の問題があります。 Dotnet ツール コマンドは nuget パッケージのパスを考慮しません。 .NET チームは、.NET 10 の修正プログラムと 8.0 および 9.0 のサービス リリース更新プログラムを認識し、調査しています。

  • 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 ドキュメントの詳細については、 vcpkg バイナリ キャッシュを参照してください。

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

  • Cargo Cache (Rust):開発ドライブに 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")。 %USERPROFILE%\.m2\repository の内容をこのディレクトリに移動します (これには、Maven が repository フォルダーにダウンロードしてプロジェクトに使用する依存関係、プラグイン、その他の成果物のみが含まれます)。 Maven ドキュメントの詳細については、「.m2 フォルダーまたは settings.xml 永続的に別の場所を指定する方法」の StackOverflow を参照してください。

  • Gradle キャッシュ (Java):たとえば、 D:\packages\gradleなど、開発ドライブに 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 Drives の新しい "パフォーマンス モード" 設定に設定され、速度とパフォーマンスを考慮しながら、フォルダーの除外に代わる安全な代替手段を提供します。 保護レベルを上げるための Microsoft Defender には 、"リアルタイム保護モード" も用意されています。

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

警告

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

Microsoft では、信頼できる開発ドライブを使用する場合は、既定のパフォーマンス モード設定を使用することをお勧めします。

"信頼済み" の Dev Drive とは

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

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

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

フィルターをデタッチするセキュリティ上の考慮事項により、コンピューター間で 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 を “信頼済み” として指定し、Microsoft Defender のリアルタイム保護を “オン” に設定する必要があります。

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

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

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

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 に一部のフィルターを追加するように会社のグループ ポリシーが構成されている場合があります。 システム管理者は、 許可リストを使用して、特定の開発ドライブまたはすべての開発ドライブに追加のフィルターをアタッチすることもできます。

システム管理者は、"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
リソース モニター: リソースの使用状況を表示します ディスクアクティビティでファイル名を表示するために必要 ファイルインフォ
プロセス モニター - Sysinternals: ファイル システムのアクティビティを監視する ProcMon24
Windows アップグレード: OS のアップグレード中に使用されます。 ユーザーが TEMP 環境変数を Dev Drive に移動する場合は必須 WinSetupMon
Windows Defender アプリケーション制御 (WDAC): AppLocker ID サービスを使用した管理インストーラーの追跡 applockerfltr

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

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

ヒント

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

ヒント

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

ブロックの複製サポート

Windows 11 24H2 & Windows Server 2025 以降、Dev Driveでブロック複製がサポートされるようになりました。 Dev Drive は ReFS ファイル システム形式を利用するため、ブロック複製のサポートは、Dev Drive を使用してファイルをコピーするたびに、無料のパフォーマンス上の利点を意味します。 ブロックの複製を使用すると、ファイル システムは、基盤となる物理データに対してコストのかかる読み取りおよび書き込み操作を実行するのではなく、低コストのメタデータ操作としてアプリケーションに代わってファイル バイトの範囲をコピーできます。 これにより、複数のファイルが同じ論理クラスターを共有できるようにすることで、コピーの完了が高速化され、基になるストレージへの I/O が少なくなり、ストレージ容量が向上します。 ブロックの複製について詳しくは、こちらをご覧ください。

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 にアプリケーションをインストールすることはお勧めしません。
  • ダイナミック ディスクでの Dev Drive の使用はサポートされていません。 代わりに記憶域スペースを使用します。記憶域 スペースを使用すると、ドライブの障害からデータを保護し、PC にドライブを追加するときに時間の経過と同時に記憶域を拡張できます。

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

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

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

Windows 設定で開発ドライブを削除する

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

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

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

Dev Drive に関する FAQ

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

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

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

重要

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

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

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

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

はい。ReFS では NTFS よりもわずかに多くのメモリが使用されます。 少なくとも 8 GB のメモリ (理想的には 16 GB) のマシンをお勧めします。

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

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

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

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

詳細については、ブログ投稿「 Dev Drive for Performance Improvements in Visual Studio and Dev Boxes」を参照してください。

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 暗号化に含まれます。 取り付けた VHD で BitLocker を有効にする必要はありません。

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

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

Dev Drive パフォーマンス モードは、Microsoft Defender 以外のウイルス対策プログラムに適用できますか?

Dev Drive パフォーマンス モード は、具体的には、Defender のリアルタイム保護に関連する Microsoft Defender ウイルス対策機能です。 開発ドライブで代替ウイルス対策プログラムを使用する場合、パフォーマンス モードは適用されませんが、開発作業のパフォーマンスとセキュリティの適切なバランスを見つけるために、開発ドライブにアタッチされているセキュリティ フィルターの許可リストを調整 することができます。 添付フィルター リストに変更を加えるときは、添付フィルターの機能を理解している必要があります。 一般的なシナリオのフィルターの説明を含む一覧を検索します。

作成して追跡しなくなった Dev Drive を見つけるにはどうすればよいですか?

Dev Drive が取り付けられているが、その場所を忘れた場合は、次のメソッドを使用して見つけることができます。

  • DiskPart"list vdisk" コマンドを使用して、vhdx への完全なパスを表示します。1) コマンド ラインを開き、「diskpart」と入力します。2) DiskPart が開いたら、「list vdisk」と入力します。

  • PowerShell と "Get-Disk | Select-Object FriendlyName,Location]" を使用します。PowerShell を開き、「 Get-Disk | Select-Object FriendlyName,Location」と入力します。

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

このドキュメントに問題がある場合、または追加の FAQ 候補を投稿したい場合 は、GitHub の Windows Dev Docs オープン ソース リポジトリを参照してください。