Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Saiba mais sobre 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 alternância da distribuição do Linux instalada para a arquitetura anterior do WSL 1.
Comparando WSL 1 e WSL 2
Este guia comparará o WSL 1 e o WSL 2, incluindo exceções para o uso do WSL 1 em vez do 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, o suporte para compatibilidade de chamadas do sistema completa e o desempenho nos sistemas operacionais Linux e Windows. O WSL 2 é a versão padrão atual ao instalar uma distribuição do Linux e usa a mais recente e maior tecnologia de virtualização para executar um kernel linux dentro de uma VM (máquina virtual) de utilitário leve. O WSL2 executa distribuições do 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 a atualização do WSL 1 para o WSL 2.
Comparando recursos
Característica | WSL 1 | WSL 2 |
---|---|---|
Integração entre o Windows e o Linux | ✅ | ✅ |
Tempos de inicialização rápidos | ✅ | ✅ |
Pegada de recursos menor 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 completa de chamadas de sistema | ❌ | ✅ |
Desempenho em sistemas de arquivos do sistema operacional | ✅ | ❌ |
Suporte ao systemd | ❌ | ✅ |
Suporte a IPv6 | ✅ | ✅ |
Como você pode dizer na tabela de comparação acima, a arquitetura do WSL 2 supera o WSL 1 de várias maneiras, com exceção do desempenho em sistemas de arquivos do sistema operacional, que podem ser resolvidos 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 de logotipo do Windows + R, digite winver e selecione OK. (Ou insira o ver
comando no Prompt de Comando do Windows). Talvez seja necessário atualizar para a versão mais recente do Windows. Para builds inferiores a 14393, não há suporte para WSL.
Para obter mais informações sobre as atualizações mais recentes do WSL 2, consulte o blog da Linha de Comando do Windows, incluindo o suporte do Systemd agora está disponível na atualização WSL e WSL de setembro de 2023 para obter mais informações sobre o suporte ao IPv6.
Observação
O WSL 2 funcionará com o VMware 15.5.5+ e, embora o VirtualBox 6+ declare que há suporte ao WSL, ainda há desafios significativos que o tornam sem suporte. Saiba mais em nossas perguntas frequentes.
Novidades no WSL 2
O WSL 2 é uma grande revisão da arquitetura subjacente e usa a tecnologia de virtualização e um kernel do Linux para habilitar novos recursos. As principais metas dessa atualização são aumentar o desempenho do sistema de arquivos e adicionar compatibilidade completa de chamadas do sistema.
- Requisitos do sistema WSL 2
- Definir sua versão de distribuição do Linux do WSL 1 para o WSL 2
- Perguntas frequentes sobre o WSL 2
Arquitetura do 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 a integração perfeita entre o Windows e o Linux, tempos de inicialização rápidos, um pequeno volume de recursos e não requer nenhuma 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 do usuário que o WSL 1.
Kernel linux completo
O kernel do Linux no WSL 2 é criado pela Microsoft a partir do branch estável mais recente, com base na origem disponível em kernel.org. Esse kernel foi especialmente ajustado para o WSL 2, otimizando o tamanho e o desempenho para proporcionar uma experiência incrível do Linux no Windows. O kernel será atendido pelas atualizações do Windows, o que significa que você receberá as correções de segurança mais recentes e melhorias de kernel sem precisar gerenciá-lo por conta própria.
O kernel do Linux do WSL 2 é de software livre. Se você quiser saber mais, confira a postagem no blog Enviando um Kernel linux com Windows escrito pela equipe que o criou.
Saiba mais nas notas de versão do kernel do Subsistema do Windows para Linux.
Aumento no desempenho de E/S de arquivos
Operações com uso intensivo de arquivos, comogit clone
, npm install
, apt update
apt upgrade
e 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ápidos em comparação com o WSL 1 ao desempacotar um arquivo tar compactado e cerca de 2 a 5x mais rápidos ao usar git clone
, npm install
e cmake
em vários projetos.
Compatibilidade completa de chamadas de 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 criada pela equipe do WSL, o WSL 2 inclui seu próprio kernel do Linux com compatibilidade completa de chamadas do sistema. Os benefícios incluem:
Um novo conjunto de aplicativos que você pode executar dentro do WSL, como o Docker e muito mais.
Todas as atualizações para o kernel do Linux estão prontas imediatamente para uso (você não precisa esperar que a equipe do WSL implemente atualizações e adicione as alterações).
Exceções para usar o WSL 1 em vez do WSL 2
Recomendamos que você use o WSL 2, pois ele oferece um desempenho mais rápido e total compatibilidade com chamadas do sistema%. No entanto, há alguns cenários específicos em que você pode preferir usar o WSL 1. Considere usar o WSL 1 se:
- Os arquivos do projeto devem ser armazenados no sistema de arquivos do Windows. O WSL 1 oferece acesso mais rápido aos arquivos montados do Windows.
- Se você usar sua distribuição do 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 nos sistemas de arquivos do sistema operacional usando o WSL 1.
- Um projeto que requer compilação cruzada usando ferramentas do Windows e do 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 Windows para acessar arquivos Linux, você alcançará um desempenho mais rápido com o WSL 1.
- Seu projeto precisa de acesso a uma porta serial ou dispositivo USB.
Contudo O suporte a dispositivos USB agora está disponível para o WSL 2 por meio do
USBIPD-WIN
projeto. Consulte Conectar dispositivos USB para obter instruções de configuração. - O WSL 2 não inclui suporte para acessar portas serial. Saiba mais nas perguntas frequentes ou no problema do repositório GitHub do WSL no suporte serial.
- Você tem requisitos de memória estritos
- O uso de memória do WSL 2 cresce e diminui à medida que você a usa. Quando um processo libera memória, ele é retornado automaticamente para o Windows. No entanto, a partir de agora, o WSL 2 ainda não libera páginas armazenadas em cache na memória para o Windows até que a instância do WSL seja desligada. Se você tiver sessões WSL de execução prolongada ou acessar uma quantidade muito grande de arquivos, esse cache poderá ocupar a memória no Windows. Estamos acompanhando o trabalho para melhorar essa experiência na questão 4166 do repositório GitHub do WSL.
- Para aqueles que usam VirtualBox, use a versão mais recente do VirtualBox e do WSL 2. Consulte as perguntas frequentes relacionadas.
- Se você depender de uma distribuição do Linux para ter um endereço IP na mesma rede que seu computador host, talvez seja necessário configurar uma solução alternativa para executar o WSL 2. O WSL 2 está em execução como uma máquina virtual Hyper-V. Essa é 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 (Conversão de Endereços de Rede) para sua rede virtual, em vez de torná-lo conectado à NIC (Placa de Interface de Rede) do host, resultando em um endereço IP exclusivo que será alterado na reinicialização. Para saber mais sobre a questão e a solução alternativa que encaminha as portas TCP dos serviços do WSL 2 para o sistema operacional do host, consulte o tópico 4150 do repositório GitHub do WSL, modo NIC Bridge (Solução alternativa TCP).
Observação
Considere tentar a Extensão WSL Remota do VS Code 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ão de desempenho associadas ao trabalho nos sistemas de arquivos Linux e Windows. Saiba mais.
WSL na Microsoft Store
O WSL retirou a funcionalidade de atualização da imagem do sistema operacional Windows para um pacote disponível por meio da Microsoft Store. Isso significa atualizações e manutenção mais rápidas assim que estiverem disponíveis, em vez de precisar aguardar uma atualização do 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 do Linux. O WSL na Loja tem a mesma experiência de usuário e é o mesmo produto, mas recebe atualizações e manutenção como um pacote de repositório, em vez de como uma atualização do sistema operacional inteira. A partir do Windows versão 19044 ou superior, a execução do wsl.exe --install
comando instalará a atualização de manutenção do WSL da Microsoft Store. (Consulte a postagem no blog anunciando esta atualização). Se você já estiver usando o WSL, poderá atualizar para garantir que está recebendo os recursos e serviços do WSL mais recentes da loja executando o comando 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 acrescentando --web-download
ao --update
comando, como wsl --update --web-download
. Você precisa atualizar manualmente o WSL sempre que uma nova versão estiver disponível usando esse método.
Windows Subsystem for Linux