![Windows 10 mklink Program Files 文件夹](https://linux22.com/image/1498955/Windows%2010%20mklink%20Program%20Files%20%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我想使用 mklink 命令创建一个符号链接,这样当我需要重新安装操作系统时(这种情况经常发生(今天早上也发生过)),我只需要格式化安装 Windows 10 的分区。我的想法是创建几个符号链接:Program Files、Program Files (x86)、Program Data 和 AppData。每个链接都将链接到不同分区上的相应文件夹。我注意到的问题是,弄乱这些文件夹可能不是一个好主意,而且效果不太好。
当然,我可以为 Program Files 内部的文件夹创建链接,但整个文件夹怎么办?然后,将所有现有文件移动到它们链接到的分区?
有办法吗?有风险吗?既然这可能不是一个好方法,有没有更好的方法?
我想如果我创建更多的分区,我就可以安装驱动器,但我不知道结果会如何。
我搜索了一段时间,所以我很确定这不是一个好主意,因为我没有看到任何人这样做,但还有其他选择吗?并非所有程序都为我提供自定义安装目录的选项。
答案1
如果您这样做,我只是想提供一些背景信息。
不要这样做。Windows 10 将破坏任何 MS 产品,并且无法再更新。
我能够获得正确的符号链接(您需要创建链接、启动到 Linux、删除程序文件文件夹并将其替换为链接文件夹、启动回 Windows 并恢复所有权限)。虽然它适用于 99% 的东西,但是每个 MS 产品都无法启动或运行,因为它们定义目录的方式存在问题。您可以转到它说不存在的目录并目视检查它,但是 MS 使用的底层服务中的某些东西不允许他们的软件驻留在已符号链接到的文件夹中。(它甚至会破坏在 UWP 中运行的任何应用程序)。
迄今为止已知受影响的程序
Windows 更新程序
任何 UWP(微软商店、任何默认 Windows 10 应用程序(计算器、地图、Skypes))
整个 Microsoft Office
任何使用 DCOM 的东西
我认为问题已经缩小到与 Windows 的初始启动有关,从事件日志来看,它显示在加载符号链接指向的硬盘之前初始化依赖 DCOM 的服务时出现问题。这显示了文件未找到的错误。所以此时我猜是因为在验证目标驱动器之前尝试启动这些程序/服务,导致整个系统崩溃。
还有大量与 TFS 服务有关的重复错误,这暗示由于上述问题,Windows 10 的本地数据库未正确初始化。
TLDR:不要尝试这样做。