Recentemente fiz um artigo explicando como instalar e configurar o WSL 2 para ter um ambiente linux completo de desenvolvimento direto do Windows. Mas como nem tudo são flores, meu computador possui um SSD com pouco armazenamento, o que me limita em instalar muitos programas no disco C:/
padrão. Em pouco tempo vi a instalação do WSL 2 começando a consumir espaço, com tantas imagens docker e projetos front com node_modules, meu limite de armazenamento foi acabando. Como meu notebook tem também um HDD de 1TB, comecei a procurar uma maneira de instalar/mover o WSL 2 para outro disco.
Opção 1 – wsl
Exporte a instância do WSL e importe para a pasta de destion
Execute os passos abaixo, trocando as informações conforme as suas informações de disco, pastas e distribuição do WSL
# cd D:\
# mkdir WSL
# cd WSL
# wsl --export Ubuntu ubuntu.tar
# wsl --unregister Ubuntu
# mkdir Ubuntu
# wsl --import Ubuntu Ubuntu ubuntu.tar
Teste o WSL
Vamos testar a nossa instalação agora já em outro disco
# wsl -d Ubuntu
Definir o WSL como padrão (Opcional)
Abra o PowerShell ou Prompt de Comando e liste as instalações wsl
# wsl --list --all
Agora copie o nome da instação wsl desejada e execute o seguinte comando
# wsl --setdefault <nome_wsl>
Opção 2 – LxRunOffline
Instalar o LxRunOffline
LxRunOffline é um utilitário completo para gerenciar o Windows Subsystem for Linux (WSL). Esse programa que vai nos permitir mover nossa instalação do disco C:/
para outro disco, no meu caso D:/
.
A maneira mais fácil de instalar é usando o utilitário choco:
choco install lxrunoffline
Listando as instalações WSL
Agora vamos listar todas as instalações WSL disponíveis, no meu caso estou em busca do Ubuntu 20.04:
lxrunoffline list
Movendo a instalação do Ubuntu 20.04 WSL para outro disco
Primeiro desligue o WSL com o comando wsl --shutdown
. Você precisa executar esse comando a partir de um Power Shell com privilégios de administrador.
Agora que encontramos a instalação que desejamos mover para outro disco, é bem simples, vamos passar um comando para mover a instalação do Ubuntu 20.04
para o disco D:/
dentro de pasta chamada WSL
:
lxrunoffline move -n Ubuntu-18.04 -d D:\wsl\
Aguarde um pouco até o processo terminar, depois disso sua instalação já estará sendo executada a partir do novo disco.
Aqui da esse erro.
[ERROR] Couldn’t get the value “DistributionName” of the registry key “Software\Microsoft\Windows\CurrentVersion\Lxss\AppxInstallerCache”.
conseguiu resolver?
No editor de registro, vá até “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss” e delete a pasta AppxInstallerCache
Boa tarde! Quando executo “bash” ou “wsl.exe” após a migração, dá o seguinte erro:
“Erro ao montar um dos sistemas de arquivos. Execute ‘ dmesg ‘ para obter mais detalhes.”
Como posso resolver?
Movi para a pasta C/wsl… dentro desta pasta deveria conter somente o arquivo “ext4.vhdx”?
Boa tarde. Ao realizar o procedimento meu VS Code diz que o WSL não pode ser executado e o terminal fica mostrando uns erros. O que eu faço?
Quando você move para outro disco você precisa abrir o PowerShell como Administrador e manualmente executar o comando: wsl
Obrigado!
Olá, isso afeta futuras atualizações do WSL?
Boa tarde Neylon, eu já fiz algumas instalações e instalei outras distribuições e não tive nenhum problema. Acredito que não interfira não, mas não te garanto 100%, se acontecer algo ai me da um toque!
Fazendo isso não ficou lenta a execução da sua distro do linux?
Então, no meu caso eu já esperava um impacto na performance, visto que mudei a instalação de um SDD para um HDD, mas no final acabou que não senti muita diferença não, estou conseguindo trabalhar sem nenhum problema.
Realizei a mudança e porem ao tentar entrar recebo a mensagem de acesso negado. saberia oque pode ser?
Tenta reiniciar o PC (Caso não tenha feito após a mudança) e abrir o PowerShell como Administrador e digita: wsl para iniciar o subsystem
Realmente, abrindo pelo PS funcionou, após reiniciar, muito obrigado me ajudou bastante esse passo a passo 😀