![Instalar 20.04 para wsl2 se a Microsoft Store estiver disfuncional?](https://rvso.com/image/1070919/Instalar%2020.04%20para%20wsl2%20se%20a%20Microsoft%20Store%20estiver%20disfuncional%3F.png)
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 --import
subcomando 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
wsl
diretó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
.zip
arquivo renomeado. Extraia-o no PowerShell e mova-oinstall.tar.gz
para oimages
diretó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.gz
arquivo parainstall.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.tar
paraimages\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
wsl
diretó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
username
para 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.conf
com 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 wsl
deve 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.