WSL의 고급 설정 구성
wsl.conf 및 .wslconfig 파일은 모든 WSL 2 배포(.wslconfig
)에서 배포별 기반(wsl.conf
) 및 전역적으로 고급 설정 옵션을 구성하는 데 사용됩니다. 이 가이드에서는 각 설정 옵션, 각 파일 형식을 사용하는 시기, 파일 저장 위치, 샘플 설정 파일 및 팁을 다룹니다.
wsl.conf와 .wslconfig의 차이점은 무엇인가요?
다음을 사용하여 두 가지 방법으로 WSL을 시작할 때마다 자동으로 적용되는 설치된 Linux 배포판의 설정을 구성할 수 있습니다.
- .wslconfig를 사용하여 WSL 2에서 실행되는 모든 설치된 배포판에서 전역 설정을 구성합니다.
- wsl.conf를 사용하여 WSL 1 또는 WSL 2에서 실행되는 각 Linux 배포에 대해 배포당 로컬 설정을 구성합니다.
두 파일 형식은 모두 WSL 설정을 구성하는 데 사용되지만 파일이 저장되는 위치, 구성 범위, 구성할 수 있는 옵션 유형 및 배포를 실행하는 WSL 버전은 선택할 파일 형식에 영향을 줍니다.
WSL 1 및 WSL 2는 서로 다른 아키텍처로 실행되며 구성 설정에 영향을 줍니다. WSL 2는 가벼운 VM(가상 머신)으로 실행되므로 사용되는 메모리 또는 프로세서의 양을 제어할 수 있는 가상화 설정을 사용합니다(Hyper-V 또는 VirtualBox를 사용하는 경우 익숙할 수 있음). 실행 중인 WSL 버전을 확인합니다.
구성 변경에 대한 8초 규칙
구성 설정 업데이트가 표시되려면 Linux 배포를 실행하는 하위 시스템이 실행을 완전히 중지하고 다시 시작할 때까지 기다려야 합니다. 일반적으로 배포 셸의 모든 인스턴스를 닫은 후 약 8초가 걸립니다.
배포(예: Ubuntu)를 시작하여 구성 파일을 수정하고 배포를 닫은 다음, 다시 시작하는 경우 구성 변경 내용이 즉시 적용된 것으로 가정할 수 있습니다. 하위 시스템이 여전히 실행 중일 수 있으므로 현재는 그렇지 않습니다. 변경 내용을 적용할 수 있는 충분한 시간을 제공하려면 다시 시작하기 전에 하위 시스템이 중지될 때까지 기다려야 합니다. wsl --list --running
명령과 함께 PowerShell을 사용하여 Linux 배포(셸)를 닫은 후에도 여전히 실행 중인지 확인할 수 있습니다. 실행 중인 배포가 없으면 "실행 중인 배포가 없습니다."라는 응답을 받게 됩니다. 이제 배포를 다시 시작하여 적용된 구성 업데이트를 확인할 수 있습니다.
wsl --shutdown
명령은 WSL 2 배포를 다시 시작하는 빠른 경로이지만 실행 중인 모든 배포를 종료하므로 현명하게 사용합니다. 즉시 실행되는 특정 배포를 종료하는 데 사용할 wsl --terminate <distroName>
수도 있습니다.
wsl.conf
WSL 1 또는 WSL 2에서 실행되는 각 Linux 배포에 대해 배포당 wsl.conf를 사용하여 로컬 설정을 구성합니다.
- 배포판의
/etc
디렉터리에 unix 파일로 저장됩니다. - 배포별로 설정을 구성하는 데 사용됩니다. 이 파일에 구성된 설정은 이 파일이 저장된 디렉터리를 포함하는 특정 Linux 배포판에만 적용됩니다.
- WSL 1 또는 WSL 2 버전에서 실행되는 배포에 사용할 수 있습니다.
- 설치된 배포의
/etc
디렉터리로 이동하려면cd /
와 함께 배포의 명령줄을 사용하여 루트 디렉터리에 액세스한 다음ls
를 사용하여 파일을 나열하거나explorer.exe .
를 사용하여 Windows 파일 탐색기에서 봅니다. 디렉터리 경로는 다음과 같아야 합니다./etc/wsl.conf
.
참고 항목
wsl.conf 파일을 사용하여 배포별 설정을 조정하는 것은 Windows 빌드 17093 이상에서만 사용할 수 있습니다.
wsl.conf에 대한 구성 설정
wsl.conf 파일은 배포별로 설정을 구성합니다. (WSL 2 배포의 전역 구성은 .wslconfig 참조).
wsl.conf 파일은 automount
, network
, interop
및 user
의 네 가지 섹션을 지원합니다. (.ini 파일 규칙을 따라 모델링된 키는 .gitconfig 파일과 같은 섹션에서 선언됩니다.) wsl.conf 파일을 저장할 위치에 대한 정보는 wsl.conf를 참조하세요.
체계적인 지원
많은 Linux 배포판은 기본적으로 "systemd"(Ubuntu 포함)를 실행하며 WSL은 최근 이 컴퓨터/서비스 관리자에 대한 지원을 추가하여 WSL이 운영 체제 미설치 컴퓨터에서 선호하는 Linux 배포판을 사용하는 것과 훨씬 더 유사합니다. systemd를 사용하도록 설정하려면 WSL 버전 0.67.6 이상이 필요합니다. wsl --version
명령으로 WSL 버전을 확인합니다. 업데이트가 필요한 경우 Microsoft Store에서 WSL의 최신 버전을 다운로드할 수 있습니다. 블로그 발표에서 자세히 알아봅니다.
systemd를 사용하도록 설정하려면 관리자 권한에 대해 sudo
를 사용하여 텍스트 편집기에서 wsl.conf
파일을 열고 다음 줄을 /etc/wsl.conf
에 추가합니다.
[boot]
systemd=true
그런 다음 WSL 인스턴스를 다시 시작하려면 PowerShell에서 wsl.exe --shutdown
을 사용하여 WSL 배포를 닫아야 합니다. 배포가 다시 시작되면 systemd가 실행 중이어야 합니다. 서비스 상태를 표시하는 systemctl list-unit-files --type=service
명령을 사용하여 확인할 수 있습니다.
자동 탑재 설정
wsl.conf 섹션 레이블: [automount]
key | value | default | 참고 |
---|---|---|---|
enabled |
부울 값 | true |
true 는 고정 드라이브(예: C:/ 또는 D:/ )가 /mnt 에서 DrvF로 자동으로 탑재되도록 합니다. false 는 드라이브가 자동으로 탑재되지 않음을 의미하지만, 수동으로 또는 fstab 를 통해 탑재할 수 있습니다. |
mountFsTab |
부울 값 | true |
true 는 WSL 시작 시 /etc/fstab 가 처리되도록 설정합니다. /etc/fstab는 SMB 공유와 같은 다른 파일 시스템을 선언할 수 있는 파일입니다. 따라서 시작 시 이러한 파일 시스템을 WSL에 자동으로 탑재할 수 있습니다. |
root |
string | /mnt/ |
고정 드라이브가 자동으로 탑재될 디렉터리를 설정합니다. 기본적으로 이는 /mnt/ 로 설정되어 있으므로 Windows 파일 시스템 C 드라이브는 /mnt/c/ 에 탑재됩니다. /mnt/ 를 /windir/ 로 변경하면 고정 C 드라이브가 /windir/c 에 탑재된 것을 볼 수 있습니다. |
options |
uid, gid 등과 같이 쉼표로 구분된 값 목록, 아래 자동 탑재 옵션 참조 | 빈 문자열 | 자동 탑재 옵션 값은 아래에 나열되어 있으며 기본 DrvFs 탑재 옵션 문자열에 추가됩니다. DrvFs별 옵션만 지정할 수 있습니다. |
자동 탑재 옵션은 자동으로 탑재된 모든 드라이브의 탑재 옵션으로 적용됩니다. 특정 드라이브에 대한 옵션만 변경하려면 대신 /etc/fstab
파일을 사용합니다. 탑재 이진 파일이 일반적으로 플래그로 구문 분석되는 옵션은 지원되지 않습니다. 이러한 옵션을 명시적으로 지정하려면 원하는 모든 드라이브를 /etc/fstab
에 포함시켜야 합니다.
자동 탑재 옵션
Windows 드라이브(DrvFs)에 다른 탑재 옵션을 설정하면 Windows 파일에 대한 파일 사용 권한이 계산되는 방법을 제어할 수 있습니다. 다음과 같은 옵션을 사용할 수 있습니다.
Key | 설명 | 기본값 |
---|---|---|
uid |
모든 파일의 소유자에게 사용되는 사용자 ID | WSL 배포판의 기본 사용자 ID(처음 설치할 때 기본값은 1000으로 설정됨) |
gid |
모든 파일의 소유자에게 사용되는 그룹 ID | WSL 배포판의 기본 그룹 ID(처음 설치할 때 기본값은 1000으로 설정됨) |
umask |
모든 파일 및 디렉터리에서 제외할 권한의 8진수 마스크 | 022 |
fmask |
모든 파일에서 제외할 권한의 8진수 마스크 | 000 |
dmask |
모든 디렉터리에서 제외할 권한의 8진수 마스크 | 000 |
metadata |
Linux 시스템 권한을 지원하기 위해 메타데이터가 Windows 파일에 추가되는지 여부 | disabled |
case |
대/소문자를 구분하는 디렉터리로 취급되는 디렉터리와 WSL로 만든 새 디렉터리에 플래그가 설정되는지 여부를 결정합니다. 옵션에 대한 자세한 설명은 대/소문자 구분을 참조하세요. 옵션에는 off , dir 또는 force 가 포함됩니다. |
off |
기본적으로 WSL은 uid 및 gid를 기본 사용자 값으로 설정합니다. 예를 들어, Ubuntu에서 기본 사용자는 uid=1000, gid=1000입니다. 이 값을 사용하여 다른 gid 또는 uid 옵션을 지정하면 기본 사용자 값을 덮어씁니다. 그렇지 않으면 항상 기본값이 추가됩니다.
사용자 파일 만들기 모드 마스크(umask)는 새로 만들어진 파일에 대한 권한을 설정합니다. 기본값은 022이며 사용자만 데이터를 쓸 수 있지만 누구나 데이터를 읽을 수 있습니다. 다른 권한 설정을 반영하도록 값을 변경할 수 있습니다. 예를 들어, umask=077
은 권한을 완전히 프라이빗으로 변경하고 다른 사용자는 데이터를 읽거나 쓸 수 없습니다. 권한을 추가로 지정하기 위해 fmask(파일) 및 dmask(디렉터리)를 사용할 수도 있습니다.
참고 항목
권한 마스크는 파일 또는 디렉터리에 적용되기 전에 논리 OR 연산을 거칩니다.
DrvF란?
DrvFs는 WSL과 Windows 파일 시스템 간의 상호 운용성을 지원하도록 설계된 WSL의 파일 시스템 플러그 인입니다. DrvFs를 사용하면 WSL이 /mnt/c, /mnt/d 등과 같은 /mnt 아래에 지원되는 파일 시스템이 있는 드라이브를 탑재할 수 있습니다. Windows 또는 Linux 드라이브나 디렉터리를 탑재할 때 기본 대/소문자 구분 동작을 지정하는 방법에 대한 자세한 내용은 대/소문자 구분 페이지를 참조하세요.
네트워크 설정
wsl.conf 섹션 레이블: [network]
key | value | default | 참고 |
---|---|---|---|
generateHosts |
부울 값 | true |
true 는 WSL에서 /etc/hosts 를 생성하도록 설정합니다. hosts 파일에는 IP 주소에 해당하는 호스트 이름의 정적 맵이 포함됩니다. |
generateResolvConf |
부울 값 | true |
true 는 WSL에서 /etc/resolv.conf 를 생성하도록 설정합니다. resolv.conf 에는 지정된 호스트 이름을 해당 IP 주소로 확인할 수 있는 DNS 목록이 포함됩니다. |
hostname |
string | Windows 호스트 이름 | WSL 배포에 사용할 호스트 이름을 설정합니다. |
상호 운용성 설정
wsl.conf 섹션 레이블: [interop]
다음 옵션은 참가자 빌드 17713 이상에서 사용할 수 있습니다.
key | value | default | 참고 |
---|---|---|---|
enabled |
부울 값 | true |
이 키를 설정하면 WSL에서 Windows 프로세스 시작을 지원하는지 여부가 결정됩니다. |
appendWindowsPath |
부울 값 | true |
이 키를 설정하면 WSL에서 Windows 경로 요소를 $PATH 환경 변수에 추가할지 여부가 결정됩니다. |
사용자 설정
wsl.conf 섹션 레이블: [user]
이러한 옵션은 빌드 18980 이상에서 사용할 수 있습니다.
key | value | default | 참고 |
---|---|---|---|
default |
string | 처음 실행 시 만들어진 초기 사용자 이름 | 이 키를 설정하면 WSL 세션을 처음 시작할 때 실행할 사용자를 지정합니다. |
부팅 설정
부팅 설정은 Windows 11 및 Server 2022에서만 사용할 수 있습니다.
wsl.conf 섹션 레이블: [boot]
key | value | default | 참고 |
---|---|---|---|
command |
string | "" | WSL 인스턴스가 시작될 때 실행할 명령의 문자열입니다. 이 명령은 루트 사용자로 실행됩니다. 예: service docker start . |
wsl.conf 파일 예
아래의 wsl.conf
샘플 파일은 사용 가능한 일부 구성 옵션을 보여 줍니다. 이 예에서 배포는 Ubuntu-20.04이고 파일 경로는 \\wsl.localhost\Ubuntu-20.04\etc\wsl.conf
입니다.
# Automatically mount Windows drive when the distribution is launched
[automount]
# Set to true will automount fixed drives (C:/ or D:/) with DrvFs under the root directory set above. Set to false means drives won't be mounted automatically, but need to be mounted manually or with fstab.
enabled = true
# Sets the directory where fixed drives will be automatically mounted. This example changes the mount location, so your C-drive would be /c, rather than the default /mnt/c.
root = /
# DrvFs-specific options can be specified.
options = "metadata,uid=1003,gid=1003,umask=077,fmask=11,case=off"
# Sets the `/etc/fstab` file to be processed when a WSL distribution is launched.
mountFsTab = true
# Network host settings that enable the DNS server used by WSL 2. This example changes the hostname, sets generateHosts to false, preventing WSL from the default behavior of auto-generating /etc/hosts, and sets generateResolvConf to false, preventing WSL from auto-generating /etc/resolv.conf, so that you can create your own (ie. nameserver 1.1.1.1).
[network]
hostname = DemoHost
generateHosts = false
generateResolvConf = false
# Set whether WSL supports interop processes like launching Windows apps and adding path variables. Setting these to false will block the launch of Windows processes and block adding $PATH environment variables.
[interop]
enabled = false
appendWindowsPath = false
# Set the user when launching a distribution with WSL.
[user]
default = DemoUser
# Set a command to run when a new WSL instance launches. This example starts the Docker container service.
[boot]
command = service docker start
.wslconfig
WSL에서 실행되는 모든 설치된 배포판에서 .wslconfig를 사용하여 전역 설정을 구성합니다.
- .wslconfig 파일은 기본적으로 존재하지 않습니다. 이러한 구성 설정을 적용하려면 디렉터리에 만들고 저장
%UserProfile%
해야 합니다. - WSL 2 버전으로 실행되는 설치된 모든 Linux 배포에서 전역적으로 설정을 구성하는 데 사용됩니다.
- WSL 2에서 실행하는 배포에만 사용할 수 있습니다. WSL 1로 실행되는 배포는 가상 머신으로 실행되지 않으므로 이 구성의 영향을 받지 않습니다.
%UserProfile%
디렉터리로 이동하려면 PowerShell에서cd ~
를 사용하여 홈 디렉터리(일반적으로 사용자 프로필인C:\Users\<UserName>
)에 액세스하거나 Windows 파일 탐색기를 열고 주소 표시줄에%UserProfile%
를 입력할 수 있습니다. 디렉터리 경로는 다음과 같아야 합니다.C:\Users\<UserName>\.wslconfig
.
WSL은 이러한 파일의 존재를 검색하고 콘텐츠를 읽고 WSL을 시작할 때마다 구성 설정을 자동으로 적용합니다. 파일이 없거나 형식이 잘못된 경우(부적절한 태그 형식) WSL은 구성 설정이 적용되지 않은 상태에서 계속 정상적으로 실행됩니다.
.wslconfig에 대한 구성 설정
.wslconfig 파일은 WSL 2로 실행되는 모든 Linux 배포에 대해 전역적으로 설정을 구성합니다. (배포별 구성은 wsl.conf 참조).
.wslconfig 파일을 저장할 위치에 대한 정보는 .wslconfig를 참조하세요.
참고 항목
전역 설정을 .wslconfig
구성하는 것은 Windows Build 19041 이상에서 WSL 2로 실행되는 배포에만 사용할 수 있습니다. WSL 2 VM을 종료한 다음 WSL 인스턴스를 다시 시작하여 이러한 변경 내용을 적용하려면 실행 wsl --shutdown
해야 할 수 있습니다.
이 파일에는 모든 WSL 2 배포를 지원하는 VM에 영향을 주는 다음 옵션이 포함될 수 있습니다.
기본 WSL 설정
.wslconfig 섹션 레이블: [wsl2]
key | value | default | 참고 |
---|---|---|---|
kernel |
경로 | 받은 편지함에서 제공하는 Microsoft 빌드 커널 | 사용자 지정 Linux 커널에 대한 절대 Windows 경로입니다. |
memory |
크기 | Windows 전체 메모리의 50% | WSL 2 VM에 할당할 메모리 양입니다. |
processors |
번호 | Windows에서 동일한 수의 논리 프로세서 | WSL 2 VM에 할당할 논리 프로세서 수입니다. |
localhostForwarding |
부울 값 | true |
WSL 2 VM의 와일드카드 또는 localhost에 바인딩된 포트를 localhost:port 를 통해 호스트에서 연결할 수 있는지 여부를 지정하는 부울입니다. |
kernelCommandLine |
string | Blank | 추가 커널 명령줄 인수입니다. |
safeMode |
부울 값 | false |
많은 기능을 사용하지 않도록 설정하고 잘못된 상태의 배포를 복구하는 데 사용되는 "안전 모드"에서 WSL을 실행합니다. Windows 11 및 WSL 버전 0.66.2 이상에서만 사용할 수 있습니다. |
swap |
크기 | Windows에서 메모리 크기의 25%, 가장 가까운 GB로 반올림됨 | WSL 2 VM에 추가할 스왑 공간의 양, 스왑 파일이 없는 경우 0입니다. 교환 스토리지는 메모리 수요가 하드웨어 디바이스의 한도를 초과할 때 사용되는 디스크 기반 RAM입니다. |
swapFile |
경로 | %USERPROFILE%\AppData\Local\Temp\swap.vhdx |
교환 가상 하드 디스크에 대한 절대 Windows 경로입니다. |
pageReporting |
부울 값 | true |
기본 true 설정을 사용하면 Windows가 WSL 2 가상 머신에 할당된 미사용 메모리를 회수할 수 있습니다. |
guiApplications |
부울 값 | true |
WSL에서 GUI 애플리케이션(WSLg)에 대한 지원을 켜거나 끄는 부울입니다. |
debugConsole * |
부울 값 | false |
WSL 2 distro 인스턴스 시작 시 dmesg 의 콘텐츠를 표시하는 출력 콘솔 창을 켜는 부울입니다. Windows 11에서만 사용할 수 있습니다. |
nestedVirtualization * |
부울 값 | true |
중첩된 가상화를 켜거나 끄는 부울로, 다른 중첩된 VM이 WSL 2 내에서 실행될 수 있습니다. Windows 11에서만 사용할 수 있습니다. |
vmIdleTimeout * |
번호 | 60000 |
VM이 종료되기 전에 유휴 상태인 시간(밀리초)입니다. Windows 11에서만 사용할 수 있습니다. |
dnsProxy |
부울 값 | true |
networkingMode = NAT에만 적용됩니다. 호스트의 NAT에 Linux의 DNS 서버를 구성하도록 WSL에 알리는 부울입니다. false로 설정하면 WINDOWS에서 Linux로 DNS 서버가 미러링됩니다. |
networkingMode ** |
string | NAT |
값이 mirrored 인 경우 미러링된 네트워킹 모드가 켜집니다. 기본 또는 인식할 수 없는 문자열로 인해 NAT 네트워킹이 발생합니다. |
firewall ** |
부울 값 | true |
이를 true로 설정하면 Windows 방화벽 규칙은 물론 Hyper-V 트래픽과 관련된 규칙도 WSL 네트워크 트래픽을 필터링할 수 있습니다. |
dnsTunneling ** |
부울 값 | true |
DNS 요청이 WSL에서 Windows로 프록시되는 방식 변경 |
autoProxy * |
부울 값 | true |
Windows의 HTTP 프록시 정보를 사용하도록 WSL 적용 |
defaultVhdSize |
크기 | 1099511627776 (1TB) |
Linux 배포(예: Ubuntu) 파일 시스템을 저장하는 VHD(가상 하드 디스크) 크기를 설정합니다. 배포 파일 시스템에서 사용할 수 있는 최대 크기를 제한하는 데 사용할 수 있습니다. |
path
값이 있는 항목은 이스케이프된 백슬래시가 있는 Windows 경로여야 합니다(예: C:\\Temp\\myCustomKernel
).
값이 있는 항목은 size
크기 뒤에 단위(예 8GB
: 또는 512MB
)가 와야 합니다.
값 형식 뒤에 *가 있는 항목은 Windows 11에서만 사용할 수 있습니다.
값 형식 이후에 **가 있는 항목에는 Windows 11 버전 22H2 이상이 필요합니다.
실험적 설정
이러한 설정은 향후 기본값으로 설정하려는 실험적 기능의 옵트인 미리 보기입니다.
.wslconfig 섹션 레이블: [experimental]
설정 이름 | 값 | 기본값 | 주의 |
---|---|---|---|
autoMemoryReclaim |
string | disabled |
유휴 CPU 사용량을 감지한 후 캐시된 메모리를 자동으로 해제합니다. 느린 릴리스의 경우 gradual 로 설정하고 캐시된 메모리의 즉시 릴리스의 경우 dropcache 로 설정합니다. |
sparseVhd |
bool | false |
true로 설정하면 새로 만든 VHD가 자동으로 스파스로 설정됩니다. |
bestEffortDnsParsing ** |
bool | false |
wsl2.dnsTunneling 이 true로 설정된 경우에만 적용할 수 있습니다. true로 설정하면 Windows는 DNS 요청에서 질문을 추출하여 알 수 없는 레코드를 무시하고 문제를 해결하려고 시도합니다. |
dnsTunnelingIpAddress ** |
string | 10.255.255.254 |
wsl2.dnsTunneling 가 true로 설정된 경우에만 적용할 수 있습니다. DNS 터널링을 사용할 때 Linux resolv.conf 파일에서 구성할 이름 서버를 지정합니다. |
initialAutoProxyTimeout * |
string | 1000 |
wsl2.autoProxy 가 true로 설정된 경우에만 적용할 수 있습니다. WSL 컨테이너를 시작할 때 WSL이 HTTP 프록시 정보를 검색할 때까지 대기하는 시간(밀리초)을 구성합니다. 이 시간 이후에 프록시 설정이 확인되는 경우 검색된 프록시 설정을 사용하려면 WSL 인스턴스를 다시 시작해야 합니다. |
ignoredPorts ** |
string | null | wsl2.networkingMode 가 mirrored 로 설정된 경우에만 적용할 수 있습니다. Windows에서 해당 포트를 사용하는 경우에도 Linux 애플리케이션이 바인딩할 수 있는 포트를 지정합니다. 이렇게 하면 애플리케이션이 Linux 내에서만 트래픽을 위해 포트에서 수신 대기할 수 있으므로 해당 포트가 Windows의 다른 용도로 사용되는 경우에도 해당 애플리케이션이 차단되지 않습니다. 예를 들어 WSL은 Linux 컨테이너 내의 요청만 수신 대기하므로 Docker Desktop용 Linux의 포트 53에 대한 바인딩을 허용합니다. 쉼표로 구분된 목록(예: )에 서식을 지정해야 합니다. 3000,9000,9090 |
hostAddressLoopback ** |
bool | false |
wsl2.networkingMode 가 mirrored 로 설정된 경우에만 적용할 수 있습니다. 로 True 설정하면 컨테이너가 호스트에 연결하거나 호스트가 호스트에 할당된 IP 주소로 컨테이너에 연결할 수 있습니다. 루프백 주소는 127.0.0.1 항상 사용할 수 있습니다. 이 옵션을 사용하면 추가로 할당된 모든 로컬 IP 주소도 사용할 수 있습니다. 호스트에 할당된 IPv4 주소만 지원됩니다. |
값 형식 뒤에 *가 있는 항목은 Windows 11에서만 사용할 수 있습니다.
값 형식 이후에 **가 있는 항목에는 Windows 버전 22H2 이상이 필요합니다.
.wslconfig 파일 예
아래의 .wslconfig
샘플 파일은 사용 가능한 일부 구성 옵션을 보여 줍니다. 이 예에서 파일 경로는 C:\Users\<UserName>\.wslconfig
입니다.
# Settings apply across all Linux distros running on WSL 2
[wsl2]
# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
memory=4GB
# Sets the VM to use two virtual processors
processors=2
# Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel
kernel=C:\\temp\\myCustomKernel
# Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
kernelCommandLine = vsyscall=emulate
# Sets amount of swap storage space to 8GB, default is 25% of available RAM
swap=8GB
# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
swapfile=C:\\temp\\wsl-swap.vhdx
# Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
pageReporting=false
# Turn on default connection to bind WSL 2 localhost to Windows localhost. Setting is ignored when networkingMode=mirrored
localhostforwarding=true
# Disables nested virtualization
nestedVirtualization=false
# Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
debugConsole=true
# Enable experimental features
[experimental]
sparseVhd=true
추가 리소스
Windows Subsystem for Linux