Гид по технологиям

WSL: доступ к файлам и запуск команд между Windows и Linux

7 min read Инструменты Обновлено 27 Dec 2025
WSL: доступ к файлам и запуск команд
WSL: доступ к файлам и запуск команд

Ноутбук с Windows 11: на клавиатуре куб с логотипами Windows и талисманом Linux.

Введение

Windows Subsystem for Linux (WSL) — это подсистема в Windows, которая запускает Linux-дистрибутивы без необходимости двойной загрузки или полноценных виртуальных машин. Ключевая ценность WSL — возможность одновременно запускать приложения и инструменты обеих систем и легко пересылать данные между ними.

Определение в одну строку: WSL — это совместимая среда для запуска Linux-бинарников внутри Windows с интеграцией файловой системы и процессов.

Important: WSL бывает нескольких версий (WSL 1 и WSL 2). WSL 2 использует виртуализированное ядро Linux и отличается поведением сети и производительностью ввода-вывода. Если релевантно — уточните используемую версию перед изменением конфигурации.

Что в этой статье

  • Как открыть файлы Linux из Проводника Windows
  • Как открыть файлы Windows из Linux (WSL)
  • Запуск Windows-команд из Linux и наоборот
  • Запуск GUI Linux-программ в Windows
  • Команды-справочник, типичные ошибки и решения
  • Контрольные списки для разработчика, администратора и пользователя
  • Критерии приёмки и рекомендации по безопасности

Доступ к файлам Linux из Проводника Windows

Корневая директория Ubuntu в WSL открытая в Проводнике Windows.

WSL монтирует дистрибутивы так, что их файловые системы доступны из Проводника Windows. В левой боковой панели вы увидите значок Tux (пингвин) — щёлкните стрелку рядом, чтобы развернуть список установленных дистрибутивов и перейти в их корни. Альтернативно, в адресной строке Проводника введите:

\\wsl$

Это откроет корневые точки всех дистрибутивов. Чтобы перейти прямо в конкретный дистрибутив, добавьте его имя, например:

\\wsl$\\Ubuntu\\

Примечание: в путях Windows используются обратные слеши (\). Если вы копируете Linux-пути, замените прямые слеши (/) на обратные при работе в Проводнике.

Открытие текущей директории WSL в Проводнике (из командной строки WSL):

explorer.exe .

Это демонстрирует тесную интеграцию: командная строка WSL может открыть Проводник в текущей директории.

Доступ к файлам Windows из Linux

Выполнение команды ls в /mnt/c в WSL.

С Windows-дисками можно работать прямо из WSL. Буквенные диски Windows монтируются по пути /mnt/<буква> — например, диск C: доступен как /mnt/c. Примеры:

  • C:\Windows → /mnt/c/Windows
  • C:\Users\Alice\Documents → /mnt/c/Users/Alice/Documents

