2

Я использую Ubuntu из Магазина Windows.

Когда я использую команду терминала, например "найти", я вижу, что она также выводит список файлов с моего диска Windows.

Таким образом, Ubuntu может получить доступ к файловой системе Windows, и это здорово.

Теперь я хотел бы сделать наоборот: я хотел бы взглянуть на файлы и папки системы Ubuntu из Windows.

Например, я хотел бы взглянуть на папку "и т.д." из Проводника.

Это возможно?

1 ответ1

1
  • Отказ от ответственности: Следующая процедура сделана с чрезмерным упрощением, чтобы обычный пользователь мог понять. Упомянутые статьи для энтузиастов. Другие могут пропустить те.

Обычные исполняемые файлы Windows (Win32) предпочтительно хранят файлы конфигурации / журнала пользователя в папке %LocalAppData% которая находится в C:\Users\%USERNAME%\AppData\Local . Но в универсальной платформе Windows (UWP) этот путь перенаправляется на другой путь, который называется C:\Users\%USERNAME%\AppData\Local\Packages\package_name . package_name специфично для соответствующего пакета UWP. При таком типе перенаправления пути файлы конфигурации / журнала пользователя автоматически удаляются во время удаления. Следуйте этой статье для более подробной информации.

Вот структуры пути:

  • Папка установки:

    • Обычное приложение: C:\Program Files\
    • Приложение UWP: C:\Program Files\WindowsApps\<Publisher Name>.<App Name>_<Version Code>_<Random String>
  • Локальная папка AppData:

    • Обычное приложение: C:\Users\<User Name>\AppData
    • Приложение UWP: C:\Users\<User Name>\AppData\Local\Packages\<Publisher Name>.<App Name>_<Random String>

Теперь сравните следующий пример с приведенными выше структурами путей. Ubuntu 18.04 из Windows Store устанавливается в:

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

И перенаправленные локальные данные приложения будут:

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

Я создал сценарий PowerShell, с помощью которого можно открыть эту папку Linux rootfs (т.е. /) в проводнике. При этом используется командлет Get-AppxPackage для получения имени пакета Appx. Скопируйте следующие строки в Блокнот и сохраните его с расширением .ps1 (вместо .txt). Затем запустите его в 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..."

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .