Где на моем компьютере находится WSL?

Где на моем компьютере находится WSL?

Я новичок в Windows и установил WSL2, следуя предоставленным инструкциям.здесь.

Он отлично работает, но я не могу найти, где он установлен на моем компьютере. Вывод pwdдля home/nkp68.

Как получить доступ к файлам на моем компьютере с Windows из WSL2?

решение1

Если я прочитаю ваш пост буквально, то там может возникнуть несколько разных вопросов:

  • Где на вашем компьютере установлен экземпляр WSL Ubuntu?
  • (Предположительно, исходя из первого вопроса) Как получить доступ к файлам в WSL2 из Windows?
  • «Как мне получить доступ к файлам на моем компьютере Windows из WSL2?» (что-то вродепротивоположныйвопрос первых двух)

Где находится ваш экземпляр WSL Ubuntu?

Короткий ответ: В вашем случае, учитывая базовую установку, фактические файлы находятся на виртуальном диске с именем ext4.vhdx. На данный момент вам действительно не нужно беспокоиться о «где» (так как это виртуальный диск), но вы обычно найдете его в %userprofile%\AppData\Local\Packages\Canonical...\LocalState\ext4.vhdx. %userprofile%Обычно это что-то вроде C:\Users\<username>.

Более детально:

Это для установки по умолчанию. Вы можете установить несколько дистрибутивов и даже несколько экземпляров одного и того же дистрибутива. Одна из замечательных особенностей WSL — возможность быстро скопировать дистрибутив, протестировать что-то и выбросить тест. Это не позволяет вам загрязнять ваш «хороший», ежедневный дистрибутив пакетами, тестами или другими вещами, которые могут создать «хлам» в долгосрочной перспективе.

Чтобы увидетьвседистрибутивы, которые вы установили, перейдите в PowerShell и выполните:

Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" -Recurse

В вашем случае вы, вероятно, увидите что-то вроде:

{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}

У меня их еще довольно много, в разных местах.

Как получить доступ к файлам в WSL2 из Windows?

Но заголовок вашего вопроса, «где», на самом деле не имеет большого значения, если только вам не нужно что-то сделать с файлом ext4.vhdx(например,освободить место).

Чтобы получить доступ к файлам в WSL из Windows, используйте путь \\wsl$\Ubuntu(или как там называется ваш дистрибутив). Здесь вы найдете \\wsl$\Ubuntu\home\nkp68, куда вы можете безопасно копировать файлы.

Обновленное примечание: Под Windows 11 \\wsl$\<distro_name>все еще работает, но есть и новый \\wsl.localhost\<disro_name>путь. Оба работают одинаково, но wsl.localhostдолжны быть немного надежнее в определенных ситуациях.

Как получить доступ к файлам на моем компьютере с Windows из WSL2?

Если вы работаете в Ubuntu и вам нужен доступ к файлу на диске Windows (например, C:), то вы обнаружите, что они (по умолчанию) автоматически смонтированы:

ls /mnt/c/Users
ls /mnt/c

Есть некоторые нюансы в работе с файлами на диске Windows из WSL, особенно в отношении разрешений и производительности. Обычно вы захотите сохранить все файлы проектавнутрифайловая система Ubuntu ext4 (например, в вашем /home/nkp68каталоге). Но вы, безусловно, можете получить доступ, копировать и перемещать файлы между дисками по мере необходимости.

Где находится функция WSL?

Заголовок вопроса можно интерпретировать так, что вы хотите узнать, где установлена ​​фактическая функция WSL. Я знаю, что это не относится к вам, изначальному автору, но этот вопрос поднимали и другие, поэтому я добавлю его здесь на случай, если они найдут его по заголовку.

Расположение функции WSL в вашей системе будет зависеть от используемой вами версии WSL:

  • Более старые версии WSL были включены в состав Windows, по крайней мере, с Windows 10 21H2 (а возможно, и раньше) в качестве функции Windows, и включить эту функцию можно и сегодня.

    Когда вы включаете функцию WSL Windows, соответствующие двоичные файлы WSL находятся в C:\Windows\System32\lxss. Вам редко придется беспокоиться об этой папке, но бывают случаи, когда она может пригодиться.

    Ядро WSL2 также находится в этой папке, и вы можете создать резервную копию старых ядер, если хотите откатить более одного выпуска.

  • Более новые версии WSL устанавливаются как пакет приложения, обычно из Microsoft Store.

    При установке пакета приложения WSL файлы располагаются (как это обычно бывает с пакетами приложений Windows) в формате C:\Program Files\WindowsApps\<package_dir>.

    Обратите внимание, что C:\Program Files\Windows Appsэто защищенный каталог, и вы не сможете увидеть его содержимое по умолчанию. Выне должнапопытайтесь изменить права доступа к этому каталогу, и это поставит под угрозу безопасность и стабильность вашей системы.

    Однако вы все равно можете увидеть содержимоеупаковкакаталог, предполагая, что вы знаете его имя. Чтобы найти его, выполните следующее из PowerShell:

    Get-AppxPackage |? { $_.Name -like "*WindowsSubsystemforLinux*" } | tee-object -Variable packageMatches
    

    Вы должны увидеть InstallLocationвозвращенный результат. Если есть только один результат (что должно быть), вы можете открыть его с помощью:

    explorer "$($packageMatches.InstallLocation)"
    

    Также внутри этого каталога вы найдете tools\kernel, представляющий собой ядро ​​WSL2 для этого выпуска.

  • В системах Windows 10 у вас, скорее всего, будетобаиз этих.

  • В системах Windows 11 выможетесли вы установили WSL1, у вас есть оба этих места установки.

Связанный контент