![如何彻底重置 Windows 上的 bash shell?](https://linux22.com/image/1549963/%E5%A6%82%E4%BD%95%E5%BD%BB%E5%BA%95%E9%87%8D%E7%BD%AE%20Windows%20%E4%B8%8A%E7%9A%84%20bash%20shell%EF%BC%9F.png)
我是 Unix 新手,但对学习很感兴趣,所以开始尝试在 Windows 上使用 bash/Ubuntu。不幸的是,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
夹)。
在这里和其他地方寻找解决方案后,我尝试过:
- 使用 从 Windows 中完全卸载 Ubuntu\bash
lxrun.exe /uninstall full
。 - 如上所述,结合禁用和重新启用 Windows Subsystem for Linux(测试版)功能。
-
在 bash 中运行:
apt-get remove upstart
,,apt-get remove udev
。apt-get autoremove
不幸的是,以上方法都无法解决问题。有人能建议一种执行完全“恢复出厂设置”的方法吗?
答案1
在这里和其他地方寻找解决方案后,我尝试过:
- 使用 lxrun.exe /uninstall full 从 Windows 中彻底卸载 Ubuntu\bash。
- 如上所述,结合禁用和重新启用 Windows Subsystem for Linux(测试版)功能。
- 在 bash 中运行:apt-get remove upstart、apt-get remove udev、apt-get autoremove。
lxrun.exe 不应该在当前版本的 WSL 上运行。我很难相信您已经安装了,Windows Subsystem for Linux (Beta)
因为正确的功能将在 Windows 10 版本 1709 上列出。Windows Subsystem for Linux
您的第三个解决方案不会重置任何 WSL 环境。
lxrun 和 bash.exe 以及相关工具在 Fall Creators Update 中已被弃用。
我知道您正在运行 1709 的唯一原因是由于该UbuntuonWindows_79rhkp1fndgsc
文件夹的存在。
我似乎有一个 %localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc 文件夹,它显然是 Linux 根目录的新位置,但它并不完整(即不包含 ...\LocalState\rootfs 文件夹)。
它不应该包含该文件夹。
我没有 %localappdata%\lxss 文件夹(我很确定这是 Linux 根目录的原始位置)。
这是旧版 WSL 的位置。它不再位于此处,并且用于重置环境的旧方法不适用于 Windows 10 版本 1709+ 上的当前版 WSL
我在我的回答。
以下答案仅适用于 Windows 10 1703 和 1607 上的 WSL。Windows 10 1709+ 上的 WSL 可以从 Windows Store UWP 应用程序内安装。
至于您的实际问题......
不幸的是,以上方法都无法解决问题。有人能建议一种完全“恢复出厂设置”的方法吗?
只需运行命令:
wslconfig /unregister Ubuntu
此外,
wslconfig /unregister
从 WSL 中取消注册该发行版,以便可以重新安装或清理。警告:一旦取消注册,与该发行版相关的所有数据、设置和软件都将永久丢失。从商店重新安装将安装该发行版的全新副本。
一旦运行该命令,您将必须通过 Windows 应用商店重新安装 Ubuntu。
虽然可以通过 Windows 商店安装 Linux 发行版,但无法通过商店卸载。WSL Config 允许取消注册/卸载发行版。