n1ro°
RU

Ошибки и коды · Инструкция

WSL: \\wsl$ не открывается — проверка файлового канала 9P

WSL \\wsl$ не открывается 9P — Microsoft указывает, что доступ Windows к Linux-файлам зависит от 9P file server на стороне WSL.

Редакция N1RO · Проверено

Короткий ответ

Если \\wsl$ перестал открывать дистрибутив, Microsoft советует проверить, запущен ли WSL и нет ли ошибки 9P; в Linux полезен `dmesg | grep 9p`. Затем обновите/перезапустите WSL до более разрушительных действий.

Почему \\wsl$ зависит от 9P

Доступ Windows к Linux-файлам WSL опирается на файловый канал 9P. Поэтому проблема может выглядеть как ошибка Проводника, хотя корень находится внутри WSL: дистрибутив не стартовал, 9P не поднялся или служба зависла после обновления/сбоя. Важно не лечить это переносом ext4.vhdx и не делать unregister — сначала нужно подтвердить, что сам дистрибутив запускается и что 9P оставил сообщения в kernel log.

Важно: Перед любыми действиями убедитесь, что дистрибутив виден в `wsl -l -v` и запускается из CLI.

Проверка дистрибутива и сообщений 9P

  1. Откройте PowerShell и выполните `wsl -l -v`, затем запустите нужный дистрибутив обычной командой `wsl -d <Name>`.
  2. В Linux выполните `dmesg | grep -i 9p`; наличие ошибок 9P указывает на файловый канал, а не на обычные права NTFS.
  3. В PowerShell выполните `wsl --shutdown`, подождите несколько секунд и снова запустите дистрибутив, затем повторите доступ к `\\wsl$`.
  4. Проверьте `wsl --update` и установите доступное обновление WSL, после чего снова сделайте `wsl --shutdown`.
  5. Если проблема остаётся, зафиксируйте вывод `wsl --status`, `wsl -l -v` и релевантные строки dmesg перед обращением к документации/поддержке.

Совет: `wsl --unregister` может удалить данные дистрибутива; не используйте его как универсальный «reset».

Безопасный перезапуск WSL

  • Не удаляйте дистрибутив командой unregister ради восстановления `\\wsl$`: это может удалить его файловую систему.
  • Не меняйте права внутри Linux вслепую — ошибка 9P и ошибка доступа к конкретному файлу имеют разные причины.
  • Если дистрибутив вообще не стартует, сначала чините запуск WSL; Проводник не сможет показать его файлы, пока среда не поднята.
  • Для важных данных держите резервную копию/экспорт дистрибутива; `\\wsl$` — способ доступа, а не стратегия backup.

Предупреждение: Сохраните релевантные строки `dmesg` до переустановки или обновления — после изменений исходный симптом может исчезнуть вместе с диагностикой.

Что не нужно делать ради восстановления доступа

Контрольный тест — открыть домашний каталог через `\\wsl$\<Distro>\home\..` после чистого `wsl --shutdown` и одновременно убедиться, что команда Linux выполняется. Если CLI работает, но 9P продолжает выдавать ошибки, проблема уже хорошо локализована. Такой результат полезнее, чем общий сброс WSL или переустановка Ubuntu без диагностики.

Как отделить 9P от прав на конкретный файл

Если Linux-команды выполняются, но `\\wsl$` не открывается и в dmesg есть ошибки 9P, проблема уже локализована на файловом канале. Если же дистрибутив вообще не стартует, сначала чините запуск WSL: Проводник не может показать файловую систему среды, которая не поднялась.

Какие данные собрать, если проблема остаётся

После `wsl --shutdown` повторите две проверки в одном порядке: запустите нужный дистрибутив, затем откройте его домашний каталог через `\\wsl$`. Успех после чистого рестарта указывает на зависшее состояние, а постоянная ошибка даёт основание проверить обновление WSL и приложить `wsl --status` вместе с журналом 9P.

Что именно проверяет 9P в WSL

Путь `\\wsl$` в Windows использует файловый канал WSL, а не обычный сетевой ресурс SMB. Поэтому отсутствие доступа к нему не стоит лечить перенастройкой общего доступа Windows. Вывод `dmesg | grep 9p` внутри дистрибутива помогает проверить, поднялся ли механизм, через который Windows видит Linux‑файлы.

Что учитывать

Доступ Windows к Linux-файлам WSL опирается на файловый канал 9P. Поэтому проблема может выглядеть как ошибка Проводника, хотя корень находится внутри WSL: дистрибутив не стартовал, 9P не поднялся или служба зависла после обновления/сбоя. Важно не лечить это переносом ext4.vhdx и не делать unregister — сначала нужно подтвердить, что сам дистрибутив запускается и что 9P оставил сообщения в kernel log.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. Troubleshooting Windows Subsystem for Linux). Пример и формулировки — редакция N1RO на 2026-09-23.