Dev Drive 는 주요 개발자 워크로드의 성능을 향상시키는 데 사용할 수 있는 새로운 형태의 스토리지 볼륨입니다.
Dev Drive는 ReFS 기술을 기반으로 하여 대상 파일 시스템 최적화를 사용하고 신뢰할 수 있는 지정, 바이러스 백신 구성 및 연결된 필터에 대한 관리 제어를 포함하여 스토리지 볼륨 설정 및 보안에 대한 더 많은 제어를 제공합니다.
일반적인 개발 작업에서 평균 개선 측정 값은 Visual Studio 및 Dev Box의 성능 향상을 위한 개발자 드라이브 블로그 게시물을 참조하세요.
개발자 드라이브를 설정하는 방법
새 Dev Drive를 설정하려면 Windows 설정을 열고 System>Storage 고급 스토리지>설정>디스크 및 볼륨으로 이동합니다. 개발 드라이브 만들기를 선택합니다. 기존 스토리지 볼륨은 개발자 드라이브로 변환할 수 없습니다. 개발자 드라이브 지정은 원래 포맷 시간에만 발생합니다.
Dev Drive를 설정하기 전에 필수 구성 요소가 충족되는지 확인합니다.
필수 조건
- Windows 11, 빌드 #10.0.22621.2338 이상(Windows 업데이트 확인)
- 16GB 메모리 권장(최소 8GB)
- 최소 50GB의 사용 가능한 디스크 공간
- 개발자 드라이브는 모든 Windows SKU 버전에서 사용할 수 있습니다.
- 로컬 관리자 권한.
최신 Windows 11 릴리스로 업데이트하는 경우 개발자 드라이브 기능을 사용할 수 있게 되기 전에 추가 재부팅이 필요할 수 있습니다. 비즈니스 엔터프라이즈 환경에서 작업하는 경우 보안 관리자는 Dev Drive를 사용하도록 설정하기 위해 Dev Drive 보안 정책을 구성 해야 합니다.
경고
Dev Drive는 주요 개발자 시나리오 를 위한 것이며 사용자 지정 설정은 비즈니스 또는 엔터프라이즈 작업 환경의 그룹 정책 설정에서 계속 적용됩니다. 개발자 드라이브 보안 정책을 구성하는 방법에 대해 자세히 알아봅니다.
옵션 설정
세 가지 옵션이 제공됩니다.
- 새 VHD 만들기 - 새 가상 하드 디스크에 볼륨 빌드
- 기존 볼륨 크기 조정 - 빌드할 할당되지 않은 새 공간 만들기
- 디스크의 할당되지 않은 공간 - 기존 디스크에 할당되지 않은 공간을 사용합니다. * 이 옵션은 이전에 스토리지에 할당되지 않은 공간을 설정한 경우에만 표시됩니다.
디스크 파티션 또는 VHD 사용 중 선택하는 방법
디스크 파티션을 만들거나 개발자 드라이브를 저장할 새 VHD를 만들 것인지 선택할 때 고려해야 할 장점과 장단점이 있습니다.
디스크 파티션 만들기: 디스크 파티션에 Dev Drive를 저장하면 추가 계층 없이 실제 디스크를 직접 사용하기 때문에 일반적으로 성능이 향상됩니다. 단점은 파티션이 실제 디스크에 연결되어 있기 때문에 파티션 크기 조정이 더 복잡하고 위험할 수 있으며, 이식성이 떨어지므로 분할 디스크를 사용할 경우 유연성이 낮다는 점입니다.
새 VHD 만들기: 가상 디스크 계층 관리 오버헤드로 인해 개발자 드라이브를 VHD(가상 하드 디스크)에 저장하면 성능이 약간 저하될 수 있습니다. 대신, VHD가 동적 크기 조정(디스크 공간을 효율적으로 관리해야 하는 경우), 데이터 이동 또는 백업에 더 많은 유연성을 제공합니다. 또한 VHD는 이식성이 뛰어나 VHD 파일을 다른 컴퓨터 또는 백업 위치로 전송할 수 있습니다. 그러나 VHD가 고정 디스크(HDD 또는 SSD)에서 호스팅되는 경우, VHD를 복사하여 다른 컴퓨터로 이동한 다음, 개발자 드라이브로 계속 사용하는 것은 권장하지 않습니다.
새 VHD 만들기
개발자 드라이브를 설정하기 위해 새 VHD 만들기 옵션을 선택할 때 다음을 결정해야 합니다.
- 가상 하드 디스크 이름: VHD(Dev Drive)에 이름을 지정합니다.
-
위치: 개발자 드라이브 VHD가 컴퓨터에 위치할 디렉터리 경로를 할당합니다. 기본 위치는
C:\
Dev Home을 사용하여 Dev Drive를 만들지 않는 한 기본 위치이며, 이 경우 기본 위치는 다음과 입니다%userprofile%\DevDrives
. 의도하지 않은 공유를 방지하려면 사용자별 디렉터리 경로 위치를 사용하여 개발자 드라이브를 저장하는 것이 좋습니다. - 가상 하드 디스크 크기: 사용할 볼륨에 할당할 디스크 공간의 크기를 할당합니다. 최소 크기는 50GB입니다.
-
가상 하드 디스크 형식:
- VHD: 최대 2040GB 크기의 가상 디스크를 지원합니다.
- VHDX (권장): 최대 64TB를 지원하고 정전과 같은 문제로 인한 예기치 않은 IO 오류에 대한 복원력 있는 보호를 제공합니다. VHD 관리에 대해 자세히 알아봅니다.
-
디스크 유형:
- 고정 크기 - 이 가상 하드 디스크 파일은 만들 때 최대 크기에 할당됩니다.
- 동적 확장 - 데이터가 디스크에 기록되면 가상 하드 디스크 파일이 최대 크기로 증가합니다. (권장)
이러한 옵션 중에서 선택하는 프로세스를 완료하면 개발자 드라이브가 만들어집니다.
기존 볼륨 크기를 조정하거나 기존 디스크에서 할당되지 않은 공간을 사용합니다.
기존 볼륨의 크기를 조정하려면 다음을 수행합니다.
크기를 조정할 볼륨을 선택합니다.
볼륨의 새 크기를 선택합니다. 개발자 드라이브에 필요한 최소 크기인 할당되지 않은 공간을 50GB 이상 사용할 수 있어야 합니다. 크기가 설정되면 다음을 선택합니다.
새로 확보한 공간에서 Dev Drive를 포맷하려면 레이블 (드라이브 이름), 드라이브 문자, 크기를 지정합니다. 최대 크기는 이전 단계에서 할당한 여유 공간의 크기이며, 개발자 드라이브의 최소 크기는 50GB입니다.
축하합니다! 이제 개발자 드라이브의 크기가 조정되었습니다.
기존 드라이브에서 할당되지 않은 공간을 찾아서 사용하려면 System>Storage>디스크 및 볼륨을 열고 페이지를 통해 스토리지 공간이 "할당되지 않음"으로 나열되는지 확인할 수 있습니다. 볼륨 만들기를 선택하면 간단한 볼륨 만들기(표준 NTFS 스토리지 볼륨) 또는 개발 드라이브 만들기를 선택할 수 있습니다. Dev Drive를 만들려면 단계는 위와 같으며 레이블 (드라이브 이름), 드라이브 문자를 추가하고 크기 할당을 확인해야 합니다.
명령줄에서 스토리지 볼륨을 개발자 드라이브로 포맷합니다.
Windows 설정을 사용하는 대신 명령줄에서 개발자 드라이브 스토리지 볼륨을 만드는 두 가지 옵션이 있습니다. 두 옵션 모두 관리자 권한으로 명령줄을 열어야 합니다. 하드 드라이브를 포맷하려면 관리 그룹의 멤버여야 합니다. 이러한 명령줄 형식 지정 방법은 여러 개발자 드라이브를 만들거나 여러 컴퓨터의 관리자로서 기본 설정될 수 있습니다.
- Windows CMD 또는 PowerShell의 서식 명령줄 도구 사용:
Format D: /DevDrv /Q
- PowerShell에서 Format-Volume cmdlet 사용:
Format-Volume -DriveLetter D -DevDrive
이러한 코드 샘플에서는 D:
를 대상으로 삼으려는 운전 위치로 바꿔야 합니다. 추가 옵션 및 명령 매개 변수는 링크를 참조하세요.
개발자 드라이브는 어떻게 작동하나요?
스토리지 볼륨은 특정 형식의 디렉터리 및 파일을 통해 파일 시스템에 데이터를 저장하는 방법을 지정합니다. Windows는 시스템 드라이브에 NTFS를 사용하며, 기본적으로 대부분의 이동식 드라이브에는 NTFS를 사용합니다. ReFS(복원 파일 시스템)는 최신 Microsoft 파일 시스템 형식으로, 데이터 가용성을 최대화하고, 다양한 워크로드에서 대규모 데이터 집합으로 효율적으로 확장하고, 손상에 대한 복원력으로 데이터 무결성을 제공하도록 설계되었습니다. 이는 확장되는 스토리지 시나리오를 해결하고 향후 혁신을 위한 기반을 구축하는 것을 목표로 합니다.
Dev Drive는 ReFS를 활용하여 개발 워크로드에 맞게 스토리지 볼륨을 초기화하여 개발 시나리오에 최적화된 더 빠른 성능 및 사용자 지정 가능한 설정을 제공합니다. ReFS에는 주요 개발자 시나리오의 성능을 개선시키기 위한 여러 파일 시스템별 최적화가 포함되어 있습니다.
Dev Drive에서 보안을 처리하는 방법에 대해 자세히 알아봅니다.
내 개발자 드라이브에 무엇을 넣어야 하나요?
개발자 드라이브의 용도는 다음과 같습니다.
- 소스 코드 리포지토리 및 프로젝트 파일
- 패키지 캐시
- 출력 및 중간 파일 빌드
개발자 드라이브에 개발자 도구 및 SDK를 설치하기 위한 고려 사항: 개발자 도구 및 SDK는 일반적으로 관리자 또는 사용자별 위치에 배치됩니다. 이러한 위치는 Windows에 대한 특정 보안 및 격리를 보장하고 Microsoft Defender 동작에 영향을 줍니다. 그러나 많은 도구는 개발자 드라이브를 포함하여 설치 위치를 유연하게 선택할 수 있습니다.
개발자 드라이브에 개발자 도구 또는 SDK 설치를 계속하기 전에 시스템 및 비동기 검사와 관련된 장단점을 평가하여 디바이스 및 조직의 보안 요구 사항에 부합하는지 확인합니다. 개발자 드라이브에서 관리자 또는 사용자별 폴더를 만들 수 있는 옵션이 있습니다. 또한 Microsoft Defender 성능 모드(예: 비동기 검사)가 이진 파일 처리 요구 사항을 충족하는지 확인해야 합니다.
참고
IT 관리자는 EOP 공격을 방지하기 위한 모범 사례로 다중 사용자 디바이스에 대한 사용자별 ACL(액세스 제어 목록) 폴더를 만드는 것이 좋습니다.
개발자 드라이브에 패키지 캐시 저장
패키지 캐시는 애플리케이션이 설치된 소프트웨어의 파일을 저장하는 데 사용하는 전역 폴더 위치입니다. 설치된 소프트웨어를 업데이트, 제거 또는 복구하려는 경우 이러한 원본 파일이 필요합니다. Visual Studio는 패키지 캐시에 데이터의 상당 부분을 저장하는 애플리케이션 중 하나입니다. 환경 변수를 변경한 후 열려 있는 모든 콘솔 창을 다시 시작하거나 디바이스를 다시 부팅하여 새 값을 적용해야 할 수 있습니다.
Npm 캐시(NodeJS): 예를 들어
D:\packages\npm
개발자 드라이브에 npm 캐시 디렉터리를 만든 다음 전역 환경 변수npm_config_cache
를 해당 경로setx /M npm_config_cache D:\packages\npm
로 설정합니다. 컴퓨터에 NodeJS를 이미 설치한 경우%AppData%\npm-cache
의 콘텐츠를 이 디렉터리로 이동합니다. (일부 시스템에서는 npm 캐시가%LocalAppData%\npm-cache
에 있을 수 있습니다.) npm-cache 및 npm 구성: 캐시의 npm 문서에서 자세히 알아봅니다.NuGet global-packages 폴더: NuGet global-packages 폴더는 dotnet, MSBuild 및 Visual Studio에서 사용됩니다. CoW(CopyOnWrite) 파일 시스템에 사용자별 NuGet 디렉터리를 만듭니다. 예:
D:\<username>\.nuget\packages
다음 방법 중 하나를 사용하여 global-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 cache: 예를 들어
D:\packages\vcpkg
Dev Drive에서 vcpkg cache 디렉터리를 만든 다음 전역 환경 변수VCPKG_DEFAULT_BINARY_CACHE
를 해당 경로setx /M VCPKG_DEFAULT_BINARY_CACHE D:\packages\vcpkg
로 설정합니다. 패키지를 이미 설치한 경우%LOCALAPPDATA%\vcpkg\archives
또는%APPDATA%\vcpkg\archives
의 콘텐츠를 이 디렉터리로 이동합니다. vcpkg 문서를 통해 vcpkg 이진 캐싱에 대해 더 알아보세요.Pip 캐시(Python): 예를 들어
D:\packages\pip
Dev Drive에서 pip 캐시 디렉터리를 만든 다음 전역 환경 변수PIP_CACHE_DIR
를 해당 경로setx /M PIP_CACHE_DIR D:\packages\pip
로 설정합니다. 컴퓨터에서 pip 패키지와 휠을 이미 복원한 경우%LocalAppData%\pip\Cache
의 콘텐츠를 이 디렉터리로 이동합니다. pip 문서에서 자세히 알아보세요. pip 캐싱 및 StackOverflow에서 Linux의 pip 캐시 디렉터리 변경?을 참조하세요.Cargo Cache(Rust): 예를 들어
D:\packages\cargo
Dev Drive에서 Cargo Cache 디렉터리를 만든 다음 전역 환경 변수CARGO_HOME
를 해당 경로setx /M CARGO_HOME D:\packages\cargo
로 설정합니다. 이미 컴퓨터에 Cargo 패키지를 복원한 경우%USERPROFILE%\.cargo
의 콘텐츠를 이 디렉터리로 이동합니다. 화물 문서: 화물 환경 변수에 대해 자세히 알아보세요.Maven 캐시(Java): 예를 들어
D:\packages\maven
개발자 드라이브에 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): 개발자 드라이브에 Gradle 캐시 디렉터리를 만듭니다. 예를 들면 다음과 같습니다
D:\packages\gradle
. 그런 다음 해당 경로를 가리키도록 전역 환경 변수GRADLE_USER_HOME
를 설정합니다. 예를 들어 명령줄에서 사용하여setx /M GRADLE_USER_HOME "D:\packages\gradle"
시스템 전체로 설정합니다. 이 변수를 설정한 후 Gradle은 지정된 디렉터리(D:\packages\gradle
)를 캐시 및 구성 파일에 사용합니다. 기존 Gradle 파일이 있는 경우 내용을 이 새 디렉터리로 이동합니다%USERPROFILE%\.gradle
. 자세한 내용은 Gradle 설명서를 참조하고 StackOverflow와 같은 커뮤니티 리소스 를 탐색하여 Gradle 구성 및 캐시 디렉터리 관리에 대한 팁을 확인할 수 있습니다.
개발자 드라이브와 관련된 보안 위험 및 신뢰 이해
프로젝트 파일 작업 시 보안과 신뢰는 중요한 고려 사항입니다. 일반적으로 성능과 보안 사이에는 절충이 있습니다. 개발자 드라이브를 사용하면 개발자와 보안 관리자가 이 균형을 제어할 수 있으며, 첨부할 필터와 Microsoft Defender 바이러스 백신 검사 설정을 선택할 책임이 있습니다.
Microsoft Defender 및 타사 바이러스 백신 필터를 모두 포함한 바이러스 백신 필터는 기본적으로 개발자 드라이브에 연결됩니다. Microsoft Defender 바이러스 백신은 기본적으로 Dev Drives에서 새로운 "성능 모드" 설정으로 설정되며, 폴더 제외에 대한 안전한 대안을 제공하면서 속도와 성능을 고려합니다. 보호 수준을 높이기 위해 Microsoft Defender는 "실시간 보호 모드"도 제공합니다.
추가 필터가 필요한 제품 또는 기능은 필터가 Dev Drive에 추가되지 않는 한 작동하지 않습니다.
경고
개발자 드라이브는 바이러스 백신 필터를 연결하지 않고도 실행할 수 있습니다. 매우 주의해야 합니다. 바이러스 백신 필터를 제거하는 것은 보안 위험이 있으며 이는 스토리지 드라이브가 표준 보안 검사의 대상이 되지 않음을 의미합니다. 바이러스 백신 필터 분리와 관련된 위험을 평가할 책임은 사용자에게 있으며 개발자 드라이브에 저장된 파일이 악의적인 공격에 노출되지 않을 것이라고 확신하는 경우에만 그렇게 해야 합니다.
신뢰할 수 있는 Dev Drive를 사용하는 경우 기본 성능 모드 설정을 사용하는 것이 좋습니다.
"신뢰할 수 있는" 개발자 드라이브란?
Dev Drives는 원래 형식 지정 시간 동안 시스템 레지스트리에 저장된 플래그를 사용하여 자동으로 신뢰할 수 있는 것으로 지정되어 기본적으로 최상의 성능을 제공합니다. 신뢰할 수 있는 개발자 드라이브는 볼륨을 사용하는 개발자가 해당 볼륨에 저장된 콘텐츠의 보안에 대한 높은 신뢰도를 가지고 있음을 의미합니다.
개발자가 Windows 보안에 제외를 추가하도록 선택하는 경우와 마찬가지로 개발자는 추가 성능을 얻기 위해 저장된 콘텐츠의 보안을 관리하는 책임을 맡습니다.
신뢰할 수 있는 것으로 표시된 개발 드라이브는 Microsoft Defender가 성능 모드에서 실행될 수 있는 신호입니다. 성능 모드에서 Microsoft Defender를 실행하면 위협 방지와 성능 간의 균형이 유지됩니다. 다른 모든 스토리지 볼륨에서는 실시간 보호가 계속 사용하도록 설정됩니다.
필터 분리에 따른 보안 고려 사항으로 인해 컴퓨터 간에 개발 드라이브를 전송하면 해당 볼륨이 특수 필터 연결 정책 없이 일반 볼륨으로 처리됩니다. 볼륨이 새 컴퓨터에 연결될 때 신뢰할 수 있는 볼륨으로 표시되어야 합니다. 개발자 드라이브를 신뢰할 수 있는 드라이브로 지정하려면 어떻게 해야 하나요?를 참조하세요.
신뢰할 수 없는 개발자 드라이브는 신뢰할 수 있는 개발자 드라이브와 동일한 권한을 갖지 않습니다. 보안은 개발자 드라이브가 신뢰할 수 없는 경우 실시간 보호 모드에서 실행됩니다. 개발자 드라이브가 처음 만들어진 시간 이후에 개발자 드라이브에 신뢰를 지정하는 경우 주의해야 합니다.
개발자 드라이브를 신뢰할 수 있는 드라이브로 지정하려면 어떻게 해야 하나요?
Dev Drive를 신뢰할 수 있는 것으로 지정하려면:
- 마우스 오른쪽 단추를 클릭하고 "관리자 권한으로 실행"을 선택하여 관리자 권한으로 PowerShell(또는 CMD)을 엽니다.
- 개발자 드라이브를 신뢰할 수 있는 것으로 지정하려면 아래 명령을 입력하고, 지정하려는 스토리지 드라이브의 문자로
<drive-letter>
를 대체하여 입력하세요. 예:fsutil devdrv trust D:
.
fsutil devdrv trust <drive-letter>:
개발자 드라이브가 신뢰할 수 있는지 확인하려면 다음 명령을 입력합니다.
fsutil devdrv query <drive-letter>:
컴퓨터의 C: 드라이브는 개발자 드라이브로 지정할 수 없습니다. Visual Studio, MSBuild, .NET SDK, Windows SDK 등과 같은 개발자 도구는 개발자 드라이브가 아닌 C: 드라이브에 저장해야 합니다.
Microsoft Defender 성능 모드란?
이제 Windows 11에서 새로운 Microsoft Defender 바이러스 백신 기능으로 성능 모드를 사용할 수 있습니다. 이 기능은 지정된 개발자 드라이브에 저장된 파일에 대한 Microsoft Defender 바이러스 백신 검사의 성능 영향을 줄입니다.
성능 모드 및 실시간 보호와 비교하는 방법에 대한 자세한 내용은 Microsoft Defender: 성능 모드를 사용하여 개발 드라이브 보호를 참조하세요.
성능 모드를 사용하도록 설정하려면 개발자 드라이브를 신뢰할 수 있는 것으로 지정하고 Microsoft Defender 실시간 보호를 "켜기"로 설정해야 합니다.
개발자 드라이브에서 추가 필터를 어떻게 구성하나요?
기본적으로 필터 관리자는 바이러스 백신 필터를 제외하고 개발자 드라이브의 모든 필터를 해제합니다. 바이러스 백신 필터는 FSFilter Anti-Virus
고도 범위(예: 320000-329999)에 연결된 필터입니다.
FSFilter Anti-Virus
에는 파일 I/O 중에 바이러스를 검색하고 치료하는 필터가 포함되어 있습니다.
fsutil
을 사용하여 개발자 드라이브에 바이러스 백신 필터를 연결하지 않도록 기본 정책을 구성할 수 있습니다.
주의: 이 정책은 시스템의 모든 개발자 드라이브에 적용됩니다.
fsutil devdrv enable /disallowAv
fsutil devdrv enable [/allowAv|/disallowAv]
명령에는 다음 두 가지 옵션이 포함됩니다.
disallowAv
: 개발자 드라이브에 연결된 필터(바이러스 백신 포함)가 없다고 지정합니다.fsutil devdrv setfiltersallowed <Filter-1>
명령을 사용하여 필터를 다시 추가할 수 있습니다. (<Filter-1>
을 원하는 필터 이름으로 바꿉니다.)allowAv
: 개발자 드라이브가 기본 바이러스 백신 필터로 보호되도록 지정합니다.
도움을 받으려면 fsutil devdrv enable /?
명령을 입력합니다.
/allowAv
또는 /disallowAv
가 모두 지정되지 않으면 개발자 드라이브에 대한 바이러스 백신 정책이 구성되지 않으며 시스템 기본값은 개발자 드라이브를 바이러스 백신 필터로 보호하는 것입니다.
경고
필터를 분리할 때는 각별히 주의해야 합니다. 바이러스 백신 필터를 분리하는 것은 보안 위험이 있으며 이는 표준 Microsoft Defender 실시간 보호 또는 성능 모드 검사가 스토리지에 적용되지 않음을 의미합니다. 바이러스 백신 필터 분리와 관련된 위험을 평가할 책임은 사용자에게 있으며, 파일이 악의적인 공격에 노출되지 않을 것이라고 확신하는 경우에만 수행해야 합니다.
필터에 대한 자세한 내용은 파일 시스템 필터 드라이버 정보, 필터 드라이버 설치, 필터 관리자 개념, 부하 순서 그룹 및 미니 필터 드라이버의 고도를 참조하세요.
개발자 드라이브에 선택 필터를 연결하도록 허용
비즈니스 또는 엔터프라이즈 환경에서 작업하는 경우 위의 정책 외에도 개발자 드라이브에 연결할 필터를 선택하도록 회사의 그룹 정책을 구성할 수 있습니다. 시스템 관리자는 허용 목록을 사용하여 특정 개발자 드라이브 또는 모든 개발자 드라이브에 추가 필터를 연결하도록 선택할 수도 있습니다.
시스템 관리자는 "Foo"라는 필터를 추가하기를 원할 수 있습니다. Microsoft는 이를 FooFlt
라고 할 예정입니다.
D:
로 탑재된 개발자 드라이브에서만 해당 필터를 사용하도록 설정하려고 할 수 있습니다.
E:
로 탑재된 다른 개발자 드라이브에는 이 필터가 필요하지 않습니다. 관리자는 시스템 제공 명령줄 유틸리티인 fsutil.exe사용하여 개발자 드라이브의 필터 허용 목록을 변경할 수 있습니다.
허용으로 특별히 설정된 필터는 위에서 설명 한 바이러스 백신 필터 정책 외에도 개발자 드라이브에 연결할 수 있습니다.
허용 리스트 필터 예시
다음 예에서는 관리자가 허용 목록을 사용하여 컴퓨터의 모든 개발자 드라이브에 허용되는 필터를 설정하는 기능을 보여 줍니다.
setfiltersallowed
명령을 사용하여 모든 개발자 드라이브에서 Filter-01
및 Filter-02
를 허용하려면 다음 명령을 사용합니다.
fsutil devdrv setfiltersallowed Filter-01, Filter-02
모든 개발자 드라이브에 대한 필터 연결 정책을 표시하려면 다음 명령을 사용합니다.
fsutil devdrv query
결과는 다음과 같이 표시됩니다.
- 개발자 볼륨이 활성화되었습니다.
- 개발자 볼륨은 바이러스 백신 필터로 보호됩니다.
- 모든 개발자 드라이브에서 허용되는 필터:
Filter-01
,Filter-02
개발자 드라이브에서 Filter-03
만 허용하고 Filter-01
및 Filter-02
는 더 이상 연결이 허용되지 않도록 이 개발자 드라이브 구성을 변경하려면 다음 명령을 사용합니다.
fsutil devdrv setfiltersallowed Filter-03
기타 관련 명령은 fsutil devdrv /?
를 참조하세요.
일반적인 시나리오에 대한 필터
개발자 드라이브에는 다음 필터를 사용할 수 있습니다.
시나리오: 설명 | 필터 이름 |
---|---|
GVFS: Windows의 스파스 인리스트먼트 | PrjFlt |
MSSense: EDR 센서에 대한 엔드포인트용 Microsoft Defender | MsSecFlt |
Defender: Windows Defender 필터 | WdFilter |
Docker: 개발자 드라이브에서 컨테이너 실행 | bindFlt, wcifs |
Windows Performance Recorder: 파일 시스템 작업 측정 | 파일 정보 |
리소스 모니터: 리소스 사용량을 표시합니다. 디스크 활동에 파일 이름을 표시하는 데 필요 | 파일 정보 |
프로세스 모니터링 - Sysinternals: 파일 시스템 활동 모니터링 | ProcMon24 |
Windows 업그레이드: OS 업그레이드 중에 사용됩니다. 사용자가 TEMP 환경 변수를 Dev Drive로 이동하는 경우 필수 | WinSetupMon |
WDAC(Windows Defender 애플리케이션 제어): AppLocker ID 서비스를 사용하여 관리되는 설치 관리자 추적 | 앱로커필터 |
WdFilter
는 기본적으로 연결됩니다. 다음 명령은 이러한 추가 필터를 모두 개발자 드라이브에 연결하는 방법을 보여 주는 예입니다.
fsutil devdrv setfiltersallowed "PrjFlt, MsSecFlt, WdFilter, bindFlt, wcifs, FileInfo, ProcMon24"
팁
특정 시나리오에 필요한 필터를 확인하려면 일시적으로 Dev Drive를 신뢰할 수 없는 것으로 표시해야 할 수 있습니다. 그런 다음 시나리오를 실행하고 볼륨에 연결된 모든 필터를 기록해 둡니다. Dev Drive를 다시 신뢰할 수 있는 것으로 지정한 다음 해당 Dev Drive의 허용 목록에 필터를 추가하여 시나리오가 성공하도록 합니다. 마지막으로 시나리오가 예상대로 작동하는지 확인하면서 필요하지 않은 필터를 한 번에 하나씩 제거합니다.
팁
프로세스 모니터의 필터 이름이 변경될 수 있습니다. "ProcMon24" 필터 이름을 추가해도 개발자 드라이브의 파일 시스템 작업이 캡처되지 않는 것 같으면 fltmc filters
명령을 사용하여 필터를 나열한 다음 프로세스 모니터의 필터 이름을 찾아 "ProcMon24" 대신 해당 이름을 사용합니다.
복제 지원 차단
Windows 11 24H2 & Windows Server 2025부터 개발자 드라이브에서 이제 블록 복제가 지원됩니다. Dev Drive는 ReFS 파일 시스템 형식을 활용하므로 복제 차단 지원은 Dev Drive를 사용하여 파일을 복사할 때마다 무료 성능 이점을 의미합니다. 블록 복제를 사용하면 파일 시스템이 기본 물리적 데이터에 대한 값비싼 읽기 및 쓰기 작업을 수행하는 대신 저비용 메타데이터 작업으로 애플리케이션을 대신하여 파일 바이트 범위를 복사할 수 있습니다. 이렇게 하면 여러 파일이 동일한 논리 클러스터를 공유할 수 있도록 하여 복사 완료 속도가 빨라지고 기본 스토리지에 대한 I/O가 줄어들고 스토리지 용량이 향상됩니다. 블록 복제에 대해 자세히 알아봅니다.
개발자 드라이브에서 지원되지 않는 시나리오는 무엇인가요? 제한 사항은 무엇인가요?
개발자 드라이브 사용을 권장하지 않는 몇 가지 시나리오가 있습니다. 다음 범위가 포함됩니다.
- 기존 스토리지 볼륨을 "개발자 드라이브"로 다시 포맷하면 해당 볼륨에 저장된 모든 콘텐츠가 제거됩니다. 저장된 콘텐츠를 보존하면서 기존 볼륨을 다시 포맷하는 것은 지원되지 않습니다.
- 고정 디스크(HDD 또는 SSD)에서 호스트되는 VHD(가상 하드 디스크)를 만든 경우 VHD를 복사하여 다른 컴퓨터로 이동한 다음, 개발자 드라이브로 계속 사용하는 것은 권장하지 않습니다.
- 이동식 또는 핫 플러그 가능 디스크(예: USB, HDD 또는 SSD 외장형 드라이브)에 저장된 볼륨은 개발자 드라이브로 지정하는 것을 지원하지 않습니다.
- 이동식 또는 핫 플러그 가능 디스크에서 호스트되는 VHD의 볼륨은 개발자 드라이브로 지정하는 것을 지원하지 않습니다.
- 컴퓨터의 C: 드라이브는 개발자 드라이브로 지정할 수 없습니다.
- 개발자 드라이브의 목적은 리포지토리, 패키지 캐시, 작업 디렉터리 및 임시 폴더를 저장하도록 지정된 소프트웨어 프로젝트를 빌드하고 디버깅하기 위한 파일을 호스팅하는 것입니다. 개발자 드라이브에는 애플리케이션을 설치하지 않는 것이 좋습니다.
- 동적 디스크에서 Dev Drive를 사용하는 것은 지원되지 않습니다. 대신 드라이브 오류로부터 데이터를 보호하고 PC에 드라이브를 추가할 때 시간이 지남에 따라 스토리지를 확장하는 데 도움이 되는 스토리지 공간을 사용합니다.
개발자 드라이브를 삭제하는 방법
Windows 11 시스템 설정: System
>Storage
>Disks & volumes
에서 개발자 드라이브를 삭제할 수 있습니다.
Windows 설정 메뉴를 열고 스토리지, 고급 스토리지 설정, 디스크 및 볼륨을 선택합니다. 여기서 디바이스에서 스토리지 볼륨 목록을 찾을 수 있습니다. 삭제하려는 Dev Drive 스토리지 볼륨 옆에 있는 속성을 선택합니다. 드라이브의 속성에서 서식 레이블 아래에서 삭제 옵션을 찾을 수 있습니다.
이제 개발자 드라이브가 삭제됩니다. 그러나 개발자 드라이브가 새 VHD로 만들어진 경우 해당 VHD에서 사용하는 스토리지 공간을 회수하려면 VHD를 삭제해야 합니다. 이렇게 하려면 다음 단계에 따라 Dev Drive를 호스팅하는 VHD 파일을 삭제할 수 있도록 가상 디스크를 분리해야 합니다.
- 작업 표시줄의 검색 상자에 "컴퓨터 관리"를 입력하여 디스크 관리 도구를 엽니다. 스토리지 제목 아래에서 디스크 관리를 선택합니다. 개발 드라이브의 디스크 (볼륨 아님)를 선택합니다. 개발자 드라이브를 호스트하는 선택한 디스크를 마우스 오른쪽 단추로 클릭하고 결과 메뉴에서 VHD 분리를 선택합니다.
- 가상 하드 디스크를 분리하면 사용할 수 없음을 알리는 팝업 창이 표시됩니다.
- 분리되면 VHD를 삭제할 수 있습니다.
개발자 드라이브 FAQ
개발자 드라이브에 관해 질문과 대답은 다음과 같습니다.
필요에 맞게 개발자 드라이브를 어떻게 사용자 지정할 수 있나요?
개발자 드라이브 기본 설정은 일반적인 개발 시나리오에 맞게 최적화되었지만 사용자 지정이 가능하여 스토리지 볼륨에서 실행되는 드라이버 및 서비스를 제어할 수 있습니다. 개발자 드라이브 설정을 사용자 지정하려면 설정 메뉴를 엽니다. 시스템>스토리지>디스크 및 볼륨에서 속성으로 이동합니다.
중요한
비즈니스 또는 엔터프라이즈에서 일하는 경우 개발자 드라이브는 여전히 엔터프라이즈 설정으로 관리됩니다. 따라서 회사 정책에 따라 일부 사용자 지정 기능을 사용하지 못할 수도 있습니다.
개발자 드라이브를 사용하려면 애플리케이션을 다시 설치해야 하나요?
아니요, 컴퓨터의 C: 드라이브에 설치된 애플리케이션이나 도구는 개발자 드라이브의 파일을 활용할 수 있습니다. 그러나 개발 프로젝트의 경우 프로젝트별 디렉터리, 파일 및 패키지 캐시를 개발자 드라이브에 저장하는 것이 좋습니다. 개발자 드라이브는 미리 알림으로 파일 탐색기의 빠른 액세스 에 고정할 수 있습니다.
ReFS는 NTFS보다 더 많은 메모리를 사용하나요?
예, ReFS는 NTFS보다 약간 더 많은 메모리를 사용합니다. 메모리가 8GB 이상인 컴퓨터(이상적으로는 16GB)를 사용하는 것이 좋습니다.
컴퓨터에 둘 이상의 Dev Drive를 사용할 수 있나요?
예. 공간이 있으면 원하는 만큼 개발자 드라이브를 만들 수 있습니다. 각 소프트웨어 개발 프로젝트마다 별도의 개발자 드라이브를 사용하면 디스크를 다시 파티션하지 않고 개발이 끝날 때 드라이브를 간단히 삭제할 수 있습니다. 그러나 개발자 드라이브의 최소 크기는 50GB입니다.
Visual Studio에서 개발자 드라이브를 사용하려면 무엇을 알아야 하나요?
개발자 드라이브를 만들고 나면 Visual Studio에서 새 프로젝트를 만들거나 기존 프로젝트를 복제할 때 이를 자동으로 인식하고 해당 파일 경로를 기본값으로 선택합니다. Visual Studio를 사용할 때 성능을 최적화하려면 프로젝트 코드, 패키지 캐시 및 Copy on write
MS 빌드 작업을 이전에 다른 곳에 저장되었을 수 있는 Dev Drive로 이동하는 것이 좋습니다. (Visual Studio 문서에서 빌드 출력 디렉터리를 변경하는 방법을 참조하세요.) 또한 %TEMP%
및 %TMP%
환경 변수를 Dev Drive로 리디렉션하는 것을 고려하는 것이 좋습니다. Windows 업데이트 프로세스에 필요한 WinSetupMon
필터도 추가해야 합니다. (일반적인 시나리오에 적합한 필터를 참조하세요). 많은 프로그램에서 이러한 기능을 사용하므로 잠재적인 부작용에 주의해야 합니다. 또한 Dev Drive를 사용하여 비동기 성능 향상을 위해 Microsoft Defender 에 성능 모드를 사용하는 것이 좋습니다. Microsoft Defender를 완전히 끄면 성능이 최대로 향상될 수 있지만, 이는 시스템 관리자가 제어하는 설정으로서 보안 위험을 증가시킬 수 있습니다.
자세한 내용은 블로그 게시물: Visual Studio 및 Dev Boxs의 성능 향상을 위한 개발자 드라이브를 참조하세요.
개발자 드라이브는 WSL 프로젝트 파일과 작동하나요?
WSL을 통해 실행되는 Linux 배포판에서 Windows 파일 시스템에서 실행되는 개발자 드라이브 프로젝트 파일에 액세스할 수 있습니다. 그러나 WSL은 VHD에서 실행되며 최상의 성능을 위해서는 파일을 Linux 파일 시스템에 저장해야 합니다. WSL은 Windows 파일 시스템 범위를 벗어나므로 WSL을 통해 실행되는 Linux 배포판에서 개발자 드라이브의 프로젝트 파일에 액세스할 때 성능 개선을 기대할 수 없습니다.
Windows 스토리지 볼륨을 포맷하는 데 어떤 방법이 사용되나요?
Windows 드라이버 문서의 MSFT_Volume class
를 참조하세요.
개발자 드라이브에서 실시간 유닛 테스트를 구성하고 사용하는 방법은 무엇인가요?
Visual Studio 설명서에서 Live Unit Testing을 구성하고 사용하는 방법에 대한 지침을 찾을 수 있습니다. 그러나 ProjFS에 대한 종속성이 있다는 점에 유의하세요. 실시간 유닛 테스트 작업 영역 루트를 개발자 드라이브로 이동하고 허용된 필터 목록에 Windows 프로젝션된 파일 시스템을 추가해야 합니다. PowerShell에서 다음 명령을 사용하여 이를 수행할 수 있습니다.
fsutil devdrv setfiltersallowed PrjFlt
개발자 드라이브로 사용하기 위해 만든 VHD는 BitLocker를 저장하는 드라이브가 활성화될 때 암호화되나요?
예, 개발자 드라이브 VHD는 호스팅 볼륨의 BitLocker 암호화에 포함됩니다. 탑재된 VHD에서 BitLocker를 사용하도록 설정할 필요는 없습니다.
Dev Drive를 통해 Windows에서 Java를 더 빠르게 개발할 수 있나요?
예, Dev Drive를 사용하면 Java 개발 프로젝트에서 작업할 때 효율성을 높이고 빌드 시간을 줄일 수 있습니다. 블로그 게시물 "Dev Drive를 사용하여 Windows에서 Java 개발 가속화"를 참조하세요.
개발자 드라이브 성능 모드를 Microsoft Defender 외의 바이러스 백신 프로그램에 적용할 수 있나요?
개발자 드라이브 성능 모드 는 특히 Defender의 실시간 보호와 관련된 Microsoft Defender 바이러스 백신 기능입니다. 개발자 드라이브에서 대체 바이러스 백신 프로그램을 사용하는 경우 성능 모드가 적용되지 않지만 개발 작업에 대한 성능과 보안 간의 적절한 균형을 찾기 위해 개발 드라이브에 연결된 보안 필터 허용 목록을 조정할 수 있습니다. 연결된 필터 목록을 변경할 때는 연결된 필터의 기능을 이해하고 있어야 합니다. 일반적인 시나리오에 대한 필터에서 설명이 포함된 목록을 찾습니다.
제가 생성하고 추적을 놓친 개발자 드라이브를 찾으려면 어떻게 해야 하나요?
개발자 드라이브가 탑재되었지만 해당 드라이브의 위치를 잊어버린 경우, 다음 메서드를 사용하여 찾을 수 있습니다.
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 오픈 소스 리포지토리를 방문하세요.
Windows developer