Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Saiba mais sobre as diferentes versões do WSL, incluindo por que o WSL 2 agora é o padrão e os cenários ou exceções específicos que podem justificar a mudança da distribuição Linux instalada para a arquitetura WSL 1 anterior.
Comparando WSL 1 e WSL 2
Este guia irá comparar WSL 1 e WSL 2, incluindo exceções para usar WSL 1 em vez de WSL 2. As principais diferenças entre o WSL 1 e o WSL 2 são o uso de um kernel Linux real dentro de uma VM gerenciada, suporte para compatibilidade total de chamadas do sistema e desempenho nos sistemas operacionais Linux e Windows. O WSL 2 é a versão padrão atual ao instalar uma distribuição Linux e usa a mais recente e melhor tecnologia de virtualização para executar um kernel Linux dentro de uma máquina virtual (VM) de utilitário leve. O WSL2 executa distribuições Linux como contêineres isolados dentro da VM gerenciada. Se sua distribuição estiver executando o WSL 1 e você quiser atualizar para o WSL 2, consulte atualização do WSL 1 para o WSL 2.
Comparando funcionalidades
| Característica | WSL 1 | WSL 2 |
|---|---|---|
| Integração entre Windows e Linux | ✅ | ✅ |
| Tempos de arranque rápidos | ✅ | ✅ |
| Pegada de recurso pequeno em comparação com máquinas virtuais tradicionais | ✅ | ✅ |
| É executado com as versões atuais do VMware e do VirtualBox | ✅ | ❌ |
| VM gerenciada | ❌ | ✅ |
| Kernel Linux completo | ❌ | ✅ |
| Compatibilidade total com chamadas do sistema | ❌ | ✅ |
| Desempenho em sistemas de arquivos do sistema operacional | ✅ | ❌ |
| Suporte SystemD | ❌ | ✅ |
| Suporte a IPv6 | ✅ | ✅ |
Como você pode ver na tabela de comparação acima, a arquitetura WSL 2 supera a WSL 1 de várias maneiras, com exceção do desempenho em sistemas de arquivos do sistema operacional, que pode ser resolvido armazenando seus arquivos de projeto no mesmo sistema operacional que as ferramentas que você está executando para trabalhar no projeto.
O WSL 2 só está disponível no Windows 11 ou Windows 10, Versão 1903, Build 18362 ou posterior. Verifique sua versão do Windows selecionando a tecla logotipo do Windows + R, digite winver, selecione OK. (Ou digite o comando ver no Prompt de Comando do Windows). Talvez seja necessário atualizar para a versão mais recente do Windows. Para compilações inferiores a 14393, o WSL não é suportado.
Para obter mais informações sobre as atualizações mais recentes do WSL 2, consulte o blog Windows Command Line, incluindo O suporte Systemd agora está disponível no WSL e a atualização do WSL de setembro de 2023 para obter mais informações sobre o suporte a IPv6.
Observação
O WSL 2 funcionará com VMware 15.5.5+ e, embora VirtualBox 6+ afirme que há suporte para WSL, ainda há desafios significativos que o tornam sem suporte. Saiba mais nas nossas Perguntas frequentes.
O que há de novo no WSL 2
O WSL 2 é uma grande revisão da arquitetura subjacente e usa tecnologia de virtualização e um kernel Linux para habilitar novos recursos. Os principais objetivos desta atualização são aumentar o desempenho do sistema de arquivos e adicionar compatibilidade total com chamadas do sistema.
- requisitos de sistema do WSL 2
- Defina sua versão de distribuição Linux de WSL 1 para WSL 2
- Perguntas frequentes sobre o WSL 2
Arquitetura WSL 2
Uma experiência de VM tradicional pode ser lenta para inicializar, é isolada, consome muitos recursos e requer seu tempo para gerenciá-la. O WSL 2 não tem esses atributos.
O WSL 2 oferece os benefícios do WSL 1, incluindo integração perfeita entre Windows e Linux, tempos de inicialização rápidos, um pequeno espaço de recursos e não requer configuração ou gerenciamento de VM. Embora o WSL 2 use uma VM, ele é gerenciado e executado nos bastidores, deixando você com a mesma experiência de usuário do WSL 1.
Kernel Linux completo
O kernel Linux no WSL 2 é construído pela Microsoft a partir da última ramificação estável, com base na fonte disponível em kernel.org. Este kernel foi especialmente ajustado para WSL 2, otimizando para tamanho e desempenho para fornecer uma experiência Linux incrível no Windows. O kernel será atendido por atualizações do Windows, o que significa que você receberá as últimas correções de segurança e melhorias do kernel sem precisar gerenciá-lo sozinho.
O kernel Linux WSL 2 é de código aberto. Se você quiser saber mais, confira a postagem do blog Enviando um kernel Linux com Windows escrita pela equipe que o criou.
Saiba mais nas Notas de versão do para o kernel do Windows Subsystem for Linux.
Maior desempenho de E/S de ficheiros
Operações com uso intensivo de arquivos como git clone, npm install, apt update, apt upgradee muito mais são visivelmente mais rápidas com o WSL 2.
O aumento de velocidade real dependerá de qual aplicativo você está executando e como ele está interagindo com o sistema de arquivos. As versões iniciais do WSL 2 são executadas até 20x mais rápido em comparação com o WSL 1 ao descompactar um tarball, e cerca de 2-5x mais rápido ao usar git clone, npm install e cmake em vários projetos.
Compatibilidade total com chamadas do sistema
Os binários do Linux usam chamadas do sistema para executar funções como acessar arquivos, solicitar memória, criar processos e muito mais. Enquanto o WSL 1 usou uma camada de tradução que foi construída pela equipe do WSL, o WSL 2 inclui seu próprio kernel Linux com total compatibilidade de chamadas do sistema. Os benefícios incluem:
Um conjunto totalmente novo de aplicativos que você pode executar dentro do WSL, como Docker e muito mais.
Todas as atualizações para o kernel Linux estão imediatamente prontas para uso (você não precisa esperar que a equipe da WSL implemente atualizações e adicione as alterações).
Exceções para usar WSL 1 em vez de WSL 2
Recomendamos que você use o WSL 2, pois ele oferece desempenho mais rápido e compatibilidade de chamadas de sistema de 100%. No entanto, há alguns cenários específicos em que você pode preferir usar o WSL 1. Considere o uso do WSL 1 se:
- Seus arquivos de projeto devem ser armazenados no sistema de arquivos do Windows. O WSL 1 oferece acesso mais rápido a arquivos montados a partir do Windows.
- Se você estiver usando sua distribuição WSL Linux para acessar arquivos de projeto no sistema de arquivos do Windows, e esses arquivos não puderem ser armazenados no sistema de arquivos Linux, você obterá um desempenho mais rápido em todos os sistemas de arquivos do sistema operacional usando o WSL 1.
- Um projeto que requer compilação cruzada usando ferramentas Windows e Linux nos mesmos arquivos.
- O desempenho de arquivos nos sistemas operacionais Windows e Linux é mais rápido no WSL 1 do que no WSL 2, portanto, se você estiver usando aplicativos do Windows para acessar arquivos do Linux, obterá um desempenho mais rápido com o WSL 1.
- Seu projeto precisa de acesso a uma porta serial ou dispositivo USB.
No entanto, suporte a dispositivos USB está agora disponível para WSL 2 através do projeto
USBIPD-WIN. Consulte Conectar dispositivos USB para obter as etapas de configuração. - O WSL 2 não inclui suporte para acessar portas seriais. Saiba mais nas Perguntas Frequentes ou na questão do repositório GitHub do WSL sobre suporte a séries .
- Você tem requisitos estritos de memória
- O uso de memória do WSL 2 cresce e diminui à medida que você o usa. Quando um processo libera memória, isso é automaticamente retornado ao Windows. No entanto, no momento, o WSL 2 ainda não libera páginas armazenadas em cache na memória de volta para o Windows até que a instância do WSL seja desligada. Se você tiver sessões WSL de longa duração ou acessar uma quantidade muito grande de arquivos, esse cache pode ocupar memória no Windows. Estamos acompanhando o trabalho para melhorar essa experiência em o repositório GitHub da WSL edição 4166.
- Para aqueles que usam o VirtualBox, certifique-se de usar a versão mais recente do VirtualBox e do WSL 2. Consulte as perguntas frequentes relacionadas, FAQ .
- Se você depende de uma distribuição Linux para ter um endereço IP na mesma rede que sua máquina host, talvez seja necessário configurar uma solução alternativa para executar o WSL 2. O WSL 2 está sendo executado como uma máquina virtual Hyper-V. Esta é uma alteração do adaptador de rede em ponte usado no WSL 1, o que significa que o WSL 2 usa um serviço NAT (Network Address Translation) para sua rede virtual, em vez de torná-lo conectado à placa de interface de rede (NIC) do host, resultando em um endereço IP exclusivo que será alterado na reinicialização. Para saber mais sobre o problema e a solução alternativa que encaminha as portas TCP dos serviços WSL 2 para o sistema operacional host, consulte WSL GitHub repository issue 4150, NIC Bridge mode (TCP Workaround).
Observação
Considere experimentar o VS Code Remote WSL Extension para permitir que você armazene seus arquivos de projeto no sistema de arquivos Linux, usando ferramentas de linha de comando do Linux, mas também usando o VS Code no Windows para criar, editar, depurar ou executar seu projeto em um navegador da Internet sem nenhuma das lentidões de desempenho associadas ao trabalho nos sistemas de arquivos Linux e Windows. Saiba mais.
WSL na Microsoft Store
A WSL transferiu a funcionalidade de atualização da imagem do Windows OS para um pacote disponível na Loja da Microsoft. Isso significa atualizações e serviços mais rápidos assim que estiverem disponíveis, em vez de precisar esperar por uma atualização do seu sistema operacional Windows.
O WSL foi originalmente incluído no sistema operacional Windows como um componente opcional que precisa ser habilitado para instalar uma distribuição Linux. O WSL na Loja tem a mesma experiência de usuário e é o mesmo produto, mas recebe atualizações e serviços como um pacote de loja, em vez de como uma atualização completa do sistema operacional. A partir da versão 19044 ou superior do Windows, a execução do comando wsl.exe --install instalará a atualização de serviço WSL da Microsoft Store. (Veja a postagem do blog anunciando esta atualização). Se já estiveres a usar o WSL, podes atualizar para garantir que recebes as funcionalidades e serviços mais recentes do WSL a partir da Microsoft Store ao executar wsl.exe --update.
Observação
Se a Microsoft Store estiver inacessível em sua organização, você ainda poderá utilizar essa versão do WSL anexando --web-download ao comando --update, como wsl --update --web-download. Você precisa atualizar manualmente o WSL sempre que uma nova versão for disponibilizada usando esse método.
Windows Subsystem for Linux