Bash на Windows / Windows Subsytem для Linux (WSL) не устанавливается правильно / зависает

11

Я получил юбилейное обновление Windows и попытался установить Bash. Я запустил bash из командной строки (не в режиме администратора), и он застрял при попытке извлечь файлы. Я закрыл окно и попытался сделать то же самое с повышенными привилегиями (командная строка запускается от имени администратора ).

Но теперь, когда я вхожу в bash, он застревает там и не запускается или не просит меня установить bash. Я мог видеть процесс bash, потребляющий 25% процессора в фоновом режиме.

Когда я пытаюсь удалить bash lxrun /uninstall /full, он не удаляется:

C: \ WINDOWS \ system32> lxrun / uninstall / full
Это приведет к удалению Ubuntu в Windows.

Это удалит среду Ubuntu, а также любые изменения, новые приложения и пользовательские данные.

Для продолжения введите «y»: y

Удаление ...

Ошибка: 0x80080005

Как я могу сбросить подсистему Linux для Windows 10?

РЕДАКТИРОВАТЬ : также попробовал варианты, упомянутые здесь Microsoft.

Также проверьте эту проблему. Bash некоторое время ничего не делает, затем выходит

Вивек Виджаян
источник
Как долго вы на самом деле ждали его (не) установки?
Гроностай
Я ждал около 30 минут.
Вивек Виджаян
В качестве альтернативы вы можете перейти к включению или отключению функций Windows и снять флажок подсистемы Windows для Linux (бета-версия), а затем перезагрузить. После этого снова включите тот же флажок и перезапустите снова. На моей машине я не смог запустить lxrun.
kleinfreund
Я попробовал все это! Я думаю, что это широко освещаемая проблема
Вивек Виджаян
@VivekVijayan - вступить во владение и %localappdata%\lxssзатем удалить его. Затем вы можете использовать lxrun /installдля установки Ubuntu on Windowsснова. Это предполагает, что у вас включен режим разработчика и вы уже добавили (Windows Linux Subsystem) функцию Windows.
Ramhound

Ответы:

5

Сначала у меня были проблемы с удалением неудачной установки и удалением папки lxss. После того, как я успешно очистил установку, я начал свои попытки переустановки, но возникла более ранняя проблема с установкой. Процесс застревает Извлечение файловой системы ... как сообщается здесь .

После нескольких дней проб и ошибок я, кажется, нашел причину этой агонии. В моем случае (и, как сообщают многие другие здесь ), это антивирус, являющийся спойлером. Отключение антивируса и перезапуск, кажется, делают это для меня. Как бы глупо это не звучало, антивирус был основной причиной боли иError: 0x80080005

Теперь для тех, у кого все еще есть эта ошибка, это должно помочь, если вы попытаетесь сделать следующие вещи по порядку:

  1. Отключить антивирус и перезапустить его (вы можете включить его после завершения установки)
  2. Откройте командную строку или Windows PowerShell от имени администратора
  3. Удалите WSL, выполнив следующую команду lxrun /uninstall /full
  4. Теперь остановите службу WSL - sc stop lxssmanager
  5. Удалить папки данных приложения rmdir /S %LOCALAPPDATA%\lxss. Убедитесь, что папки были удалены. Вам может потребоваться изменить владельца, чтобы удалить папку, если вы получаете какие - либо ошибки в доступе .
  6. После удаления папок попробуйте снова установить WSL, запустив lxrun /install /y
  7. Подождите, пока он загрузится из Магазина Windows и извлечет файлы. (Вы можете проверить, %LOCALAPPDATA%\lxss\rootfsбыли ли файлы извлечены).
  8. Надеюсь, вы не должны получить на Error: 0x80080005этот раз.
  9. Наслаждайтесь Bash на Windows !

РЕДАКТИРОВАТЬ : Другая причина ошибки определяется как ошибка, когда у вас есть несколько файлов подкачки . Это будет исправлено в будущем, но сейчас удалите другие файлы подкачки и оставьте только один файл подкачки. Это должно это исправить.

Более подробная информация для заинтересованных:

« Из-за вашего файла трассировки я обнаружил ошибку в коде установки, который вычисляет размер файла подкачки. Эта функция используется как системным вызовом sysinfo, так и генерацией содержимого / proc / meminfo. Эта проблема произойдет, если у вас есть Несколько файлов подкачки на вашем компьютере. В результате этой ошибки могут произойти три различных результата: Размер файла подкачки будет сообщен неверно. Наш драйвер разыменует неверный адрес памяти и вызовет синий экран. Машина вычислит бесконечный цикл при вычислении Размер файла подкачки (это тот, который вы видите). В качестве временного обходного пути, если вы удалите все, кроме одного из ваших файлов подкачки, вы сможете использовать WSL. Я сейчас пишу исправление для этого ».

Ссылка: Bash на Ubuntu для Windows

Вивек Виджаян
источник
Спасибо, это помогло мне. У меня был запущен Защитник Windows, и мне нужно было только выполнить 1-3 и 6-9, то есть мне не нужно было останавливать службу или что-либо удалять.
Том Эллис
Рад был помочь. В некоторых случаях служба WSL препятствует чистому удалению установочных файлов. Рад, что тебе не пришлось пройти через все это.
Вивек Виджаян