Полностью удалить подсистему для Linux на Win10?

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

Я немного поиграл с подсистемой Linux/Bash для Win10.

Но потом я решил пока остаться с Cygwin. Поэтому я его удалил – или, как мне казалось, удалил.

Теперь я установил Cygwin и поставил его каталог bin первым в переменной PATH.

В cmd.exe , когда я ввожу bash, запускается Bash от Cygwin.

Но когда я нажимаю Win+R и ввожу bash, я все еще получаю сообщение:

Подсистема Windows для Linux не имеет установленных дистрибутивов.
…бла-бла-бла…

Как полностью избавиться от подсистемы Linux/Bash, чтобы она вместо этого использовала Bash из Cygwin из переменной PATH?

Если ваша ОС была обновлена до обновления Fall Creators, вы сможете использовать команду wslconfig.

Вы, конечно, можете сначала попробовать удалить с помощью команды lxrun /uninstall /full.

Если она все еще есть, вы можете попробовать удалить регистрацию дистрибутива:

  • Сначала вам нужно узнать, какой дистрибутив установлен, используя

    wslconfig /l
    
  • Из списка выберите дистрибутив (например, Ubuntu), который вы хотите удалить, и введите команду

    wslconfig /u Ubuntu
    

Чтобы отключить WSL, нужно зайти в

Панель управления -> программы и компоненты -> включить или отключить компоненты Windows и снять отметку с Windows Subsystem for Linux, затем нажать Сохранить. Появится диалог, показывающий прогресс удаления. Вам нужно перезагрузить ПК, чтобы завершить удаление.

скриншот шагов, описанных выше, Панель управления, затем Программы/Компоненты, затем Включить/Отключить компоненты Windows и снять отметку с Windows Subsystem for Linux

Правка – это будет работать только на Windows Server, а не на клиентской ОС.

Похожие на то, что предложил Rop, но вы также можете использовать Powershell, чтобы полностью удалить подсистему Windows для Linux, с преимуществом не искать ее в Панели управления. Обратите внимание, что для этого нужно запускать от имени администратора.

Remove-WindowsFeature Microsoft-Windows-Subsystem-Linux

Список всех доступных функций, отфильтрованных по Linux:

Get-WindowsFeature | Where-Object Name -like '*linux*' | Select-Object Name

Несколько замечаний для экспериментаторов, но для клиентской ОС Windows 10 вы можете использовать следующее:

 (Get-WindowsOptionalFeature -Online -FeatureName '*linux*') | Select-Object FeatureName

Затем:

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Или аналог:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Вы также можете использовать другие инструменты для достижения той же цели, такие как dism.exe (как показано здесь: https://evidencen.com/wsl2/)

Я объединил удаление Ubuntu-18.04

wslconfig /l 
wslconfig /u 'Ubuntu-18.04'

и с добавлением и запуском Ubuntu-20.04 из магазина Windows, чтобы снова успешно запустить WSL 2.0, который перестал работать. Я получал

[процесс завершился с кодом 4294967295] 

когда я запускал wsl 2.

Windows 10:

  • поиск: “дополнительные функции” (-> управление дополнительными функциями)
  • предпоследний элемент на странице: другие функции Windows
  • предпоследний элемент: WSL

На моем компьютере с Windows 11 выполнение wslconfig /u или удаление функции Windows не полностью удаляло WSL.

Это сработало:

wsl --uninstall

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

Чтобы полностью удалить Подсистему Windows для Linux (WSL) в Windows 10, выполните следующие шаги:

  1. Удаление установленных дистрибутивов WSL:

    • Откройте командную строку с правами администратора.
    • Введите следующую команду, чтобы просмотреть список установленных дистрибутивов:
      wslconfig /l
    • Если в списке отображается дистрибутив, который вы хотите удалить (например, Ubuntu), выполните:
      wslconfig /u <название_дистрибутива>

      Например, для удаления Ubuntu:

      wslconfig /u Ubuntu
  2. Отключение WSL через Панель управления:

    • Откройте "Панель управления" и перейдите в "Программы и компоненты".
    • Нажмите на "Включение или отключение компонентов Windows".
    • Найдите "Подсистема Windows для Linux" и снимите отметку. Сохраните изменения.
    • Процесс удаления может занять некоторое время, после чего вам потребуется перезагрузить компьютер.
  3. Использование PowerShell:

    • Откройте PowerShell с правами администратора.
    • Чтобы отключить WSL, выполните следующую команду:
      Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    • Если вы хотите проверить наличие доступных функций, фильтруя по Linux, выполните:
      Get-WindowsOptionalFeature -Online -FeatureName '*linux*' | Select-Object FeatureName
  4. Вариант использования DISM:

    • Запустите командную строку или PowerShell с правами администратора и используйте следующую команду для удаления WSL:
      dism.exe /Online /Disable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux
  5. Дополнительный шаг (если необходимо):

    • В Windows 10 и 11 можно использовать следующую команду, которая удалит все дистрибутивы и саму подсистему:
      wsl --uninstall

После выполнения этих шагов WSL будет полностью удалена из вашей системы, и при введении команды bash вы должны будете открыть Cygwin. Убедитесь, что путь к Cygwin (bin) находится в переменной окружения PATH перед попыткой запуска Cygwin.

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

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