내 컴퓨터에서 WSL은 어디에 있나요?

내 컴퓨터에서 WSL은 어디에 있나요?

저는 Windows를 처음 사용하고 제공된 지침에 따라 WSL2를 설치했습니다.여기.

제대로 작동하지만 내 컴퓨터에 설치된 위치를 찾을 수 없습니다. 의 출력은 pwd입니다 home/nkp68.

WSL2에서 Windows 시스템의 파일에 어떻게 액세스합니까?

답변1

귀하의 게시물을 문자 그대로 읽으면 몇 가지 다른 질문이 있을 수 있습니다.

  • WSL Ubuntu 인스턴스는 컴퓨터 어디에 설치되어 있나요?
  • (아마도 첫 번째 질문을 기반으로 함) Windows에서 WSL2의 파일에 어떻게 액세스합니까?
  • "WSL2에서 Windows 시스템의 파일에 어떻게 액세스합니까?" (일종의반대처음 두 가지의 질문)

WSL Ubuntu 인스턴스는 어디에 있나요?

짧은 답변: 귀하의 경우 기본 설치 시 실제 파일은 가상 디스크에 있습니다 ext4.vhdx. 이 시점에서는 가상 드라이브이기 때문에 "위치"에 대해 걱정할 필요가 없지만 일반적으로 %userprofile%\AppData\Local\Packages\Canonical...\LocalState\ext4.vhdx. 당신은 %userprofile%일반적으로 다음과 같습니다 C:\Users\<username>.

자세한 세부 사항:

기본 설치용입니다. 여러 배포판을 설치할 수 있으며 동일한 배포판의 여러 인스턴스도 설치할 수 있습니다. WSL의 가장 큰 장점 중 하나는 배포판을 빠르게 복사하고, 무언가를 테스트하고, 테스트를 버릴 수 있는 기능입니다. 이렇게 하면 장기적으로 "부정한" 작업을 생성할 수 있는 패키지, 테스트 또는 기타 항목으로 "좋은" 일일 배포판을 오염시키는 것을 방지할 수 있습니다.

보다모두설치한 배포판을 보려면 PowerShell로 이동하여 다음을 실행하세요.

Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" -Recurse

귀하의 경우 다음과 같은 내용이 표시될 것입니다.

{cff9bfd6-39db-42af-a85b-d6fca State              : 1
94beff8}                       DistributionName   : Ubuntu
                               Version            : 2
                               BasePath           : C:\Users\krutik\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
                               Flags              : 15
                               DefaultUid         : 1000
                               PackageFamilyName  : CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
                               KernelCommandLine  : BOOT_IMAGE=/kernel init=/init
                               DefaultEnvironment : {HOSTTYPE=x86_64, LANG=en_US.UTF-8, PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games, TERM=xterm-256color}

다양한 위치에 꽤 많은 것들이 더 있습니다.

Windows에서 WSL2의 파일에 어떻게 액세스합니까?

그러나 질문 제목인 "어디"는 파일에 대해 어떤 작업을 수행해야 하는 경우를 제외하고는 별로 중요하지 않습니다 ext4.vhdx(예:공간 회수).

Windows에서 WSL의 파일에 액세스하려면 경로 \\wsl$\Ubuntu(또는 배포 이름이 무엇이든)를 사용하세요. 여기에서 \\wsl$\Ubuntu\home\nkp68파일을 안전하게 복사하거나 복사할 수 있는 을(를) 찾을 수 있습니다 .

업데이트된 메모: Windows 11에서는 \\wsl$\<distro_name>여전히 작동하지만 새로운 경로도 있습니다 \\wsl.localhost\<disro_name>. 둘 다 동일하게 작동하지만 wsl.localhost특정 상황에서는 좀 더 강력해야 합니다.

WSL2에서 Windows 시스템의 파일에 어떻게 액세스합니까?

Ubuntu에 있고 Windows 드라이브(예: )에 있는 파일에 액세스해야 하는 경우 C:해당 파일이 (기본적으로) 자동 마운트되어 있습니다.

ls /mnt/c/Users
ls /mnt/c

WSL 내에서 Windows 드라이브의 파일을 작업할 때 특히 권한 및 성능과 관련하여 약간의 차이가 있습니다. 일반적으로 모든 프로젝트 파일을 유지하려고 합니다.내부에Ubuntu ext4 파일 시스템(예: 디렉터리 아래 /home/nkp68) 그러나 필요에 따라 드라이브 간에 파일에 액세스하고, 복사하고, 이동할 수 있습니다.

WSL 기능은 어디에 있나요?

질문 제목은 실제 WSL 기능이 설치된 위치를 알고 싶다는 의미로 해석될 수 있습니다. 원래 포스터인 당신에게는 그렇지 않다는 것을 알고 있지만 다른 사람들로부터 질문이 올라왔으므로 제목을 기반으로 이 내용을 찾을 경우를 대비하여 여기에 추가하겠습니다.

시스템에서 WSL 기능의 위치는 사용 중인 WSL 버전에 따라 다릅니다.

  • 이전 버전의 WSL은 Windows 10 21H2(또는 그 이전)부터 Windows 자체에 Windows 기능으로 포함되었으며 오늘날에도 이 기능을 활성화할 수 있습니다.

    WSL Windows 기능을 켜면 WSL 적용 가능한 바이너리가 C:\Windows\System32\lxss. 이 폴더에 대해 걱정할 필요는 거의 없지만 유용할 때가 있습니다.

    WSL2 커널도 이 폴더에 있으며, 둘 이상의 릴리스를 롤백하려는 경우 이전 커널을 백업할 수 있습니다.

  • WSL의 최신 릴리스는 일반적으로 Microsoft Store에서 애플리케이션 패키지로 설치됩니다.

    WSL 애플리케이션 패키지를 설치하면 파일은 일반적으로 Windows 애플리케이션 패키지의 경우와 마찬가지로 C:\Program Files\WindowsApps\<package_dir>.

    이는 C:\Program Files\Windows Apps보호된 디렉터리이므로 기본적으로 내용을 볼 수 없습니다. 너해서는 안 된다이 디렉토리에 대한 권한 변경을 시도하면 시스템의 보안과 안정성이 손상될 수 있습니다.

    그러나 여전히 해당 내용을 볼 수 있습니다.패키지이름을 알고 있다고 가정합니다. 찾으려면 PowerShell에서 다음을 실행하세요.

    Get-AppxPackage |? { $_.Name -like "*WindowsSubsystemforLinux*" } | tee-object -Variable packageMatches
    

    InstallLocation결과와 함께 반환된 내용이 표시되어야 합니다 . 결과가 하나만 있는 경우(해당 경우) 다음을 사용하여 결과를 열 수 있습니다.

    explorer "$($packageMatches.InstallLocation)"
    

    tools\kernel또한 이 디렉터리 내에는 이 릴리스의 WSL2 커널인 가 있습니다 .

  • Windows 10 시스템에서는 다음과 같은 현상이 발생할 수 있습니다.둘 다이들의.

  • Windows 11 시스템에서는5월WSL1을 설치한 경우 이 두 설치 위치가 모두 있어야 합니다.

관련 정보