Acessando dados do Ubuntu (como “/ etc”) do Windows

2

Estou usando o Ubuntu na Windows Store.

Quando eu uso um comando de terminal como "find", vejo que ele também lista arquivos da minha unidade do Windows.

Então o Ubuntu pode acessar o sistema de arquivos do Windows, o que é ótimo.

Agora eu gostaria de fazer o oposto: Eu gostaria de dar uma olhada nos arquivos e na pasta do sistema Ubuntu do Windows.

Por exemplo, gostaria de ver a pasta "etc" do Explorer.

Isso é possível?

    
por tmighty 21.05.2018 / 14:49

1 resposta

2
  • Aviso de isenção de responsabilidade: O procedimento a seguir foi simplificado para que o usuário normal possa entender. Os artigos mencionados são para entusiastas. Outros podem pular aqueles.

Os executáveis normais do Windows (Win32) preferencialmente armazenam arquivos de configuração / log do usuário na pasta %LocalAppData% que é C:\Users\%USERNAME%\AppData\Local . Mas no Windows Universal Platform (UWP), esse caminho é redirecionado para outro que é C:\Users\%USERNAME%\AppData\Local\Packages\package_name . O package_name é específico para o pacote UWP em questão. Com esse tipo de redirecionamento de caminho, os arquivos de configuração / log do usuário são excluídos automaticamente no momento da desinstalação. Siga este artigo para mais detalhes.

Aqui estão as estruturas do caminho:

  • Pasta de instalação:

    • aplicativo normal: C:\Program Files\
    • app UWP: C:\Program Files\WindowsApps\<Publisher Name>.<App Name>_<Version Code>_<Random String>
  • Pasta AppData local:

    • aplicativo normal: C:\Users\<User Name>\AppData
    • app UWP: C:\Users\<User Name>\AppData\Local\Packages\<Publisher Name>.<App Name>_<Random String>

Agora compare o exemplo a seguir com as estruturas de caminho acima. O Ubuntu 18.04 da Windows Store é instalado em:

C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.427.0_x64__79rhkp1fndgsc

E o Local AppData redirecionado será:

C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState

Eu fiz um script do PowerShell com o qual é possível abrir a pasta rootfs do Linux (ou seja, / ) no Explorador de arquivos. Isso usa o cmdlet Get-AppxPackage para obter o Appx nome do pacote. Copie as seguintes linhas no bloco de notas e salve-o com a extensão .ps1 (em vez de .txt). Em seguida, execute-o no PowerShell.

$DistroName=Read-Host "Enter Distribution Name"
$pacakgeName = (Get-AppxPackage *$DistroName*).PackageFamilyName
$appData = [System.Environment]::ExpandEnvironmentVariables("%LocalAppData%")
$rootfs = $appData + "\Packages\" + $pacakgeName + "\LocalState\rootfs"
echo $rootfs
Invoke-Item $rootfs
Read-Host -Prompt "Press any key to continue..."
    
por 22.05.2018 / 20:35