使用连接并将回收站移至正确的分区

使用连接并将回收站移至正确的分区

我在运行 Windows XP 的 PC 上有两个分区:
C:系统分区
D:数据分区

通常每个用户都会在

C:\Documents and Settings\<user>

但是我已将用户配置文件移至 D: 分区,并使用 sysinternals 的连接工具将它们链接到旧位置:

D:\<user>
junction "D:\<user>" "C:\Documents and Settings\<user>"

一切都运行良好,但唯一令人讨厌的是回收站:
当用户删除文件(物理上位于 D:\user 中的某个位置)时,该文件将移动到 C: 驱动器上的回收站,这实际上是有道理的,因为 Windows 仍然认为它位于“C:\Documents and Settings\user”中的某个位置。但这意味着删除文件可能需要很长时间。
那么我该如何告诉 Windows 改为使用 D: 分区上的回收站呢?

我希望你能理解这个问题。

答案1

无法移动回收站。

另外,将回收站移动到另一个驱动器会对性能产生一些不利影响。

答案2

我遇到了类似的问题(在 Win10 上):SSD 系统驱动器、HDD 数据驱动器、连接工作、删除回收站没问题,但是恢复当从符号链接路径内部触发删除时(例如),回收站中的东西导致了复制操作C:\Users\me\junction-to-d\foo

可以通过进入Disk Management Console,删除驱动器号(D:\)并添加挂载点(例如C:\data)来解决此问题。仅添加挂载点是不够的,分区根本不允许有驱动器号。

为什么会发生这种情况:回收站视图有一列Original Location,并且还知道文件的实际位置(驱动器号)。如果驱动器号和Original Location不同(例如,因为文件是从符号链接/连接点内部删除的),则恢复操作将执行复制操作。如果仅通过系统驱动器上的挂载点访问分区,则不会发生冲突,并执行通常的快速恢复。

TL;DR:完全放弃D:\可以C:\d-drive解决问题,并且还有一个额外的好处,就是使 Windows 更加像 Unix,因为不需要在控制台中切换驱动器号。

编辑:这就是为什么我们不能拥有美好的事物......没有驱动器号的任何东西都不支持文件索引。在 Windows 中跨挂载点进行索引

相关内容