只是出于好奇,在 WSL 中运行后会发生什么sudo rm -rf /mnt/c/*
(适用于 Linux 的 Windows 子系统)?它会删除我电脑中的整个 C 盘吗?WSL 会继续工作吗?如果会sudo rm -rf /*
,它会删除/mnt
文件夹吗?
答案1
sudo rm -rf /mnt/c/*
在 wsl 中运行后会发生什么是否
sudo rm -rf /*
会删除/mnt
文件夹
两者都是类似的情况。
不,它不会删除整个驱动器,但仍会造成严重损害(正如@DanielB也指出)。看看(和怜悯)Ask Ubuntu 上的这个问题,用户无意中执行了您所要求的操作。
我开始收到 Windows 的各种其他错误
现在,即使在 Windows 中,一切都运行得很奇怪...太多东西被损坏了。
虽然 中的文件C:\Windows
会受到保护以免被删除,但%userprofile%
( C:\Users\<youruser>
) 中的文件则不会,其中包括:
大多数已安装应用程序的本地和远程设置,包括:
- 您的“开始”菜单 (
%appdata%\Microsoft\Windows\Start Menu
) - 您的浏览器设置、cookies、保存的密码等。
- 讽刺的是,从商店安装的 WSL 发行版 (
%localappdata%\Packages\<distro_package\
) - 您的桌面。
- 等等等等。
- 您的“开始”菜单 (
文档、图片、下载、音乐等。
存储在 OneDrive 上的文件,通常位于
%userprofile%\OneDrive
。请注意,此处删除的文件会进入 OneDrive 回收站,与通过 WSL 删除的普通文件不同。
简而言之,这将是灾难性的。Windows 应该仍然可以启动,但您需要创建一个新用户才能恢复。
但是,如果您在 UAC 提升的(管理)控制台中运行 WSL,则损害会更严重。它仍然无法删除正在使用的文件,但它会擦除足够多的/mnt/c/Windows
/C:\Windows
以使其无法启动。
答案2
在 WSL 中拥有 root 权限并不意味着您是 Windows 上的管理员。因此,它不会删除整个 C:。但是,它可能会删除足够多的共享文件和/或您用户配置文件中的内容,从而造成相当大的损害。您仍然可以删除那里的很多内容。
这可能会导致您无法再登录,或者您安装的某些软件出现故障。
受保护的文件会发生以下情况:
daniel@db-d-18:/mnt/c/Program Files/Firefox Developer Edition$ sudo rm install.log
rm: cannot remove 'install.log': Permission denied
当然,你完全可以通过这种方式破坏你的 WSL 发行版。