我已在 SSD 上将 Windows 7 升级到 10 Professional,并使用命令mklink /J
行为指向 HDD 目录的游戏、Mozilla 配置文件等文件夹创建了目录连接。除 Mozilla Firefox 配置文件外,所有连接均运行良好,其链接方式如下:
Junction created for C:\Users\[USERNAME]\AppData\Roaming\Mozilla <<===>> H:\Users\[USERNAME]\AppData\Roaming\Mozilla
虽然此连接点在创建时工作正常,但它会在随机间隔内被删除。连接点要么在计算机睡眠后丢失,要么在重新启动后丢失,要么在使用计算机时随时丢失。每次我重新启动计算机或将其置于睡眠状态等时都不会发生这种情况。它似乎完全是随机的。
我也尝试了目录符号链接 ( mklink /D
),但发生了同样的情况。有趣的是,我没有遇到同一卷上其他连接点的任何问题H:
NTFS 权限没有问题,并且卷H:
是固定 HDD(不是可移动的)。
知道这是什么原因造成的吗?
答案1
便携应用程序导致删除连接点,但问题在于 Windowsrmdir
命令。根据PortableApps 论坛上的这个帖子,所有以 PortableApps 格式打包的应用程序都依赖于rmdir
删除便携式应用程序可能创建的任何剩余文件夹。rmdir
可以删除一个空文件夹,如果文件夹不为空,将会给出错误,但是当用于连接点时,它只会删除连接点本身。
便携式应用程序使用AppData\Roaming\Mozilla
文件夹,关闭时会删除连接。此类便携式应用程序包括 Seamonkey、Firefox Developer Edition、Firefox 等。
目前 PortableApps 方面似乎没有针对此问题的解决方案或解决方法。不过,有一件事可以做,以防止删除连接点。mklink /j
我们可以创建一个符号链接 ( ),mklink /d
而不是创建连接点 ( ),然后编辑符号链接上的 NTFS 权限,添加 Everyone Deny Full。我在阅读后想出了这个解决方案这个 SU 帖子。
答案2
我可以通过禁用来解决这个问题快速启动在 Windows 10 控制面板中电源选项。很难找到;在旧版控制面板的左边空白处寻找“更改电源按钮的功能”。找到后,它声称被归档到:
Control Panel > All Control Panel Items > Power Options > System Settings
需要明确的是,在 Windows 10 的最新版本中,chkdsk.exe
在某些重启情况下会触发该问题 (?)。就我的情况而言,这反过来导致我所有永久的、手动建立的跨卷 NTFS重新解析点(“目录连接”)将被删除集体。
默认设置为快速启动已更改为“已启用”创作者更新 1709,至少对于我的情况来说,这也许可以解释之前未曾见过的问题是如何产生的。参见这里了解更多信息。
似乎真实的罪魁祸首可能是chkdsk.exe
它本身,无论触发场景是“快速启动”还是其他。确实如此——并且很容易证明——chkdsk.exe
在特定 NTFS 卷上明确运行似乎完全删除了所有跨卷重新解析点。或者至少对于那些使用\\?\Volume{a6f7f7de-091e-4234-81a0-947ebba1bf3c}\
路径符号建立的重新解析点,这是我曾经使用的全部方法,因此我只能在这里报告:
创建跨卷硬链接例如
X:\foo> linkd bar \\?\Volume{ce775273-ab33-47af-8fac-1abdb60a0690}\baz
这将建立一个跨卷硬链接(“连接点”或“NTFS 重新解析点”),其中X:\foo\bar
重定向,使其等于\baz
指定卷上的目录,但每次chkdsk.exe
在源 NTFS 卷上运行时,此类链接都会被删除X: