Windows 10 версии 1903 содержит ряд интересных изменений и улучшений, внесенных в функцию WSL. К ним относятся дополнительные дистрибутивы в Магазине, возможность просматривать файлы WSL в Проводнике и многое другое.
Возможность запуска Linux в Windows 10 обеспечивается функцией WSL. WSL это — Windows Subsystem for Linux, которая изначально была ограничена только Ubuntu. Современные версии WSL позволяют устанавливать и запускать несколько дистрибутивов Linux из Microsoft Store.
После включения WSL вы можете устанавливать различные версии Linux из Магазина, используя следующие ссылки:
Ссылки на дистрибутивы в магазине microsoft:
Ubuntu | openSUSE Leap | SUSE Linux Enterprise Server | Debain GNU / Linux | Kali Linux
В Windows 10 версии 1903 вы можете легко получить доступ ко всем файлам в ваших дистрибутивах Linux с помощью проводника Windows. На момент написания статьи эта функция реализована в сборке Windows 10 18836. Она находится на пути к ветви 19h1, поэтому мы увидим ее в следующей сборке. Вот как это можно сделать.
Чтобы получить доступ к файлам WSL Linux из проводника Windows 10 , выполните следующие действия.
Шаг 1: Включить функцию WSL (Подситема Windows для Linux)
Шаг 2: Установите какой-нибудь дистрибутив, например Ubuntu, и запустите его.
Подробнее в нашей статье: Руководство по установке и запуску — Ubuntu Bash в Windows 10.
Шаг 3: Находясь в каталоге Linux FS, введите^
explorer.exe .
Откроется окно проводника, расположенное внутри вашего дистрибутива Linux.
Теперь вы можете получить доступ к любым файлам Linux, так же, как и к любому другому файлу через проводник. Это включает в себя такие операции, как: перетаскивание файлов в другие места, копирование и вставка и даже использование пользовательских записей контекстного меню, добавленных Notepad ++, VSCode или другим программным обеспечением.
Проводник показывает файлы дистрибутива как виртуальный сетевой ресурс по пути \ wsl $ <running_distro_name> .
Команда WSL активно исследует способы улучшения обнаруживаемости файлов Linux внутри Проводника. Ход их работы уже можно увидеть в Windows 10 Build 18836, которая показывает файловую систему WSL / Linux в File Explorer.
Доступ к файлам Linux в командной строке
В дополнение к Проводнику вы можете использовать классическую командную строку и инструменты PowerShell для доступа к файлам Linux. Точно так же вам нужно перейти к \wsl${имя дистрибутива}, где {имя дистрибутива} — это имя работающего дистрибутива.
Известные вопросы
Это новая функция, и некоторые ее части могут не работать идеально. Вот некоторые известные проблемы, о которых мы хотим сообщить вам при использовании этой функции:
На данный момент файлы дистрибутивов будут доступны только из Windows, когда дистрибутив работает. Разработчик собирается добавить поддержку не работающих дистрибутивов в будущем обновлении.
Поскольку файловый сервер 9P работает внутри каждого дистрибутива, он доступен только тогда, когда этот дистрибутив работает. Команда ищет способы решить эту проблему.
Доступ к файлам Linux рассматривается так же, как и доступ к сетевому ресурсу, и все правила доступа к сетевым ресурсам будут по-прежнему применяться,
- Например: при использовании CMD cd \wsl$Ubuntuhome не будет работать (поскольку CMD не поддерживает пути UNC, так как текущие каталоги), однако будет работать copy \wsl$Ubuntuhomesomefile.txt C:dev
- Старые правила по-прежнему применяются, вы не должны получать доступ к файлам Linux внутри папки AppData!
- Если вы пытаетесь получить доступ к своим файлам Linux через папку AppData, вы используете обход сервера 9P, что означает, что у вас не будет доступа к файлам Linux, и вы можете повредить ваш дистрибутив Linux.
Примечание: Сервер 9P — это сервер, который содержит протоколы, поддерживающие метаданные Linux, включая разрешения. Демон инициализации WSL теперь включает сервер 9P. Существует служба Windows и драйвер, который действует как клиент и взаимодействует с сервером 9P (который работает внутри экземпляра WSL). Клиент и сервер обмениваются данными через сокеты AF_UNIX, поскольку WSL позволяет взаимодействовать между приложением Windows и приложением Linux, используя AF_UNIX.
При работе с WSL2 очень часто возникает необходимость копирования файлов между вашим ПК и файловой системой виртуальных машин установленных в WSL2.
Сегодня мы рассмотрим простой способ как подключить любую папку или даже всю файловую систему как обычный диск в Проводнике.
Чтобы получить доступ к файловой системы виртуальной машины в WSL2 достаточно открыть в Проводнике ссылку:
\wsl$
Откроется окно:
Обратите внимание – окно пустое!
Чтобы файловая система виртуальной машины появилась в списке её нужно запустить через меню Пуск.
Вы должны запускать нужные машины каждый раз после включения вашего ПК. Автоматически виртуальные машины WSL2 не запускаются!
Запустим Debian:
Как видите появилась папка Debian.
Одним из недостатков доступа через \wsl$ является то, что необходимо правильно настроить права доступа к папке в Linux.
Если вы попытаетесь открыть папку \wsl$Debianroot, то получите ошибку:
Нет доступа к \wsl$Debianroot. Возможно, у вас нет прав на использование этого сетевого ресурса. Обратитесь к администратору этого сервера для получения соответствующих прав доступа.
Установка прав доступа на папку
Для того чтобы предоставить доступ к папке вам нужно установить права доступа пользователю или установить права доступа 777, для примера создадим папку в /home:
sudo mkdir /home/test
Если вы попытаетесь открыть папку \wsl$Debianhometest у вас всё получится, так как на нее автоматически установлены права:
755
Что означает, что владельцу – root можно делать всё, а остальным читать и запускать программы из папки.
Давайте установим права как у /root
chmod 700 /home/test
Теперь при попытке открыть папку выводиться сообщение:
Есть два способа решения данной проблемы:
1. Первый способ:
Установить владельцем пользователя, котого вы создали при первом запуске виртуальной машины в WSL2.
В моем случае это – user
chown -R user /home/test
chgrp -R user /home/test
После чего у вас будет полный доступ к данной папке.
2. Второй способ:
Установить права доступа 777 на папку и все файлы в ней:
chmod -R 777 /home/test
Этот способ хорош тем, что не меняет владельца и в случае с веб-сервером вам не придется править его конфигурацию.
В любом случае оба способа подходят для решения данной проблемы.
Подключение диска
Подключить папку WSL2 как диск очень просто.
Откройте проводник и введите
\wsl$
Выберите нужный дистрибутив, я буду подключать Debian
Правой кнопкой нажмите на название и выберите в выпадающем меню – Подключить сетевой диск:
В новом окне нажмите Готово
Откроется окно проводника с новым диском:
Обратите внимание, если вы подключили диск, но после перезапуска ПК не запускали консоль виртуальной машины через меню Пуск, то диск не будет доступен, вы всё же можете подключиться к нему, но я рекомендую сначала запускать консоль.
Заключение
Сегодня мы рассмотрели способ подключения файловой системы WSL2 как диска в Windows 10.
Так же были рассмотрено назначение прав доступа к папкам.
Have you ever wondered, how to access the windows file system through WSL? If the answer is yes you are in the right place!
Microsoft WSL has given us an incredible way to access the windows file system, you have just to navigate through an exact path to do it. Without further due, let’s dive into the topic.
1. Use the cd command in the Linux terminal.
To access the windows files you have to navigate through /mnt/your_windows_path
cd /mnt/c/Users
**OR**
cd /mnt/d/your_folder/your_folder
Enter fullscreen mode
Exit fullscreen mode
Now you have access to every file in the Linux and Windows file systems.
2. Moving files between the two systems through WSL.
If you want to move files between the two operating systems you can simply use the cp or mv commands.
cp — command for copying files
mv — command for moving files
Use of cp command
cp /mnt/c/file.txt /home/username/Documents
Enter fullscreen mode
Exit fullscreen mode
Use of mv command
mv /mnt/c/file.txt /home/username/Documents
Enter fullscreen mode
Exit fullscreen mode
3. Editing windows files through WSL.
To edit windows files through the Linux terminal using WSL, you have to use any text editor that can be opened in the terminal. One of the most famous text editors is nano. In our example, I am going to use the nano editor.
Type into the terminal nano and the path to the file.
sudo nano /mnt/c/Users/file.txt
Enter fullscreen mode
Exit fullscreen mode
Now you can edit freely files from your terminal.
4. Creating files in windows through WSL.
To create a file in a specific windows directory you have first to navigate to it and then use the touch command to create a file.
touch — a command that creates a file.
!!! The file extension can be anything you want.
cd /mnt/c/Users/Public/Documents/
touch filename.txt
Enter fullscreen mode
Exit fullscreen mode
The file is created and can be opened from both systems.
5. Deleting files from the windows file system through WSL.
To delete windows files using WSL, you have to navigate to the directory where the file lives and use the rm command.
rm — a command that deletes files / directories
cd /mnt/c/Users/Public
sudo rm example_file.jpg
Enter fullscreen mode
Exit fullscreen mode
Congratulations you learned 5 vital skills about working with the Linux terminal. 🎺🎺🎺
If you have any questions, comment down, I will answer as soon as possible.
Обновление Windows 10 за апрель 2019 года предлагает долгожданную функцию: поддержку простого доступа, просмотра и даже изменения файлов подсистемы Windows для Linux (WSL) из проводника или командной строки.
Раньше можно было найти ваши файлы Linux в папке AppData, но Microsoft предостерегает от этого. Изменение файлов здесь может сломать установленный Linux. Теперь есть более простой и официальный способ получить доступ к этим файлам с помощью инструментов Windows — без риска что-либо сломать!
Крейг Лоуэн из Microsoft объясняет, как это работает: Вместо прямого доступа к этим файлам Windows запускает сервер Plan 9 как часть программного обеспечения WSL в фоновом режиме. В Windows 10 есть «служба и драйвер Windows, которые действуют как клиент и общаются с сервером Plan9». Этот сервер переводит ваши файловые операции и обрабатывает метаданные Linux, такие как права доступа к файлам, гарантируя, что всё работает правильно, даже когда вы обращаетесь к файлу с помощью инструмента Windows. Но это просто сложные вещи, которые происходят на заднем плане, и вам не нужно об этом думать.
Вы можете открыть окно проводника прямо в текущем каталоге из среды оболочки Linux. Просто введите следующую команду в оболочку Bash:
explorer.exe .
Отсюда вы можете нормально работать с файлами. Используйте перетаскивание, копируйте и вставляйте их или даже открывайте их непосредственно в приложениях Windows, чтобы изменить их.
Microsoft может изменить то, как это работает в будущем. Но пока вы также можете ввести следующий путь в окно проводника для доступа к файлам дистрибутива Linux:
\wsl$<имя-запущенного-дистрибутива>
Другими словами, если вы используете оболочку Bash в Ubuntu 18.04, вы должны ввести:
\wsl$Ubuntu-18.04
Это, конечно, также работает из командной строки. В PowerShell или командной строке
cd \wsl$Kali-Linux
Пользователи подсистемы Windows для Linux давно хотели получить эту функцию. Ещё в 2016 году Рич Тернер из Microsoft писал, что ему приходилось предупреждать людей, чтобы они не открывали свои файлы Linux в проводнике по крайней мере два или три раза в день. Теперь, наконец, появился способ работать с этими файлами, не рискуя что-то сломать.
Смотрите также:
- WSL (подсистема Windows для Linux): подсказки, инструкции, решения проблем
- Как пользоваться Kali Linux в WSL (подсистеме Windows для Linux): подборка лучших программ (ч. 1)
- Как пользоваться Kali Linux в WSL (подсистеме Windows для Linux): подборка лучших программ (ч. 2)
- Перевод официальной документации по Kali Linux: WSL (подсистема Windows для Linux)
Связанные статьи:
- Как в Проводнике Windows 10 открыть файлы подсистемы Linux на Windows (100%)
- Как получить доступ к разделам Linux из Windows (100%)
- Как установить и использовать Linux в Windows 10 (87.6%)
- Как перезагрузить Linux в WSL без перезагрузки Windows? (РЕШЕНО) (87.6%)
- Как просмотреть список установленных дистрибутивов Linux в WSL (87.6%)
- Как отключить автоматическую очистку корзины в Windows 10 (RANDOM — 62.4%)
Содержание
- Недостатки одновременного использования двух операционных систем
- Открытие файлов Windows из Linux с помощью WSL
- Открывать программы Windows из WSL
Недостатки одновременного использования двух операционных систем
Основной проблема с работой с двумя операционными системами в то же время, например, с двойной загрузкой, файлы сохраняются в одном или другом. И, если мы хотим получить к ним доступ из другой операционной системы, нам уже нужно найти его и скопировать, чтобы иметь возможность использовать. И, вернувшись в другую операционную систему, повторите процесс.
Простой способ решить эту проблему — иметь жесткий диск для хранения, используемый обеими операционными системами, чтобы все было сохранено на нем, и мы могли получить доступ к вашим данным в любое время. Однако, если мы используем Windows и Linux благодаря WSL, с этого момента мы сможем очень легко получить доступ к данным из обеих систем.
Если нам нужно получить доступ к данным Linux из Windows, есть ряд команд для WSL, которые позволяют нам смонтировать диск EXT4 в проводнике, чтобы получить доступ ко всем данным, как если бы это был еще один жесткий диск. И, если нам нужно обратное, то есть доступ к файлам Windows из Linux, мы сможем это сделать. И для этого нам понадобится всего одна команда.
WSL позволяет нам установить оболочку Linux . Хотя Microsoft работает в графическом режиме, а некоторые дистрибутивы, такие как Kali, уже имеют свой собственный инструмент, позволяющий использовать его в графическом режиме, оригинальная вещь, которая дает меньше проблем, — это использовать WSL, как если бы это был терминал, телетайп.
Если у нас уже установлен и настроен дистрибутив на нашем ПК, нам просто нужно открыть его консоль из окна CMD и войти в систему, пока мы не сможем контролировать его. Как только мы достигли этой точки, следующее, что мы должны сделать, это знать полный путь в Windows к файлу, который мы хотим открыть.
Теперь все, что нам нужно сделать в нашем WSL, — это выполнить следующую команду. Конечно, мы должны изменить «путь к файлу» на полный путь к файлу, который мы указали в предыдущем пункте:
cmd.exe /C start "ruta-al-archivo"
При нажатии «Enter» файл, на который мы указали, откроется автоматически. Конечно, он откроется с помощью программы, которую мы настроили по умолчанию в Windows 10. Теперь мы можем редактировать ее, работать с ней, и когда мы закончим сохранение изменений.
Открывать программы Windows из WSL
Еще один прием, которым мы можем воспользоваться в WSL, — это возможность открытие программ Windows из Linux bash . Это очень полезно, особенно если мы работаем с консолью в полноэкранном режиме или с несколькими экземплярами bash, и мы не хотим, удерживая мышь, открывать программу обычным способом.
Чтобы выполнить эту задачу, мы должны знать путь к исполняемому файлу, который мы хотим открыть. Если это обычная программа, например, блокнот, нам не нужно знать полный путь, и просто введите имя программы (notepad.exe), чтобы открыть ее. В противном случае нам понадобится полный путь к программе, которую мы хотим запустить, чтобы ее открыть.
Команда, которую мы должны выполнить в этом случае, практически такая же, как и предыдущая, особенно с изменением места назначения.
cmd.exe /C start "ruta-al-programa"
or
cmd.exe /C start "programa.exe"
Основное ограничение этого метода заключается в том, что мы не можем запускать приложения UWP из Microsoft Store из подсистемы Windows для Linux. В одиночку, либо открывать файлы, либо запускать программы .exe. Но что мы можем сделать, это создать ярлык для программы UWP который мы установили на компьютер, и, используя ту же команду выше, откройте этот ярлык.
cmd.exe /C start "ruta-al-acceso-directo"
Таким образом, мы сможем запускать приложение UWP непосредственно из подсистемы Windows для Linux. То же самое может произойти, если у нас есть приложение UWP, установленное по умолчанию для открытия определенного типа файла. Если мы воспользуемся первой командой для открытия файла из WSL, то по умолчанию он откроется с приложением UWP.
Microsoft добавила поддержку Windows Subsystem для Linux (WSL) в Windows 10 с Windows 10 v1607. Это позволило пользователям устанавливать различные дистрибутивы Linux, такие как Ubuntu, SUSE Linux, Kali Linux и другие, на устройства Windows 10. В обновлении функции v1903 не только WSL получает настоящее ядро, но также будет присутствовать возможность доступа к файлам Linux в Windows 10 с помощью проводника .
Содержание
- Доступ к подсистеме Windows для файлов Linux в Windows
- 1] Использование проводника внутри терминала WSL
- 2] Запуск рута из проводника
Доступ к подсистеме Windows для файлов Linux в Windows
Существует два способа доступа к файлам подсистемы Windows для Linux с помощью проводника в Windows 10:
- Открытие проводника из терминала WSL.
- Запуск рута из проводника.
1] Использование проводника внутри терминала WSL
- Откройте терминал WSL.
- Перейдите в корневой каталог или верхнюю папку внутри Терминала.
- Введите explorer.exe и нажмите Enter, чтобы открыть это местоположение в проводнике.
2] Запуск рута из проводника
Это относительно прямой метод.
- Запустите проводник.
- Введите Linux и нажмите Enter в адресной строке Проводника.
- Он смонтирует хранилище для дистрибутивов Linux, установленных на вашем компьютере.
- Файлы видны в проводнике.
Получив доступ к этим файлам в проводнике, вы можете использовать программы, установленные на вашем компьютере, для их нормального выполнения. И любые сделанные вами изменения будут видны внутри окна терминала.
WSL оказался благом для всех разработчиков, которым приходилось выполнять двойную загрузку версии Linux, чтобы удовлетворить их потребности в готовом терминале.