Де знаходиться кореневий каталог файлової системи Ubuntu в підсистемі Windows NT і навпаки?

  1. Взаємодія з Windows

Я встановив підсистему Ubuntu в Windows 10 (після включення функції в настройках), але де знаходиться кореневий каталог файлової системи Ubuntu, розташований на диску?

Для Ubuntu, встановленого зі сховища Windows:

Кожен дистрибутив, який ви встановлюєте через сховище, встановлюється в каталог додатків appdata. Наприклад: C: \ Users \ <username> \ AppData \ Local \ Packages \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc \ LocalState - benhillis

У більш ранніх ітераціях підсистеми Windows для Linux файлова система Ubuntu перебувала в% localappdata% \ Lxss (наприклад, C: \ Users \ Username \ AppData \ Local \ Lxss - замінила ім'я користувача своїм C: \ Users \ Username \ AppData \ Local \ Lxss в Windows). Див. Повідомлення в блозі WSL з підтримки файлової системи:

Основний файлової системою, яка використовується WSL, є VolFs. Він використовується для зберігання системних файлів Linux, а також для вмісту вашого домашнього каталогу Linux. Таким чином, VolFs підтримує більшість функцій, що надаються Linux VFS, включаючи дозволу Linux, символічні посилання, FIFO, сокети і файли пристроїв.

VolFs використовується для монтування кореневого каталогу VFS, використовуючи% LocalAppData% \ lxss \ rootfs в якості резервного сховища. Крім того, існує кілька додаткових точок монтування VolFs, в першу чергу / root і / home які монтуються з використанням% LocalAppData% \ lxss \ root і% LocalAppData% \ lxss \ home відповідно. Причиною для цих окремих монтування є те, що при видаленні WSL домашні каталоги з сайту не видаляються за замовчуванням, тому будь-які особисті файли, що зберігаються там, будуть збережені.

Створення / зміна будь-яких файлів в підсистемі Linux за допомогою програм та інструментів Windows може призвести до пошкодження даних і втрати даних в підсистемі Ubuntu! (Спасибі Rich Turner за те, що ви пропонуєте ці слова обережності!) Це абсолютно не підтримується. З того ж повідомлення в блозі:

Взаємодія з Windows

Хоча файли VolFs зберігаються в звичайних файлах в Windows в зазначених вище каталогах, сумісність з Windows не підтримується. Якщо новий файл доданий в один з цих каталогів з Windows, йому не вистачає EA, необхідного для VolFs, тому VolFs не знає, що робити з файлом, і просто ігнорує його. Багато редактори також будуть розділяти EAs при збереженні існуючого файлу, знову роблячи файл непридатним для використання в WSL.

Ваша файлова система Windows знаходиться в / mnt / c в середовищі оболонки Bash.

Ваша файлова система Windows знаходиться в / mnt / c в середовищі оболонки Bash

Джерело: блог Дастіна Кіркланда, howtogeek

Здається, що це змінилося з тих пір, як Bash був спочатку представлений, або, може бути, він несумісний для всіх систем, оскільки мій домашній каталог знаходиться в іншому місці:

% Localappdata% \ lxss \ home \ {username}

або:

C: \ Users \ {user} \ AppData \ Local \ lxss \ {username}

Де {user} - ваше ім'я користувача Windows і {username} - це ваше {username} UNIX, встановлене під час установки.

Таким чином, кореневий каталог буде:

% Localappdata% \ lxss

Зверніть увагу, що кореневої каталог може не відображатися в провіднику Windows з% localappdata%. Ви повинні мати доступ до нього в будь-якому випадку, ввівши його в «адресному рядку» провідника.

Якщо ви встановите Linux з MS Market:

  • Безкоштовний Ubuntu в магазині Windows
  • Безкоштовна Open Suse в магазині Windows

вони розміщували дистрибутиви під:

$ Cat / proc / registry / HKEY_CURRENT_USER / Software / Microsoft / Windows / CurrentVersion / Lxss / \ {861c29b4-ebe2-49a5-8a22-7e53a27934a0 \} / BasePath C: \ Users \ user \ AppData \ Local \ Packages \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc \ LocalState

Значення за замовчуванням:

bash # cat / proc / registry / HKEY_CURRENT_USER / Software / Microsoft / Windows / CurrentVersion / Lxss / DefaultDistribution {861c29b4-ebe2-49a5-8a22-7e53a27934a0}

Корінь Linux глибше:

c: /Users/user/AppData/Local/Packages/46932SUSE.openSUSELeap42.2_022rs5jcyhyac/LocalState/rootfs

PS. Я використовував Cygwin для вивчення ключів реєстру.

PPS. https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

Єдине, що спрацювало для мене, це% localappdata% \ lxss \ home \ {username}, де {username} - ваше ім'я користувача BASH, яке ви дали йому під час установки. З якоїсь причини після демонстрації прихованої папки lxss відмовляється з'являтися в C: \ Users \ WINDOWS-USER \ AppData \ Local \, а також дає повний C: \ шлях з вікнами і ім'я користувача BASH теж не працює.

І, будь ласка, створіть ярлик на робочому столі для того, що працює.

Ви можете швидко відкрити Bash з вікна File Explorer відкритої папки, набравши bash в рядку місцеположення.

Досить.

Також ви можете додати пункт контекстного меню. Я особисто не рекомендую його, якщо не потрібно, тому що додавання ярликів в контекстне меню використовує більше ОЗУ.

https://www.howtogeek.com/270810/how-to-quickly-launch-a-bash-shell-from-windows-10s-file-explorer/