我想从 Windows 中的 Ubuntu 子系统中删除所有与 Ubuntu 相关的文件。所以我只sudo rm -rf /*
在 Ubuntu 主目录中使用。
我使用 sudo 是因为之前有很多权限被拒绝。现在,当权限被拒绝的次数减少时,我开始收到来自 Windows 的各种其他错误,然后我意识到它也删除了 Ubuntu 之外的文件。
Ctrl现在,即使在 Windows 中,一切都变得很奇怪。我一意识到这一点,就立即用+取消了命令C,但损坏太多了。有办法解决这个问题吗?有办法撤消最后一个命令吗?
答案1
我会尽力提供帮助,但更多的是慰问。WSL/Linux 中没有“撤消”(至少没有还原点),没有回收站,以这种方式删除的文件甚至不会进入 Windows 回收站。即使有,当多个系统文件被损坏时,逐个文件修复 Windows 可能也是徒劳的。
编辑/更新: 值得检查一下 Windows 中是否有最近的系统还原点。通过选择最近的还原点,您有可能恢复到“正常”的 Windows 功能。也就是说,您的 rm
进入 Windows Program Files
和/或 ProgramData
,这也会影响第三方应用程序。
正如 @matigo 所评论的,计划从备份中恢复。如果没有可用的备份,计划重新安装 Windows 和所有应用程序。至少(假设您不能使用还原点),使用 Windows 安装程序的“修复”功能(也可以通过 F11 或其他热键启动)。但如果出于与上述相同的原因,它超出了“可修复”的范围,请不要感到惊讶。您可能需要访问另一台计算机来下载和创建Windows 10 安装介质。
您是否有任何重要的文件或 Windows 端的工作丢失了?希望它没有发展到C:\Users
(即/mnt/c/Users
在 WSL 下),但如果它发展到了(并且您没有备份),那么您应该调查一下文件恢复选项至少如果你有硬盘的话。在执行此操作之前,务必停止使用计算机,因为对驱动器的任何写入都可能覆盖您可能否则能够恢复。
在重新安装 Windows 之前,最好先备份仍存在的重要文件或文档。根据您计算机的当前状态,您可能需要创建一个救援 USB您可以从中启动并访问文件并备份它们。同样,根据您计算机的状态,您可能需要访问另一台计算机来创建可启动 USB。
你已经完成了那个“终极禁忌命令”,但是你想法由于您处于“虚拟环境”中,因此您可以安全地这样做。但 WSL 并非完全虚拟化。它的强大功能来自与 Windows 的深度互操作性,包括在 WSL 中自动安装 Windows 驱动器。强大的功能还带来了……呃,抱歉。
请注意,删除所有 WSL Ubuntu 文件的正确方法是:
通过转到“应用和功能”,选择“Ubuntu”(或从 Microsoft Store 安装的版本)并“卸载”,在 Windows 中卸载 Ubuntu 发行版。
或者,
wsl --unregister <distroname>
发行版名称可能是“Ubuntu”(但可以通过 进行wsl -l -v
确认)。不过,这仍会在“开始”菜单和“应用和功能”中留下“Ubuntu”条目,因此第一种方法更可取。
答案2
有一种方法可以解决这个问题,但通常不是在 Ubuntu 内部解决。
背景
被删除的文件实际上并没有被删除。它们只是被标记为已删除,并且它们在磁盘上占用的空间被标记为“空闲”。因此,只要您不在该空间中写入,文件在物理上仍然存在,但磁盘(以及操作系统)不知道该文件。
数据恢复
您可以使用 NTFS 恢复软件来恢复许多丢失的文件。Ubuntu 或 Windows 上都有运行这些工具。有些工具是免费的,有些则需要付费。它们在恢复数据量和恢复时间方面有很大不同。通常 Windows 原生工具效果更好,因为 NTFS 是 Microsoft 的发明,其他操作系统并不完全支持它。
经验
我使用一款名为恢复NTFS数据 1(现称为GetDataBack Pro 数据恢复看起来,我没有参与)。花了大约一天的时间搜索整个 1 TB 驱动器中的文件,又花了大约一天的时间将这些文件实际恢复到第二个驱动器。大约 85% 到 95% 的丢失数据被恢复。我尝试过的其他工具只能恢复最多 30% 到 40% 的数据。
如何恢复
尝试阻止对受影响驱动器的任何写访问,以避免“已删除”的文件被覆盖。有几种方法可以将驱动器安装为只读模式(如何在视窗或者Ubuntu),但足以不要故意在磁盘上写入在这种情况下。
- 关闭受影响驱动器的机器
- 从您的机器上移除受影响的驱动器并将其连接到另一台机器。2确保该机器不会从受影响的驱动器启动。3
- 启动另一台机器
- (可选:如上所述以只读模式安装设备)
- 运行您选择的恢复工具来分析受影响的驱动器
- 将找到的文件还原到另一个(第三个)驱动器(无论是内部还是外部)
- 将第三个驱动器中的所有所需文件复制回受影响驱动器的正确位置
这假设您想继续按原样使用受影响的驱动器。实际上,您应该跳过第 7 步,使用恢复工具仅恢复最重要的文件,然后继续完全擦除受影响的驱动器并安装新的 Windows 副本,然后继续复制恢复的数据(确保备份您需要的未删除文件)。
笔记:还有其他工具能够从 Ubuntu(本地安装或实时 USB/磁盘)中查找和恢复已删除的文件,这些工具都是免费的。当我尝试这些工具时,它们要么花了很长时间才找到文件,要么只找到了丢失文件的一小部分。YMMV
1该软件的终身许可证价格约为 80 美元,在我看来绝对物有所值。不过,您只需购买它即可真正恢复文件。您可以免费分析您的驱动器并获得一个文件树,您可以搜索以检查是否找到了您需要恢复的文件。再次强调:不隶属于任何一方,只是一个快乐的用户。
2第二台机器所需的操作系统取决于所使用的恢复软件,例如 GetDataBack 在 Windows 上运行。
3您通常可以通过按下键盘上的某个按钮来打开启动菜单,以便在机器启动时选择启动驱动器。F12
现在通常都是这样,但确切的按键可能因您的特定主板而异。请查阅手册以了解要按哪个键。您还可以通过主板的 BIOS/UEFI 设置设置永久启动顺序(设置设备检查可启动操作系统的顺序),也可以通过在启动期间按下另一个特定键(通常是DEL
)来访问。不过,该键也不同,因此请务必查看主板手册。
答案3
如果你的 Windows 安装在机械硬盘上,你可能有机会恢复文件,因为文件不会立即从机械硬盘上删除,必须先覆盖。然后你应该去数据恢复服务。但如果你的 Windows 安装在 SSD 上,那么你就完蛋了,很可能不得不重新安装 Windows,因为文件会在 SSD 上立即删除