Як отримати доступ до ваших файлів Ubuntu Bash у Windows (і до вашого системного диска Windows у Bash)

Середовища Linux, які ви встановлюєте з Магазину (наприклад, Ubuntu та openSUSE), зберігають свої файли у прихованій папці. Ви можете отримати доступ до цієї папки для резервного копіювання та перегляду файлів. Ви також можете отримати доступ до своїх файлів Windows із оболонки Bash.

Оновлення : Починаючи з оновлення Windows 10 від травня 2019 року, тепер є офіційний безпечний спосіб отримати доступ до ваших файлів Linux із програм Windows.

Не змінюйте файли Linux за допомогою інструментів Windows

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

Іншими словами, обробляйте папку Linux так, ніби вона лише для читання з Windows. Не використовуйте будь-який інструмент Windows, включаючи графічні програми або інструменти командного рядка, для їх модифікації. Не створюйте нові файли в цих папках за допомогою інструментів Windows.

Якщо ви хочете працювати з файлом як із середовищ Linux, так і Windows, вам слід створити його у своїй файловій системі Windows. Наприклад, якщо у вас є папка в C: \ project в Windows, ви також можете отримати до неї доступ за адресою / mnt / c / project у середовищі Linux. Оскільки він зберігається у файловій системі Windows і доступ до нього здійснюється за допомогою / mnt / c, безпечно змінювати файл за допомогою інструментів Windows або Linux.

Де Windows зберігає файли Linux

Ваша файлова система Linux зберігається у прихованій папці з певної причини, оскільки Microsoft не хоче, щоб ви її втручалися. Але якщо вам потрібно переглянути або створити резервну копію деяких файлів, ви знайдете їх збереженими у прихованій папці. Щоб отримати до нього доступ, відкрийте Провідник файлів і підключіть таку адресу до адресного рядка:

% userprofile% \ AppData \ Local \ Packages

(Це призведе до C:\Users\NAME\AppData\Local\Packages. Ви також можете показати приховані папки у Провіднику файлів і перейти сюди вручну, якщо хочете.

У цій папці двічі клацніть папку для дистрибутива Linux, файли якої ви хочете переглянути:

  • Ubuntu : CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
  • openSUSE Leap 42 : 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
  • SUSE Linux Enterprise Server 12 : 46932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac

Назви цих папок у майбутньому можуть дещо змінитися. Просто знайдіть папку, названу на честь дистрибутива Linux.

У папці дистрибутива Linux двічі клацніть папку “LocalState”, а потім двічі клацніть папку “rootfs”, щоб переглянути її файли.

Іншими словами, файли зберігаються за адресою:

C: \ Users \ NAME \ AppData \ Local \ Packages \ DISTRO_FOLDER \ LocalState \ rootfs

Примітка : У старих версіях Windows 10 ці файли зберігались у папці C: \ Users \ Name \ AppData \ Local \ lxss. Це змінилося, починаючи з оновлення Fall Creators.

Щоб переглянути файли, що зберігаються у вашій домашній папці, двічі клацніть папку “home”, а потім двічі клацніть своє ім’я користувача UNIX.

Пам’ятайте, не змінюйте жоден із цих файлів і не додавайте файли до цих папок із Провідника файлів!

Де ваш системний диск Windows відображається в Linux

Підсистема Windows для Linux робить ваш повний системний диск Windows доступним, щоб ви могли працювати з однаковими файлами в обох середовищах. Однак середовище Bash не просто скидає вас на ваш диск C: \. Натомість він розміщує вас у домашньому каталозі вашого облікового запису UNIX у файловій системі середовища Linux.

Ваш системний диск Windows та інші підключені диски відображаються в каталозі / mnt / там, де інші диски традиційно доступні в структурі каталогів Linux. Зокрема, ви знайдете диск C: у такому місці в середовищі Bash:

/ mnt / c

Щоб перейти до цього каталогу за допомогою cdкоманди, просто введіть:

cd / mnt / c

Якщо у вас є привід D:, ви знайдете його за адресою / mnt / d тощо.

Наприклад, для доступу до файлу, що зберігається у папці C: \ Users \ Chris \ Downloads \ File.txt, ви б використали шлях /mnt/c/Users/Chris/Downloads/File.txt у середовищі Bash. І так, це чутливо до регістру, тому вам потрібні "Завантаження", а не "завантаження".

ПОВ’ЯЗАНІ: Як встановити знімні диски та розташування мереж у підсистемі Windows для Linux

Ви також можете змонтувати зовнішні диски та мережеві адреси, щоб отримати доступ до більшої кількості файлів із середовища Linux.

Зверніть увагу, що під час доступу до системних файлів Windows ваше середовище оболонки Bash має дозволи, з якими воно було запущено. Якщо ви запустили його зазвичай за допомогою ярлика, він матиме ті самі дозволи на доступ до файлів, що і ваш обліковий запис користувача Windows.

Наприклад, якщо ви хочете отримати доступ до системної папки, до якої ваш обліковий запис користувача не має дозволу, вам потрібно клацнути правою кнопкою миші ярлик оболонки Bash і вибрати “Запуск від імені адміністратора”, щоб запустити оболонку Bash із правами адміністратора Windows .

Це працює так само, як і командний рядок, який потрібно запустити як адміністратор, якщо вам потрібен доступ для запису до файлів лише для адміністратора, або доступ до системних файлів. Ви не можете просто використовувати sudoв середовищі Bash.