Ошибки при запуске подсистемы Windows для Linux после установки

Вопрос или проблема

Я только что установил WSL и попытался запустить его после перезагрузки, но получаю ошибки. Неужели я что-то неправильно понимаю?

В PowerShell, запущенном от имени администратора:

PS C:\Users\Marcel> wsl.exe --install

После, казалось бы, успешной установки и перезагрузки:

PS C:\Users\Marcel> wsl -v -l
Версия WSL: 2.0.14.0
Версия ядра: 5.15.133.1-1
Версия WSLg: 1.0.59
Версия MSRDC: 1.2.4677
Версия Direct3D: 1.611.1-81528511
Версия DXCore: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Версия Windows: 10.0.19045.5011
PS C:\Users\Marcel> wsl -l -v
  ИМЯ                   СОСТОЯНИЕ       ВЕРСИЯ
* docker-desktop-data    Остановлен      2
  Ubuntu                 Остановлен      2
PS C:\Users\Marcel> wsl
<3>WSL (11) ОШИБКА: CreateProcessParseCommon:708: Не удалось перевести C:\Users\Marcel
<3>WSL (11) ОШИБКА: CreateProcessParseCommon:754: getpwuid(0) не удалось 2
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files (x86)\VMware\VMware Player\bin\
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64_win\compiler
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Windows\system32
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Windows
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Windows\System32\Wbem
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Windows\System32\WindowsPowerShell\v1.0\
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Windows\System32\OpenSSH\
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\WINDOWS\system32
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\WINDOWS
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\WINDOWS\System32\Wbem
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\WINDOWS\System32\WindowsPowerShell\v1.0\
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\WINDOWS\System32\OpenSSH\
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files\dotnet\
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files (x86)\Touch Portal\plugins\adb\platform-tools
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files\Microsoft SQL Server\160\Tools\Binn\
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files\Git\cmd
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files\Wolfram Research\WolframScript\
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files\Calibre2\
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files\Docker\Docker\resources\bin
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files\Microsoft SQL Server\140\Tools\Binn\
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Ruby32-x64\bin
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Users\Marcel\AppData\Local\Microsoft\WindowsApps
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files (x86)\Nmap
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Program Files\JetBrains\PyCharm Community Edition 2023.2.1\bin
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Users\Marcel\AppData\Local\Programs\Microsoft VS Code\bin
<3>WSL (11) ОШИБКА: UtilTranslatePathList:2866: Не удалось перевести C:\Users\Marcel\AppData\Roaming\Programs\Zero Install
Обработка fstab с помощью mount -a завершилась неудачно.
Не удалось смонтировать C:\, см. dmesg для получения дополнительных сведений.
Не удалось смонтировать D:\, см. dmesg для получения дополнительных сведений.
Не удалось смонтировать G:\, см. dmesg для получения дополнительных сведений.

<3>WSL (11) ОШИБКА: CreateProcessEntryCommon:331: getpwuid(0) не удалось 2
<3>WSL (11) ОШИБКА: CreateProcessEntryCommon:502: execvpe /bin/sh не удался 2
<3>WSL (11) ОШИБКА: CreateProcessEntryCommon:505: Создание процесса не ожидается для возврата

Разве WSL в PowerShell не должен был загрузиться?

Ответ или решение

Проблемы запуска Windows Subsystem for Linux (WSL) после установки

Описание проблемы

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

Возможные причины и решения

  1. Ошибка конфигурации WSL:

    • Убедитесь, что корректно установлены и настроены все компоненты WSL, включая обновления для вашего дистрибутива. Попробуйте выполнить следующую команду в PowerShell, запущенном от имени администратора:
      wsl --update
  2. Проблемы с файлами fstab:

    • Ошибка Processing fstab with mount -a failed говорит о том, что WSL не может смонтировать определенные файловые системы. Если вы настроили файл /etc/fstab, временно его переименуйте или удалите, чтобы проверить, решает ли это проблему:
      mv /etc/fstab /etc/fstab.bak
  3. Несоответствие прав доступа:

    • Убедитесь, что у вас есть необходимые права доступа к путям и файлам, указанным в ошибках. Проверьте наличие прав на папки, указанные в сообщениях об ошибках, таких как C:\Program Files и другие. Попробуйте запустить PowerShell от имени администратора.
  4. Установите WSL в режиме совместимости:

    • Если вы используете WSL 2, убедитесь, что ваша версия Windows поддерживает эту функцию. Проверьте, включены ли виртуализация и Hyper-V в BIOS, и проверьте, что ваш компьютер обновлен до последней версии Windows 10 или Windows 11.
    • Чтобы включить эти функции, выполните следующие команды в PowerShell:
      dism.exe /Online /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /All /LimitAccess /Source:wsl.cab
      dism.exe /Online /Enable-Feature /FeatureName:VirtualMachinePlatform /All
  5. Сброс состояния WSL:

    • Если проблема не решается, вы можете попробовать сбросить состояние WSL. Это можно сделать, запустив команду:
      wsl --unregister <дистрибутив>
    • После этого повторно установите дистрибутив:
      wsl --install -d Ubuntu
  6. Обновление Windows и WSL:

    • Убедитесь, что ваша операционная система и компоненты WSL обновлены. Проверьте наличие обновлений Windows:
      Start-Process "ms-settings:windowsupdate-action" -Verb RunAs
  7. Проверка путей среды:

    • Ошибки типа Failed to translate указывают на проблемы с преобразованием путей. Проверьте переменные среды PATH для наличия неверных или недоступных записей:
      echo $env:Path
    • Убедитесь, что нет недоступных или неправильных записей. При необходимости, отредактируйте переменные среды через системные настройки.

Контрольный список для устранения неполадок

  • Убедитесь, что все необходимые компоненты и обновления установлены.
  • Попробуйте временно изменить или удалить файл /etc/fstab.
  • Проверьте права доступа к директориям, упомянутым в сообщениях об ошибках.
  • Проверьте корректность виртуализации в BIOS и настройки Hyper-V.
  • Рассмотрите возможность сброса и повторной установки WSL.

Следуя этим шагам, вы сможете устранить ошибки запуска WSL и успешно запустить вашу Linux-среду на Windows. Если проблема сохраняется, рекомендуется обратиться к поддержке Microsoft или сообществу WSL для получения дополнительной помощи.

Оцените материал
Добавить комментарий

Капча загружается...