О файловой системе, смонтированной на /mnt/c
- Что такое / mnt / c / Users / по сравнению с C: \ Users \? Кажется, они одно и то же --- так что же такое / mnt / c /?
В отличие от Windows, Linux (и другие системы, основанные на Unix) используют единую структуру папок, независимо от количества имеющихся у вас дисков. Если у вас есть несколько дисков, все эти диски должны быть в какой-то момент монтированы в структуру папок.
- Как правило, все диски (отличные от используемых для загрузки системы) монтируются в папку с именем
/mnt
или/media
WSL имеет специальный тип файловой системы с именем DrvFS, который дает вам доступ к дискам, используемым в Windows. Вы можете использовать DrvFS для монтирования не только файловой системы Windows, но также сетевых дисков и других типов носителей.
- В WSL по умолчанию
C:
диск в windows монтируется под/mnt/c
- Если у вас есть другой диск, например,
D:
диск в Windows, он будет смонтирован под/mnt/d
Файлы, в которых вы можете видеть, /mnt/c
такие же, как у вас C:
. Если вы измените какой-либо файл, вы получите изменения и в окнах.
Вы можете использовать mount
команду для доступа к другим типам носителей (например, съемным дискам или сетевым ресурсам).
О местонахождении /home/<username>
- Как я могу просмотреть файлы в / home / с помощью проводника Windows? Не то, чтобы я действительно этого хотел - я просто пытаюсь понять, как Windows организует эту подсистему для Linux.
В WSL вся файловая система linux находится в папке Windows. Расположение папки зависит от версии Windows и используемого вами дистрибутива WSL.
- Начальные версии WSL хранят файловую систему Linux в
%LOCALAPPDATA%\Lxss\rootfs
- В дистрибутивах WSL, установленных из Магазина Windows , начиная с Windows Build 16215 (середина 2017 года), используется папка, например
%LOCALAPPDATA%\Packages\...\LocalState\rootfs
. Название пакета зависит от дистрибутива (например, для Ubuntu оно отличается от Debian)
- Дистрибутивы Linux, установленные с использованием других инструментов , таких как lxRunOffline или WSL-DistroLauncher, могут хранить файловую систему linux в любом месте.
Вы можете проверить множество параметров, чтобы узнать расположение папки WSL . Например, я думаю, что самый простой вариант - использовать lxRunOffline, чтобы узнать папку установки.
## You can use lxrunoffline to check which WSL distributions have installed
## using: lxrunoffline list
C:\> lxrunoffline list
backup
Ubuntu-18.04
## And you can use it to get the location of any of these WSL installations
## using: lxrunoffline get-dir -n <name of distribution>
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
Как только вы узнаете, где находится папка установки, она /home/<username>
находится под <installation folder>\rootfs\home\username
.
- Например, если ваша установочная папка
c:\wsl\ubuntu
/home/<username>
вc:\wsl\ubuntu\rootfs\home\username
ПРИМЕЧАНИЕ. В Linux и Windows права доступа к файлам хранятся по-разному. В настоящее время WSL DrvFS хранит разрешения Linux в виде потоков (метаданных), прикрепленных к файлам, которые вы можете видеть в Windows. Microsoft не рекомендует изменять файлы linux с помощью программ Windows. Возможно, что некоторые приложения Windows повреждают разрешения linux, не замечая этого.