
Sou novo no Windows e instalei o WSL2 com base nas instruções fornecidasaqui.
Funciona bem, mas não consigo localizar onde foi instalado no meu computador. A saída para pwd
é home/nkp68
.
Como faço para acessar arquivos em minha máquina Windows a partir do WSL2?
Responder1
Se eu ler sua postagem literalmente, pode haver algumas perguntas diferentes:
- Onde sua instância WSL Ubuntu está instalada em sua máquina?
- (Presumivelmente com base na primeira pergunta) Como faço para acessar arquivos no WSL2 do Windows?
- "Como faço para acessar arquivos em minha máquina Windows a partir do WSL2?" (uma espécie deopostoquestão dos dois primeiros)
Onde está sua instância do WSL Ubuntu?
Resposta curta: No seu caso, dada a instalação básica, os arquivos reais estão em um disco virtual chamado ext4.vhdx
. Você realmente não precisa se preocupar com o "onde" neste momento (já que é uma unidade virtual), mas normalmente você o encontrará em %userprofile%\AppData\Local\Packages\Canonical...\LocalState\ext4.vhdx
. Normalmente, você %userprofile%
é algo como C:\Users\<username>
.
Mais detalhes:
Isso é para uma instalação padrão. Você pode ter várias distribuições instaladas e até mesmo várias instâncias da mesma distribuição. Uma das grandes vantagens do WSL é a capacidade de copiar rapidamente uma distribuição, testar algo e descartar o teste. Isso evita que você polua sua distribuição diária "boa" com pacotes, testes ou outras coisas que possam criar "lixo" no longo prazo.
Vertodosas distribuições que você instalou, vá para o PowerShell e execute:
Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" -Recurse
No seu caso, você provavelmente verá algo como:
{cff9bfd6-39db-42af-a85b-d6fca State : 1
94beff8} DistributionName : Ubuntu
Version : 2
BasePath : C:\Users\krutik\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
Flags : 15
DefaultUid : 1000
PackageFamilyName : CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
KernelCommandLine : BOOT_IMAGE=/kernel init=/init
DefaultEnvironment : {HOSTTYPE=x86_64, LANG=en_US.UTF-8, PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games, TERM=xterm-256color}
Tenho mais alguns, em vários locais.
Como faço para acessar arquivos em WSL2 do Windows?
Mas o título da sua pergunta, "onde", não importa muito, a menos que você precise fazer algo com o ext4.vhdx
arquivo (como talvezrecuperar espaço).
Para acessar arquivos em WSL do Windows, use o \\wsl$\Ubuntu
caminho (ou o nome da sua distribuição). Aqui, você encontrará \\wsl$\Ubuntu\home\nkp68
onde você pode copiar arquivos de entrada e saída com segurança.
Nota atualizada: No Windows 11, \\wsl$\<distro_name>
ainda funciona, mas também há um novo \\wsl.localhost\<disro_name>
caminho. Ambos funcionam da mesma forma, mas wsl.localhost
devem ser um pouco mais robustos em determinadas situações.
Como faço para acessar arquivos em minha máquina Windows a partir do WSL2?
Se você estiver no Ubuntu e precisar acessar um arquivo em uma unidade do Windows (por exemplo, C:
), então você descobrirá que eles são (por padrão) montados automaticamente para você:
ls /mnt/c/Users
ls /mnt/c
Existem algumas nuances ao trabalhar com arquivos em uma unidade do Windows no WSL, especialmente em relação a permissões e desempenho. Normalmente você desejará manter todos os arquivos do projetodentroo sistema de arquivos ext4 do Ubuntu (por exemplo, em seu /home/nkp68
diretório). Mas você certamente pode acessar, copiar e mover arquivos entre as unidades conforme necessário.
Onde está localizado o recurso WSL?
O título da pergunta pode ser interpretado como significando que você deseja saber onde o recurso WSL real está instalado. Eu sei que não foi o seu caso, o postador original, mas a pergunta surgiu de outros, então vou adicioná-la aqui caso eles encontrem isso com base no título.
A localização do recurso WSL em seu sistema dependerá da versão do WSL que você está usando:
Versões mais antigas do WSL foram incluídas no próprio Windows desde pelo menos o Windows 10 21H2 (e talvez antes) como um recurso do Windows, e ainda é possível habilitar esse recurso hoje.
Quando você ativa o recurso WSL do Windows, os binários aplicáveis ao WSL são encontrados em
C:\Windows\System32\lxss
. Você raramente precisará se preocupar com esta pasta, mas há momentos em que ela é útil.O kernel WSL2 também está localizado nesta pasta, e você pode fazer backup de kernels mais antigos se quiser reverter mais de uma versão.
As versões mais recentes do WSL são instaladas como um pacote de aplicativos, normalmente da Microsoft Store.
Quando você instala o pacote de aplicativos WSL, os arquivos estão localizados (como normalmente acontece com pacotes de aplicativos do Windows) no formato
C:\Program Files\WindowsApps\<package_dir>
.Observe que
C:\Program Files\Windows Apps
é um diretório protegido e você não poderá ver o conteúdo por padrão. Vocênão deveriatente alterar as permissões neste diretório e isso comprometerá a segurança e a estabilidade do seu sistema.No entanto, você ainda pode ver o conteúdo dopacotediretório, supondo que você saiba seu nome. Para encontrá-lo, execute o seguinte no PowerShell:
Get-AppxPackage |? { $_.Name -like "*WindowsSubsystemforLinux*" } | tee-object -Variable packageMatches
Você deverá ver um
InstallLocation
retorno com os resultados. Se houver apenas um resultado (que deveria ser o caso), você poderá abri-lo com:explorer "$($packageMatches.InstallLocation)"
Além disso, dentro deste diretório, você encontrará
tools\kernel
, que é o kernel WSL2 para esta versão.Em sistemas Windows 10, você provavelmente teráambosdestes.
Em sistemas Windows 11, vocêpoderiatenha esses dois locais de instalação se você instalou o WSL1.