我怎样才能正确删除混乱的 Windows.old 文件夹?

我怎样才能正确删除混乱的 Windows.old 文件夹?

我知道这个问题以前有人问过,但我的情况非常不同。请允许我解释一下。

我正在运行 Windows 10。我双启动 Linux。我从 Linux 中删除了我的 Windows.old.. 呃.. 但这不是永久删除。所以它被移到了垃圾箱。

当然,我没有办法通过磁盘清理实用程序来清理它。

我可以尝试另一种选择,即取得所有权然后删除,但我注意到了一些事情。

那里的文件实际上是到当前安装的窗口的硬链接。示例。

fsutil hardlink list C:\Windows\Fonts\arial.ttf  

\Windows\WinSxS\amd64_microsoft-windows-font-truetype-arial_31bf3856ad364e35_10.0.15063.0_none_83974968e629cd54\arial.ttf
\.Trash-999\expunged\138177440\WINDOWS\Fonts\arial.ttf
\.Trash-999\expunged\138177440\WINDOWS\WinSxS\amd64_microsoft-windows-font-truetype-arial_31bf3856ad364e35_10.0.15063.0_none_83974968e629cd54\arial.ttf
\Windows\Fonts\arial.ttf

我之前曾使用过重置此电脑。(设置 > 恢复 > 重置此电脑)

所以我猜测当 Windows 通过这种方式重新安装时它实际上并没有复制新文件...只是更改了指向它的磁盘指针......(即硬链接)

通过取得所有权删除 .Trash-999 文件夹安全吗?我该如何删除此文件夹?

更新:正如评论中指出的那样,我刚刚再次尝试从 Linux 中删除它们。但是我收到了这个错误。

rm: cannot remove '.Trash-999/expunged/138177440/Prog..: Input/output error

而且我似乎无法从 Linux 读取这些文件。

cat /run/media/cswl/windrv/Windows/Fonts/arial.ttf
cat: /run/media/cswl/windrv/Windows/Fonts/arial.ttf: Input/output error

答案1

即使使用执行命令运行我无法从 Windows.old 中删除文件

只需将文件夹重命名为 Windows.old 并使用磁盘清理程序清理以前安装的 Windows 就足够了。我怎么没早点想到这个呢。

但是,即使使用磁盘清理,Cortona 中的一些文件仍然无法删除。所以我只是从 Linux 中删除了它们。

我仍然收到 Windows 目录中某些文件的 I/O 错误,但我想这应该是另一个问题。

答案2

我不能肯定地说,但考虑到硬链接的行为,应该没问题。只要在其他地方仍有指向该文件的有效链接,该文件就会保留在磁盘上。

我认为你问题的核心在于从 Linux 删除 Windows 的 NTFS 硬链接是否会以某种方式删除所有硬链接并破坏你的 Windows 系统。因为硬链接是底层文件系统本身的一个功能,所以应该没问题。Windows 不会跟踪硬链接——那是文件系统的工作。

请注意,当谈到数据时,我总是用“应该”发生什么来表达。但数据就是数据,总是存在出错的风险。

参见此处,上周我并没有做任何特别不寻常的事情,但却损坏了一个 NTFS 卷:如何诊断和修复此 NTFS 卷

相关内容