Это применимо и для графических Linux-программ, которые могут открыть файлы Windows-проекта через /mnt/*.

Важно: скорость операций с файлами на /mnt/ может отличаться в зависимости от версии WSL (WSL 1 vs WSL 2) и от типа файловой системы на Windows (NTFS). Для интенсивной работы с файлами на Linux лучше хранить исходники внутри файловой системы дистрибутива (например, в /home), а не напрямую на /mnt/.

Запуск Windows-команд из Linux

Запуск Блокнота из WSL.

В терминале WSL вы можете запускать исполняемые файлы Windows, добавив к имени .exe. Например:

notepad.exe file

Примеры интеграции с пайпами и фильтрами Linux:

powershell.exe dir "C:/" | grep 'Windows'

Тонкости и хитрости:

  • Windows-программы чувствительны к формату путей: лучше передавать пути в Windows-формате или корректно экранировать слеши.
  • Windows команды нечувствительны к регистру имён файлов, Linux — чувствителен. Учтите это при комбинировании.
  • Права доступа при запуске Windows-программы из WSL соответствуют правам процесса WSL и учётной записи пользователя Windows, с которой запущен процесс.

Если вы видите отказ в доступе к системным файлам (например, pagefile.sys), это нормально для непривилегированных пользователей. Используйте sudo в WSL, чтобы получить привилегии в Linux-части и просмотреть содержимое /mnt/c:

sudo ls /mnt/c

Однако sudo не поднимает привилегии Windows-процесса: операции, требующие прав администратора Windows, всё ещё потребуют запуска от администратора в самой Windows.

Запуск Linux-команд из PowerShell

Запуск ls из Ubuntu WSL через PowerShell.

В PowerShell вы можете выполнить любую Linux-команду через команду wsl, например:

wsl ls /bin

Контекст безопасности: процессы, запущенные через wsl из PowerShell, наследуют права той сессии, которая запустила Windows-команду. Если PowerShell запущен от имени администратора, команда wsl будет выполняться в повышенном контексте.

Запуск графических Linux-программ в Windows

GNU Emacs запущенный из WSL.

В Windows 11 и современных версиях WSL поддерживается запуск GUI-приложений Linux прямо в Windows-окне. Есть два основных способа:

  • Запустить программу из WSL-терминала, например:
emacs
  • Запустить из меню «Пуск»: установленные графические приложения появятся в папке дистрибутива.

Если приложение занимает терминал, отправьте его в фон, добавив &:

emacs &

Чтобы перевести запущенный процесс в фон, используйте стандартные инструменты управления заданиями в shell:

  1. Ctrl+z — приостановить.
  2. bg — возобновить в фоне.

Замечание: поведение фоновых процессов зависит от используемого shell и оконного менеджера в WSL GUI-стеке.

Частые ошибки и их решения

  • “Access denied” при ls /mnt/c: проверьте права Windows; некоторые системные файлы доступны только администраторам.
  • Медленное чтение/запись на /mnt/c: для разработки храните репозитории в файловой системе дистрибутива (~/project).
  • Проблемы с путями: будьте внимательны с / и \; при вызове Windows-приложений из Linux используйте форматы, понятные принимающей программе.
  • Неправильная версия WSL: некоторые GUI-функции и поведение I/O зависят от WSL 2. Обновите ядро WSL или переключитесь на WSL 2 при необходимости.

Команды-справочник (полезные примеры)

  • Открыть текущую директорию WSL в Проводнике:
explorer.exe .
  • Открыть файл в Notepad из WSL:
notepad.exe file
  • Найти строку “Windows” в выводе dir PowerShell через grep:
powershell.exe dir "C:/" | grep 'Windows'
  • Просмотреть C: из WSL с привилегиями:
sudo ls /mnt/c
  • Запустить Linux-команду из PowerShell:
wsl ls /bin
  • Запустить GUI-приложение в фоне:
emacs &
  • Приостановить и отправить в фон:
# Ctrl+z
bg

Роли и контрольные списки

Разработчик:

  • Хранить исходники в файловой системе WSL для скорости.
  • Настроить .gitignore для кросс-платформенных файлов (например, .DS_Store, Thumbs.db).
  • Проверять регистр имён файлов перед пушем и CI.

Системный администратор:

  • Проверить версию WSL (wsl –list –verbose) и обновить ядро.
  • Настроить резервное копирование важных конфигураций WSL.
  • Контролировать права доступа при совместном использовании ресурсов.

Обычный пользователь:

  • Использовать Проводник через \wsl$ для простого доступа к файлам дистрибутива.
  • Запускать Windows-программы из WSL с .exe.
  • В случае проблем — перезапустить дистрибутив (wsl –shutdown).

Критерии приёмки

  • Убедитесь, что из WSL открывается Проводник командой explorer.exe . и видны ожидаемые файлы.
  • Проверьте, что запуск notepad.exe file открывает файл в Windows.
  • В PowerShell wsl ls /bin должен вернуть список файлов из /bin дистрибутива.
  • GUI-приложение Linux должно запускаться и отображаться в окне Windows при вашей конфигурации WSL.

Риски и рекомендации по безопасности

  • Права доступа: операции между средами наследуют права процессов — будьте осторожны при выполнении команд от имени администратора.
  • Антивирус и резервное копирование: некоторые антивирусы могут вмешиваться в выполнение исполняемых файлов между системами; настройте исключения при необходимости.
  • Конфиденциальные данные: если вы обрабатываете персональные данные, проверьте соответствие локальным требованиям по хранению и обработке (например, GDPR) — убедитесь, где именно данные сохраняются и кто имеет к ним доступ.

Альтернативные подходы и когда это не подходит

  • Если вам нужна полная изоляция среды (например, тестирование низкоуровневых модулей ядра), используйте полноценные виртуальные машины или отдельные физические машины.
  • Для приложений с высокими требованиями к I/O лучше тестировать на нативном Linux или конфигурировать WSL 2 и использовать файловую систему дистрибутива.

Шпаргалка по миграции и совместимости

  • Проверяйте совместимость окружений: версии библиотек и бинарников в WSL могут отличаться от целевого Linux-сервера.
  • Автоматизируйте сборку артефактов внутри WSL, чтобы избежать проблем с переносимостью между NTFS и ext4.

Краткий словарь терминов

  • WSL — подсистема Windows для запуска Linux.
  • /mnt/* — точка монтирования Windows-дисков внутри WSL.
  • explorer.exe — Проводник Windows (можно вызывать из WSL).
  • wsl — команда в Windows для выполнения Linux-команд.

Краткое резюме

WSL устраняет барьер между Windows и Linux: вы можете открывать файлы дистрибутива в Проводнике, запускать Windows-приложения из Linux и наоборот. Для производительного и безопасного использования учитывайте особенности файловых систем, права доступа и версию WSL.

Notes: Проверьте версию WSL и политики безопасности в вашей организации перед массовым переносом рабочих процессов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Google Pixel 8: дата, ожидания и трансляция
Новости

Google Pixel 8: дата, ожидания и трансляция

Как скачивать Netflix для офлайн‑просмотра
Инструкции

Как скачивать Netflix для офлайн‑просмотра

Настройка Netflix: персонализация аккаунта
Стриминг

Настройка Netflix: персонализация аккаунта

Как разблокировать отключённый iPad — пошагово
Гайды

Как разблокировать отключённый iPad — пошагово

Android-криптоджекинг: защититесь от скрытого майнинга
Безопасность

Android-криптоджекинг: защититесь от скрытого майнинга

Метаболлы в Blender: руководство по использованию
3D моделирование

Метаболлы в Blender: руководство по использованию