我可以使用符号链接将 C:\Users“移动”到另一个驱动器吗?

ASt*_*her 2 windows-7 mklink

我有一块 OCZ Agility 3 64GB SSD,刚刚从 Windows 8.1 降级到 Windows 7 Professional,因为我发现当 SSD 已满时 Windows 8.1 速度太慢。

看到这是 SSD“问题”后,我将C:\UsersC:\Program Files和文件夹复制到另一个内部驱动器(我在执行此操作之前对其进行了格式化),并创建了一个符号链接,将原始文件位置链接到viaC:\Program Files(x86)上的新位置在 Windows 安装光盘上:D:\cmd

在此输入图像描述

我重新启动系统并继续登录,Windows 使用临时配置文件登录,这实际上意味着符号链接无法正常工作。

我通过打开 的符号链接进行检查C:\Program Files,并且打开了适当的文件夹D:\

在此输入图像描述

我做了更多测试,看来 Windows 没有获得打开符号链接所需的适当权限。我尝试更改此设置,但出现“找不到文件”错误:

在此输入图像描述

发现了这个问题,但事实证明它cmd也不再有效,这很奇怪,因为我从未接触过C:\Windows,这意味着我无法测试hardlink解决方案:

在此输入图像描述

我的问题是,实际上是否可以使用mklinkand C:\UsersC:\Program Files以及 x86 版本)将它们指向另一个驱动器上的新位置?如果没有,我怎样才能在另一个驱动器上拥有C:\UsersC:\Program Files、 和C:\Program Files(x86)而不会让 Windows 崩溃?

编辑C:\Windows\System32\cmd.exe在这里!这是怎么回事?? 在此输入图像描述

Jon*_*nah 5

我知道“用户”有效。众所周知,其他两个目录在移动时会引起问题。您最好的选择是始终将新软件安装到辅助驱动器上。但是,您可以为程序文件文件夹内的每个文件夹创建单独的连接点(见下文)。

对于 Windows 使用的目录,您需要使用 NTFS 连接点。这意味着 Windows 将连接点(快捷方式)视为它所引用的实际目录,这意味着您的数据将位于其他位置,但您的程序不会看到任何差异。创建它们的命令是:

mklink -j path/to/new/link /path/to/linked/folder
Run Code Online (Sandbox Code Playgroud)

这要求在创建链接之前移动或重命名原始文件夹。

您还需要通过管理员帐户执行此操作,以便在您移动文件时不会使用任何文件。

另一种方法(以及我对 SSD 设置所做的操作)是更改 Windows 放置 Users 文件夹的位置。您可以通过将注册表值更改HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ProfilesDirectory为新用户文件夹的路径来完成此操作。执行此操作后,我将用户配置文件文件夹重命名为Jonah_,重新启动计算机,登录管理员帐户并删除我的用户帐户。然后,我使用完全相同的凭据创建了一个帐户并登录。登录一次后,我回到管理员帐户,删除了Jonah用户目录中的新文件夹并将其重命名Jonah_Jonah. 运气好的话,重新启动后,我可以登录到我的旧帐户,并且我的所有设置和文件都在那里。

至于丢失cmd的问题,系统修复光盘似乎是一个有效的选择。