WSL2를 열 때 Windows 터미널에 "해당 파일이 이미 있으면 파일을 생성할 수 없습니다" 오류가 발생합니까?

WSL2를 열 때 Windows 터미널에 "해당 파일이 이미 있으면 파일을 생성할 수 없습니다" 오류가 발생합니까?

Windows 터미널에서 일반 사용자로 WSL2용 Ubuntu를 실행하는 데 문제가 있습니다.

bash 프롬프트를 받는 대신 다음과 같은 메시지가 표시되는데, 이는 동일한 이름을 가진 Ubuntu Distro가 두 개 이상 있기 때문이라고 생각합니다. 아래를 참조하세요.

윈도우 버전: 마이크로소프트 윈도우 [버전 10.0.19044.1586]

WSL 버전:0.0.0.0

WSL1 또는 WSL2를 사용하고 있습니까?WSL2

커널 버전:Linux 버전 5.10.102.1-microsoft-standard-WSL2 (oe-user@oe-host) (x86_64-msft-linux-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34.0.20200220) #1 SMP Wed Mar 2 2022년 00:30:59 UTC

재현 단계:

  1. 관리자가 아닌 계정으로 Windows 터미널을 엽니다.

  2. 상단의 아래쪽 화살표 탭을 클릭하고 Ubuntu를 선택합니다.

  3. 다음 오류 메시지와 함께 새 탭이 나타납니다.

    해당 파일이 이미 존재하면 파일을 생성할 수 없습니다.

    [프로세스가 코드 4294967295(0xffffffff)로 종료되었습니다.] 이제 Ctrl+D를 사용하여 이 터미널을 닫거나 Enter를 눌러 다시 시작할 수 있습니다.

문제는 Ubuntu라는 두 개의 Ubuntu Distro가 있지만 레지스트리에 다른 GUID/UUID가 있다는 사실과 관련이 있다고 생각합니다.

wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2
  Ubuntu    Stopped         2

PS C:\Users\me-user> reg query hkcu\software\microsoft\windows\currentversion\lxss

HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss
    DefaultVersion    REG_DWORD    0x2
    DefaultDistribution    REG_SZ    {c329c2ee-fd20-4986-873a-351737eaf399}

HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\AppxInstallerCache
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{c329c2ee-fd20-4986-873a-351737eaf399}

첫 번째 항목에는 값이 있지만 두 번째 항목에는 값이 없는 경우:

첫 번째:

PS C:\Users\me-user> reg query "hkcu\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}" /v DistributionName

HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}
    DistributionName    REG_SZ    Ubuntu

PS C:\Users\me-user> reg query "hkcu\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}"

HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}
    State    REG_DWORD    0x1
    DistributionName    REG_SZ    Ubuntu
    Version    REG_DWORD    0x2
    BasePath    REG_SZ    C:\Users\me-user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
    Flags    REG_DWORD    0xf
    DefaultUid    REG_DWORD    0x0
    PackageFamilyName    REG_SZ    CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc

두 번째

PS C:\Users\me-user> reg query "hkcu\software\microsoft\windows\currentversion\lxss\{c329c2ee-fd20-4986-873a-351737eaf399}" /v DistributionName

HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{c329c2ee-fd20-4986-873a-351737eaf399}
    DistributionName    REG_SZ    Ubuntu

(다른 키/값 없음)

기본 wsl이 두 번째로 설정되어 있음을 확인했습니다 c329c2ee-fd20-4986-873a-351737eaf399.

DefaultDistribution REG_SZ {c329c2ee-fd20-4986-873a-351737eaf399}

{97307d71-8998-42a4-9600-ff372b6ec1ee}Windows 터미널에서 열려고 할 때 더 이상 오류 메시지가 표시되지 않도록 기본 배포를 "첫 번째 배포"로 변경하는 것이 안전합니까 ?

다음도 참조하세요. https://github.com/microsoft/WSL/issues/7998

Cannot create a file when that file already exists.

[process exited with code 4294967295 (0xffffffff)]
You can now close this terminal with Ctrl+D, or press Enter to restart.

관련 정보