Onde o sistema de arquivos do Subsistema Linux está localizado no Windows 10?

14

Está bem claro que o sistema de arquivos "host" do Windows 10 está montado em /mnt/c/ da perspectiva de "Linux". Mas é possível obter um acesso ao sistema de arquivos "Linux" do Windows? Se sim, onde está?

    
por There Are Four Lights 19.04.2016 / 19:36

4 respostas

17

O único sistema de arquivos raiz foi localizado aqui até a atualização do Windows 10 Fall Creators (lançada em outubro de 2017):

%USERPROFILE%\AppData\Local\Lxss\rootfs

Por exemplo, C:\Users\Vigo\AppData\Local\Lxss\rootfs\

Outros pontos de montagem estão localizados um nível acima no diretório lxss . Por exemplo, seu próprio diretório home no Linux estará em %USERPROFILE%\AppData\Local\Lxss\home .

A partir da atualização do Fall Creators, é possível instalar mais de uma instância do Linux e executá-las em paralelo. A instância existente (a.k.a. legacy) permanecerá em seu diretório, mas novas instâncias criadas estão localizadas em:

%USERPROFILE%\AppData\Local\Packages\<distribution_specific_name>_<random_string>\LocalState\rootfs

Por exemplo, minha instalação do Ubuntu 18.04 está localizada sob

diretório
CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc
.

Aviso : não se preocupe com os arquivos create , modify ou delete localizados sob o lxss ou árvore específica de distribuição do Windows.

Explorar e ler arquivos é a única operação inofensiva. Veja este Microsoft página do blog para detalhes.

    
por 19.04.2016 / 20:57
3

Hoje em dia, você pode instalar várias distribuições Linux. Portanto, cada distribuição terá seu próprio sistema de arquivos localizado em uma pasta diferente.

  • Se você instalar algumas distribuições do Linux na Windows Store, os sistemas de arquivos estarão localizados em %USERPROFILE%\AppData\Local\Packages\...\LocalState\rootfs
  • Se você instalou, moveu ou duplicou uma distribuição linux usando LxRunOffline ou qualquer versão do WSLDistroLauncher , o sistema de arquivos pode estar localizado em qualquer pasta do seu computador.

Obtendo as informações do Registro

A localização de cada sistema de arquivos pode ser obtida no Registro do Windows. Os dados estão localizados em

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss

Você pode iniciar uma janela do PowerShell e executar o seguinte comando para obter os locais dos sistemas de arquivos

PS> (Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | ForEach-Object {Get-ItemProperty $_.PSPath}) | select DistributionName, @{n="Path";e={$_.BasePath + "\rootfs"}}

Você receberá uma tabela com informações como as seguintes

DistributionName Path
---------------- ----
Ubuntu           C:\Users\Jaime\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
Ubuntu-18.04     C:\Users\Jaime\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs
mydistro         C:\wsl\mydistro\rootfs

Usando o lxRunOffline

LxRunOffline é uma ferramenta para gerenciar distribuições do Linux instaladas no WSL. Você pode usar o LxRunOffline para obter o diretório usado por uma distribuição instalada

# lxrunoffline get-dir -n <name of the distro>

C:\> lxrunoffline get-dir -n backup
c:\wsl\installed\backup

C:\> lxrunoffline get-dir -n Ubuntu
C:\Users\Jaime\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
    
por 29.07.2018 / 02:27
1

A versão posterior do subsistema linux instala o sistema de arquivos em packages , então o caminho completo seria algo como:

C:\Users\myUserName\AppData\Local\Packages\UbuntuLinux.someUID\LocalState\rootfs\root

ou:

C:\Users\myUserName\AppData\Local\Packages\UbuntuLinux.someUID\LocalState\rootfs\home\myLinuxUserName

... dependendo do ponto de montagem. Fazer uma pesquisa de diretório por .bashrc revelaria esses caminhos ...

Como alternativa, use readlink . dentro do shell linux para postar o caminho linux atual como um caminho 'DOS' para a área de transferência do Windows. Cole em algum lugar sensível para ler o caminho físico real.

    
por 02.04.2018 / 09:35
1

Parece que a Microsoft mudou / ocultou mais, atualmente está em:

% USERPROFILE% \ AppData \ Local \ Pacotes \ CanonicalGroupLimited.UbuntuonWindows _ ???????????? LocalState \ rootfs

Como isso pode mudar ainda mais no futuro, basta fazer a sugestão do PGP de fazer uma pesquisa de arquivos .profile ou .bashrc.

    
por 29.04.2018 / 08:15