我有一个 SSD 作为我的主要 Windows 驱动器,带有一个 640GB 2.5 英寸 HDD,分区用于存储程序和用户设置,也可用作备份(这是我构建 PC 时唯一闲置的东西)。
问题是,无论何时我安装程序,它都会安装到C:\Program Files [(x86 for the 32 bit programs]\
,尽管我已经更改了环境变量。这通常不是问题,但是每个安装程序都会将其快捷方式指向我的 640GB 硬盘。
两个驱动器的根目录布局:
澄清:
- 程序文件安装到 C:\
- 程序快捷方式始终指向 Z:\,我的 640GB 硬盘
修改相关的环境变量没有任何作用,我看了一下这,但是它只谈到修改注册表和环境变量,我已经这样做了。
如果安装程序允许我更改安装路径,我会安装到 Z:\ 驱动器,但是安装程序有时不允许我更改此路径。
有什么办法可以强制每一个程序安装到 Z:\ 上的相关位置,但同时移动当前是否有任何程序安装在新位置?也许我遗漏了什么?
我的目标是每一个程序安装于Z:/
,仅运行核心Windows操作系统C:/
。
成立这个程序;在我的情况下使用是否合适?我可以将整个 Program Files(及其 x86 版本)移动到 Z:\,而不会影响性能。*
答案1
系统文件夹重定位
有什么办法可以强制每一个程序是否安装到[不同驱动器或分区]上的相关位置?
是的。记住这是未得到官方支持,并可能导致不良的副作用:
通过将用户配置文件目录或程序数据文件夹的默认位置更改为系统卷以外的卷,您将无法维护 Windows 安装。任何更新、修复或服务包都无法应用于安装。我们建议您不要更改用户配置文件目录或程序数据文件夹的位置。
来源:将用户目录和 ProgramData 目录重新定位到包含 Windows 目录的驱动器以外的驱动器
Windows 8 不支持重新定位“Users”、“ProgramData”或“Program Files”目录,并且会阻止操作系统升级。
还:
Microsoft 不支持通过修改程序文件目录注册表值。如果更改 Program Files 文件夹的位置,则可能会遇到某些 Microsoft 程序或某些软件更新的问题。
来源:Microsoft 不支持通过修改 ProgramFilesDir 注册表值来更改 Program Files 文件夹的位置
如果您理解这一点并且仍想继续,请确保目标为 NTFS 格式,并且有足够的可用空间。然后按照以下步骤操作:
选择修复你的计算机选项通过高级启动选项在 Windows 启动前按 F8 键即可。如果该选项不可用,则需要使用 Windows 安装光盘进行启动。
打开命令提示符(也可以按Shift+ F10),然后通过键入以下命令并按 来检索与系统驱动器关联的字母Enter。
wmic logicaldisk get caption,filesystem,size,volumename
如果尚不存在,请创建目标文件夹。将下面的路径替换为正确的位置。
md "X:\Program Files"
将原始文件夹中的所有数据复制到新文件夹中。将其替换
D:
为您在步骤 2 中获得的系统驱动器号,然后验证所有文件是否已成功复制。robocopy "D:\Program Files" "X:\Program Files" /copyall /xj /r:3 /w:10
将原始文件夹重命名为其他名称,例如
Program Files.old
。ren "D:\Program Files" "Program Files.old"
创建目录连接点指向新文件夹位置,根据需要调整字母。
mklink /j "D:\Program Files" "X:\Program Files"
笔记如果文件夹未按照步骤 5 重命名,则命令将失败。
对要重新定位的任何其他文件夹重复步骤 3-6。完成后,重新启动 Windows。确保一切正常,然后删除文件
.old
夹。