Як можна повністю скинути оболонку bash на Window?


2

Я новачок в Unix, але зацікавлений вчитися, тому почав намагатися використовувати bash / Ubuntu в Windows. На жаль, bash вийшов з ладу, і тепер bash / Ubuntu, здається, порушено, оскільки більшість папок відсутня у кореневій папці Ubuntu, тобто:

root@Desktop:~# ls
root@Desktop:~# cd /root
root@Desktop:~# ls
root@Desktop:~# ls -a
.  ..  .bashrc  .profile

У мене немає %localappdata%\lxssпапки (я майже впевнений, що саме тут був корінь Linux). У мене, схоже, є %localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgscпапка, яка, очевидно, є новим місцем для кореня Linux, але вона не є повною (тобто не містить ...\LocalState\rootfsпапки).

Після пошуку рішень тут і деінде я спробував:

  • Повністю видаліть Ubuntu \ bash з Windows з lxrun.exe /uninstall full.
  • Як зазначено вище, в поєднанні з відключенням та повторним включенням функції підсистеми Windows для Linux (бета) також.
  • Запуск: apt-get remove upstart, apt-get remove udev, apt-get autoremove в Баш.

На жаль, жодне з перерахованого вище не вирішило проблему. Чи може хтось запропонувати спосіб виконати повне "скидання на завод"?


bash - програма. Він може працювати, наприклад, у cmd.exeвікні (якщо у вас він створений як виконуваний файл Windows). Ubuntu - це дистрибутив Linux - який побудований навколо ядра Linux, який працює на «голому металі» - не як програма Windows. Тож не зовсім зрозуміло, що ви маєте на увазі, коли ви пишете, що "база / Ubuntu" порушена.
einpoklum

1
Яку версію ви намагаєтеся запустити: бета-версія з опцій розробника чи офіційний реліз із магазину Windows, доступний із оновленням 1709? Якщо ви обидва встановили, то я можу уявити, що установка заплутається. Переконайтесь, що обидві не видалено, а потім перевстановіть потрібну версію. Зауважте, що не rootдомашньо мати лише кілька файлів у домашньому каталозі: ls /покаже, чи є у вас розумна структура каталогів.
AFH

Ви пробуєте рішення для старого (бета) WSL. Вам потрібно використовувати команди для поточної версії WSL, яка працює лише на 1709. Для скидання WSL на Windows 10 версії 1709 вам потрібно видалити Ubuntu з магазину Windows, а потім просто встановити його знову з магазину Windows.
Рамхаунд

Якщо у вас немає запущеної версії Windows 10 версії 1709, оновіть своє запитання за допомогою скріншота виводу winver, не забудьте видалити будь-яку ліцензію чи PPI.
Рамхаунд

Привіт @Ramhound. Думаю, ви правильні, дякую - проблема, мабуть, виникла з моєї плутанини між старою (бета) WSL, яку я працював, та WSL в Windows 10 версії 1709, яку я запускаю.
Роберт

Відповіді:


0

Після пошуку рішень тут і деінде я спробував:

  • Повністю видаліть Ubuntu \ bash з Windows із повною lxrun.exe / uninstall.
  • Як зазначено вище, в поєднанні з відключенням та повторним включенням функції підсистеми Windows для Linux (бета) також.
  • Запуск: apt-get Remove upstart, apt-get remove udev, apt-get autoremove in bash.

lxrun.exe не повинен працювати на поточній версії WSL. Мені важко повірити, що ти встановив, Windows Subsystem for Linux (Beta)оскільки правильна функція буде вказана як Windows Subsystem for Linuxу Windows 10 версії 1709. Третє рішення не скине жодне середовище WSL.

lxrun і bash.exe та пов'язані з ними інструменти застаріли в Оновлення Fall Creators.

Єдина причина, з якої я знаю, що ви працюєте з 1709, - це існування UbuntuonWindows_79rhkp1fndgscпапки.

У мене, здається, є папка% localappdata% \ Packages \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc, яка, очевидно, є новим місцем для кореня Linux, але вона не є повною (тобто не містить папки ... \ LocalState \ rootfs).

Він не повинен містити цю папку.

У мене немає папки% localappdata% \ lxss (я впевнений, що тут був оригінальний корінь Linux).

Це місце застарілої версії WSL. Він більше не розташований там, і застарілий метод, який використовується для скидання середовища, не працює для поточної версії WSL для Windows 10 версії 1709+

Я спеціально це сказав у своїй відповіді .

Наступна відповідь стосується лише WSL для Windows 10 1703 та 1607. WSL для Windows 10 1709+ можна встановити з програми UWP для Windows Store.

Що стосується вашого актуального питання ...

На жаль, жодне з перерахованого вище не вирішило проблему. Чи може хтось запропонувати спосіб заповнити повний «заводський скидання»?

Просто запустіть команду:

wslconfig /unregister Ubuntu

Крім того, wslconfig /unregisterскасовує реєстрацію дистрибутива з WSL, щоб його можна було перевстановити чи очистити.

Обережно : після реєстрації всі дані, налаштування та програмне забезпечення, пов’язані з цим розповсюдженням, будуть назавжди втрачені. Перевстановлення з магазину встановить чисту копію дистрибутива.

Після запуску цієї команди вам доведеться перевстановити Ubuntu через Windows Store.

Хоча дистрибутиви Linux можна встановити через магазин Windows, їх неможливо видалити через магазин. WSL Config дозволяє незареєструвати / видаляти дистрибутиви.

Керуйте декількома дистрибутивами Linux у WSL

Довідка на команду

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.