Про встановлену файлову систему /mnt/c
- Що саме / mnt / c / Користувачі / порівняно з C: \ Користувачами \? Здається, вони одне і те ж --- так що таке / 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 як Streams (метадані), додані до файлів, які ви можете бачити в Windows. Microsoft не рекомендує змінювати файли Linux за допомогою програм Windows. Можливо, що деякі програми Windows пошкоджують дозволи Linux, не помічаючи цього.