O Bash no subsistema do Windows / Windows para Linux (WSL) não está sendo instalado corretamente / trava

11

Eu recebi a atualização de aniversário do Windows e tentei instalar o Bash. Executei o bash no prompt de comando (modo não administrativo) e ele ficou bloqueado ao tentar extrair os arquivos. Fechei a janela e tentei fazer o mesmo com privilégios elevados (prompt de comando executado como administrador ).

Mas agora, quando entro no bash, ele fica preso lá e não é iniciado ou pede que eu instale o bash. Eu pude ver o processo do bash consumindo 25% da CPU em segundo plano.

Quando tento desinstalar o bash running lxrun /uninstall /full, ele não consegue desinstalar:

C: \ WINDOWS \ system32> lxrun / uninstall / full
Isso desinstalará o Ubuntu no Windows.

Isso removerá o ambiente Ubuntu, bem como quaisquer modificações, novos aplicativos e dados do usuário.

Digite "y" para continuar: y

Desinstalando ...

Erro: 0x80080005

Como eu poderia redefinir o subsistema Linux para Windows 10?

Edição : também tentei opções mencionadas aqui pela Microsoft.

Além disso, confira este problema. O Bash não faz nada por um tempo e depois sai

Vivek Vijayan
fonte
Quanto tempo você realmente esperou pela instalação (des)?
precisa saber é o seguinte
Eu esperei por cerca de 30 minutos.
Vivek Vijayan
Como alternativa, você pode acessar Ativar ou desativar os recursos do Windows e desmarcar o subsistema Windows para Linux (Beta) e, em seguida, reiniciar. Depois disso, reative a mesma caixa de seleção e reinicie novamente. Na minha máquina, não consegui executar lxrun.
precisa saber é o seguinte
Eu tentei tudo isso! Eu acho que este é um amplamente divulgado questão
Vivek Vijayan
@VivekVijayan - tome posse %localappdata%\lxsse exclua-o. Você pode usar lxrun /installpara instalar Ubuntu on Windowsnovamente. Isso pressupõe que você tenha o modo de desenvolvedor ativado e já adicionou o Recurso do Windows (Windows Linux Subsystem).
Ramhound 4/08/16

Respostas:

5

Inicialmente, tive problemas para desinstalar uma instalação com falha e remover a pasta lxss. Após a limpeza bem-sucedida da instalação, iniciei meus testes para reinstalar, mas o problema anterior com a instalação apareceu. O processo fica paralisado Extraindo o sistema de arquivos ... conforme relatado aqui .

Depois de dias de tentativa e erro, parece que encontrei o motivo dessa agonia. No meu caso (e como relatado por muitos outros aqui ), o antivírus é o esporte estragado. Desativar antivírus e reiniciar parecem fazer isso por mim. Por mais bobo que pareça, o Antivírus foi a principal causa da dor eError: 0x80080005

Agora, para quem ainda tem esse erro, isso deve ajudar se você tentar fazer o seguinte em ordem:

  1. Desativar o antivírus permanentemente e reiniciar (você pode ativá-lo após a conclusão da instalação)
  2. Abra o prompt de comando ou o Windows PowerShell como administrador
  3. Desinstale o WSL executando o seguinte comando lxrun /uninstall /full
  4. Agora pare o serviço WSL - sc stop lxssmanager
  5. Remova as pastas de dados do aplicativo - rmdir /S %LOCALAPPDATA%\lxss. Confirme se as pastas foram excluídas. Pode ser necessário alterar a propriedade para excluir a pasta se houver algum erro de acesso negado .
  6. Depois que as pastas forem excluídas, tente instalar o WSL novamente executando lxrun /install /y
  7. Aguarde o download da Windows Store e extraia os arquivos. (Você pode verificar %LOCALAPPDATA%\lxss\rootfsse os arquivos foram extraídos).
  8. Espero que você não deva ter um Error: 0x80080005dessa vez.
  9. Aproveite o Bash no Windows !

EDIT : Outro motivo para o erro é identificado como um bug quando você tem vários arquivos de troca . Isso será corrigido no futuro, mas, por enquanto, remova outros arquivos de troca e mantenha apenas um arquivo de troca. Isso deve corrigi-lo.

Mais detalhes para os interessados:

" Por causa do seu arquivo de rastreio, identifiquei um erro no código de instalação que está calculando o tamanho do arquivo de troca. Essa função é usada tanto pela chamada do sistema sysinfo quanto pela geração do conteúdo de / proc / meminfo. Esse problema ocorrerá quando você tiver vários arquivos de paginação em sua máquina Há três resultados diferentes que podem ocorrer como resultado desse bug: O tamanho do arquivo de troca será relatado incorretamente Nosso driver desreferenciará um endereço de memória inválido e causará uma tela azul. A máquina entrará em um loop infinito ao calcular o trocar tamanho do arquivo (esse é o que você está vendo) Como solução temporária, se você remover todos os arquivos de paginação, com exceção de um, deve poder usar o WSL. Estou codificando uma correção para isso agora. "

Referência: Bash no Ubuntu no Windows

Vivek Vijayan
fonte
Obrigado, isso me ajudou. Eu tinha o Windows Defender em execução e só precisava de 1-3 e 6-9, ou seja, não precisava interromper o serviço ou excluir nada.
Tom Ellis
Feliz por ajudar. Em alguns casos, o serviço WSL dificulta a remoção limpa dos arquivos de instalação. Que bom que você não teve que passar por tudo isso.
Vivek Vijayan