Instalar 20.04 para wsl2 se a Microsoft Store estiver disfuncional?

Instalar 20.04 para wsl2 se a Microsoft Store estiver disfuncional?

Existe alguma maneira de instalar o 20.04 para uso com wsl2 quenãodepende do funcionamento da Microsoft Store (ou Add-AppxPackage)?

Por quê: Microsoft Store e Add-AppxPackage estão quebrados em meu computador, as tentativas de consertá-los não tiveram sucesso e a única solução da Microsoft é "reinstalar o Windows" porque não há como simplesmente regenerá-lo ou desinstalar e reinstalar o Store sozinho. Outros já descobriram que Add-AppxPackage não é uma brecha para contornar uma Microsoft Store quebrada.


Aliás, já tentei baixá-lo executando:

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

Infelizmente, aqui está a mensagem de erro que recebi:

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

Se você examinar as mensagens de erro no EventViewer, elas acabarão se resumindo a "um arquivo XML necessário para a Microsoft Store foi excluído de alguma forma e não há como recuperá-lo sem reinstalar a Store reinstalando o Windows" :-(

De qualquer forma, não espero que ninguém aqui ajude no diagnóstico da Microsoft Store, só espero que haja alguma maneira alternativa de instalar o Ubuntu 20.04 para WSL2 que nãoprecisarLoja do Windows para funcionar.

Responder1

Contanto que você já tenha o WSL instalado (que de qualquer maneira não depende da Loja, então isso não deve ser um problema), você pode usar o wsl --importsubcomando para obter a distribuição do Ubuntu "carregada lateralmente".

O pacote que você já baixou contém o arquivo que você precisa, mas para agilizar as instruções, pedirei que você baixe-o novamente. Você pode ajustar esta receita se quiser, é claro:

  • Primeiro, escolha um local para seus arquivos WSL. Por exemplo:

    cd $env:USERPROFILE
    mkdir -p wsl\instances\Ubuntu20_04
    mkdir wsl\images
    cd wsl
    
  • Baixe o pacote Appx manualmente nesse wsldiretório, por meio do link direto apropriado encontradoaquiou, no seu caso, através de:

    # Assuming we are still in the `wsl` directory created above
    Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing 
    
  • O arquivo resultante é na verdade apenas um .ziparquivo renomeado. Extraia-o no PowerShell e mova-o install.tar.gzpara o imagesdiretório criado acima:

    # Still in the `wsl` directory
    Expand-Archive Ubuntu.appx
    mv Ubuntu\install.tar.gz images\
    Remove-Item -Recurse Ubuntu
    
  • Você precisará extrair o install.tar.gzarquivo para install.tar. Nem o PowerShell nem o Windows têm um recurso integrado para fazer isso, então deixarei isso de acordo com sua preferência. Suponho que você já tenha algo como 7-zip instalado.

  • Renomeie images\install.tarpara images\Ubuntu20_04.tar. Isso não é estritamente necessário, mas gosto de manter a imagem "imaculada" caso você queira instalar instâncias adicionais. WSL é ótimo para criar instâncias “descartáveis”, onde você pode experimentar algo potencialmente destrutivo sem medo de corromper sua instância principal.

  • Ainda dentro do wsldiretório:

    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
    

    ... Claro, ajuste usernamepara ser seu nome de usuário. Veraquipara saber como criar a senha criptografada.

    Até onde sei, isso criará um usuário da mesma forma que o usuário padrão é criado pela instalação do Ubuntu 20.04 na Microsoft Store.

  • Inicie o WSL Ubuntu como root:

    wsl -u root
    
  • Para definir o usuário padrão que será executado quando a instância for iniciada, crie um /etc/wsl.confcom o seguinte conteúdo:

    [user]
    default=username
    

    ... substituindo seu nome de usuário, é claro.

  • Saia de volta para o PowerShell

  • Encerre a instância para permitir que ela volte a funcionar e leia wsl.conf:

    wsl --terminate Ubuntu20.04
    

Deveria ser isso. A execução wsldeve iniciar o Ubuntu 20.04 em execução com seu ID de usuário.

Não tive a chance de testar todas as etapas aqui de ponta a ponta, mas isso é uma combinação de coisas que fiz no passado e outras respostas que forneci. Acredito que reuni todas as peças de que você precisa, mas se você tiver problemas, me avise e eu revisarei e ajustarei.

Responder2

Para resolver um problema que parecia exigir a reinstalação do Windows, usei o chamado recurso de “atualização local” do instalador do Windows que reinstala mantendo todos os seus arquivos e aplicativos! Isso pode ajudá-lo. Vereste tutorialpor exemplo, para obter detalhes.

Hoje até consegui encontrar essa explicação definitiva para sua dúvida principal, senão copiada por outro cara aqui, já que este é um post mais antigo: https://superuser.com/questions/1271682/is-there-a-way-of-installing-ubuntu-windows-subsystem-for-linux-on-win10-v170 Por último, até a MS documenta tudo isso: https://docs.microsoft.com/en-us/windows/wsl/install-manual

Espero que minha postagem diminua em número de votos negativos agora.

informação relacionada