Microsoft Store가 제대로 작동하지 않는 경우 wsl2용 20.04를 설치하시겠습니까?

Microsoft Store가 제대로 작동하지 않는 경우 wsl2용 20.04를 설치하시겠습니까?

wsl2와 함께 사용하기 위해 20.04를 설치하는 방법이 있습니까?그렇지 않다Microsoft Store(또는 Add-AppxPackage) 작동에 의존합니까?

이유: 내 컴퓨터에서 Microsoft Store 및 Add-AppxPackage가 손상되어 문제를 해결하려는 시도가 실패했으며 Microsoft의 유일한 해결 방법은 "Windows를 다시 설치"하는 것입니다. Windows를 다시 생성하거나 Store 자체를 제거하고 다시 설치할 수 있는 방법이 없기 때문입니다. 다른 사람들은 이미 Add-AppxPackage가 손상된 Microsoft Store를 우회하는 데 허점이 아니라는 것을 발견했습니다.


덧붙여서, 나는 이미 다음을 실행하여 다운로드를 시도했습니다.

Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing
Add-AppxPackage .\Ubuntu.appx

안타깝게도 제가 받은 오류 메시지는 다음과 같습니다.

Add-AppxPackage : Deployment failed with HRESULT: 0x80073CF3, Package failed updates, dependency or conflict
validation.
Deployment Add operation with target volume C: on Package
CanonicalGroupLimited.Ubuntu20.04onWindows_2004.2020.424.0_x64__79rhkp1fndgsc from:  (Ubuntu.appx)  failed with error
0x80073CF3. See http://go.microsoft.com/fwlink/?LinkId=235160 for help diagnosing app deployment issues.
NOTE: For additional information, look for [ActivityId] 014ee586-6a11-0004-ce43-5001116ad701 in the Event Log or use
the command line Get-AppPackageLog -ActivityID 014ee586-6a11-0004-ce43-5001116ad701
At line:1 char:1
+ Add-AppxPackage .\Ubuntu.appx
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (D:\Downloads\Ubuntu.appx:String) [Add-AppxPackage], IOException
    + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand

EventViewer에서 오류 메시지를 자세히 살펴보면 결국 "Microsoft Store에 필요한 XML 파일이 어떻게든 삭제되었으며, Windows를 다시 설치하여 Store를 다시 설치하지 않고는 이를 다시 가져올 수 있는 방법이 없습니다"라는 결론이 나옵니다.

어쨌든 여기 있는 누구도 Microsoft Store 진단에 도움을 줄 것이라고 기대하지 않습니다. WSL2용 Ubuntu 20.04를 설치하는 다른 방법이 있기를 바랄 뿐입니다.필요Windows 스토어가 작동합니다.

답변1

WSL이 이미 설치되어 있는 한(어쨌든 Store에 의존하지 않으므로 문제가 되지 않음) 하위 명령을 사용하여 wsl --importUbuntu 배포판을 "사이드 로드"할 수 있습니다.

이미 다운로드한 패키지에는 필요한 파일이 포함되어 있지만, 지침을 간소화하기 위해 다시 다운로드하도록 하겠습니다. 물론 원한다면 이 레시피를 조정할 수 있습니다.

  • 먼저 WSL 파일의 위치를 ​​선택합니다. 예를 들어:

    cd $env:USERPROFILE
    mkdir -p wsl\instances\Ubuntu20_04
    mkdir wsl\images
    cd wsl
    
  • wsl발견된 적절한 직접 링크를 통해 Appx 패키지를 해당 디렉터리에 수동으로 다운로드합니다 .여기또는 귀하의 경우 다음을 통해:

    # Assuming we are still in the `wsl` directory created above
    Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing 
    
  • 결과 파일은 실제로 이름이 변경된 .zip파일입니다. PowerShell에서 압축을 풀고 위에서 만든 디렉터리 install.tar.gz로 이동합니다.images

    # Still in the `wsl` directory
    Expand-Archive Ubuntu.appx
    mv Ubuntu\install.tar.gz images\
    Remove-Item -Recurse Ubuntu
    
  • install.tar.gz로 파일 을 추출해야 합니다 install.tar. PowerShell이나 Windows에는 이 작업을 수행하는 기능이 내장되어 있지 않으므로 원하는 대로 두겠습니다. 이미 7-zip과 같은 것이 설치되어 있다고 생각합니다.

  • images\install.tar으로 이름을 바꿉니다 images\Ubuntu20_04.tar. 꼭 필요한 것은 아니지만 추가 인스턴스를 설치하려는 경우를 대비해 "원래의" 이미지를 유지하고 싶습니다. WSL은 기본 인스턴스가 손상될 염려 없이 잠재적으로 파괴적인 작업을 시도할 수 있는 "일회용" 인스턴스를 실행하는 데 적합합니다.

  • 여전히 디렉토리 내에서 wsl:

    wsl --import Ubuntu20.04 instances\Ubuntu20_04 images\Ubuntu20_04.tar --version 2
    wsl --set-default Ubuntu20.04 # Optional, and perhaps unnecessary if this is the first distribution installed
    wsl -u root useradd --create-home --user-group --groups  adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password "encryptedPassword" username
    

    ... 물론 username사용자 이름으로 조정하세요. 보다여기암호화된 비밀번호를 만드는 방법에 대해 알아보세요.

    내가 아는 한, Ubuntu 20.04의 Microsoft Store 설치로 기본 사용자가 생성되는 것과 동일한 방식으로 사용자가 생성됩니다.

  • WSL Ubuntu를 루트로 시작합니다.

    wsl -u root
    
  • 인스턴스가 시작될 때 실행되는 기본 사용자를 설정하려면 /etc/wsl.conf다음 내용으로 를 생성합니다.

    [user]
    default=username
    

    ... 물론 사용자 이름을 대체합니다.

  • PowerShell로 다시 종료

  • 인스턴스가 다시 작동하여 읽을 수 있도록 인스턴스를 종료합니다 wsl.conf.

    wsl --terminate Ubuntu20.04
    

그게 다야. 실행하면 wsl사용자 ID로 Ubuntu 20.04가 실행되기 시작합니다.

여기의 모든 단계를 처음부터 끝까지 테스트할 기회는 없었지만 이는 과거에 수행한 작업과 제공한 다른 답변을 결합한 것입니다. 필요한 모든 부분을 준비했다고 생각합니다. 하지만 문제가 발생할 경우 알려주시면 검토하고 조정하겠습니다.

답변2

Windows 재설치가 필요한 것으로 보이는 문제를 해결하기 위해 모든 파일과 앱을 유지하면서 다시 설치하는 Windows 설치 프로그램의 "인플레이스 업그레이드" 기능을 활용했습니다! 이것이 도움이 될 수 있습니다. 보다이 튜토리얼예를 들어 자세한 내용은 다음과 같습니다.

오늘 나는 당신의 주요 질문에 대한 궁극적인 설명을 찾았습니다. 다른 사람이 여기에 복사하지 않았다면 이것은 오래된 게시물이기 때문입니다. https://superuser.com/questions/1271682/is-there-a-way-of-installing-ubuntu-windows-subsystem-for-linux-on-win10-v170 마지막으로 MS조차도 이 모든 것을 문서화합니다. https://docs.microsoft.com/en-us/windows/wsl/install-manual

이제 내 게시물의 반대표 수가 줄어들기를 바랍니다..

관련 정보