Como o shell bash no Windows pode ser completamente redefinido?

Como o shell bash no Windows pode ser completamente redefinido?

Sou novo no Unix, mas estou interessado em aprender, então comecei a tentar usar o bash/Ubuntu no Windows. Infelizmente, o bash travou e agora o bash/Ubuntu parece estar quebrado, já que a maioria das pastas está faltando na pasta raiz do Ubuntu, ou seja:

root@Desktop:~# ls
root@Desktop:~# cd /root
root@Desktop:~# ls
root@Desktop:~# ls -a
.  ..  .bashrc  .profile

Não tenho uma %localappdata%\lxsspasta (tenho quase certeza de que era aqui que estava originalmente a raiz do Linux). Parece que tenho uma %localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgscpasta, que aparentemente é o novo local para a raiz do Linux, mas ela não está completa (ou seja, não contém uma ...\LocalState\rootfspasta).

Depois de procurar soluções aqui e em outros lugares, tentei:

  • Desinstalar completamente o Ubuntu\bash do Windows com lxrun.exe /uninstall full.
  • Como acima, em conjunto com a desativação e reativação do recurso Windows Subsystem for Linux (beta).
  • Executando: apt-get remove upstart, apt-get remove udev, apt-get autoremove no bash.

Infelizmente nenhuma das opções acima resolveu o problema. Alguém pode sugerir uma maneira de realizar uma 'redefinição de fábrica' completa?

Responder1

Depois de procurar soluções aqui e em outros lugares, tentei:

  • Desinstalando completamente o Ubuntu\bash do Windows com lxrun.exe /uninstall full.
  • Como acima, em conjunto com a desativação e reativação do recurso Windows Subsystem for Linux (beta).
  • Em execução: apt-get remove upstart, apt-get remove udev, apt-get autoremove no bash.

lxrun.exe não deve funcionar na versão atual do WSL. Acho difícil acreditar que você instalou, Windows Subsystem for Linux (Beta)pois o recurso correto estaria listado como Windows Subsystem for Linuxno Windows 10 versão 1709. Sua terceira solução não redefiniria nenhum ambiente WSL.

lxrun e bash.exe e ferramentas associadas estão obsoletos no Fall Creators Update.

A única razão pela qual sei que você está executando o 1709 é a existência da UbuntuonWindows_79rhkp1fndgscpasta.

Parece que tenho uma pasta %localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc, que aparentemente é o novo local para a raiz do Linux, mas não está completa (ou seja, não contém uma pasta ...\LocalState\rootfs).

Não deveria conter essa pasta.

Não tenho uma pasta %localappdata%\lxss (tenho certeza de que é aqui que a raiz do Linux era original).

Este é o local da versão legada do WSL. Ele não está mais localizado lá e o método legado usado para redefinir o ambiente não funciona para a versão atual do WSL no Windows 10 versão 1709+

Eu disse especificamente isso em meuresponder.

A resposta a seguir se aplica apenas ao WSL no Windows 10 1703 e 1607. O WSL no Windows 10 1709+ pode ser instalado a partir do aplicativo UWP da Windows Store.

Quanto à sua pergunta real ...

Infelizmente nenhuma das opções acima resolveu o problema. Alguém pode sugerir uma maneira de realizar uma 'redefinição de fábrica' completa?

Basta executar o comando:

wslconfig /unregister Ubuntu

Além disso, wslconfig /unregistercancela o registro da distribuição do WSL para que ela possa ser reinstalada ou limpa.

Cuidado: após o cancelamento do registro, todos os dados, configurações e software associados a essa distribuição serão perdidos permanentemente. A reinstalação da loja instalará uma cópia limpa da distribuição.

Depois de executar esse comando, você terá que reinstalar o Ubuntu através da Windows Store.

Embora as distribuições Linux possam ser instaladas através da loja do Windows, elas não podem ser desinstaladas através da loja. WSL Config permite que distribuições sejam canceladas/desinstaladas.

Gerenciar múltiplas distribuições Linux em WSL

Referência de comando

informação relacionada