您可以像重新映射“我的文档”一样重新映射“C:\Program Files”吗?

您可以像重新映射“我的文档”一样重新映射“C:\Program Files”吗?

我不确定这是否可能,但我希望你们能知道一种方法!

我将重新安装 Windows XP,主 IDE 是一个较小的 10 GB 驱动器。

我很确定,如果我尝试将所有程序重新安装到 C:\ 驱动器,它们将无法全部容纳。

是否可以让我的 Program Files 目录指向我的一个较大驱动器上的分区,这样我的某些程序就不会放在 C:\ 上,而其他程序则放在 D:\、E:\ 等上?

答案1

如果您希望在安装过程中设置这些文件夹,则必须使用有人值守的安装。UNATTEND.TXT 是一个 INI 文件,其中包含 Windows XP 的无人值守安装设置。具体来说,要将系统文件夹设置为非默认位置,您需要将其添加到您的 UNATTEND.TXT 中:

[Unattended]
CommonProgramFilesDir="D:\Programs\Common Files"
ProgramFilesDir=D:\Programs
TargetPath=\WINDOWS

[GuiUnattended]
ProfilesDir=C:\Users

此站点是创建 Windows XP 无人值守安装的绝佳参考:unattended.msfn.org/unattended.xp/

可以在 Microsoft 下载站点 microsoft.com/downloads 中的 Windows XP 部署工具中找到更多参考资料

答案2

人们通常使用符号链接来实现这一点。这个过程大致如下:

  • 创建可启动的 Windows Live CD(bart PE 或类似产品),其中装有 Sysinternals Junction 实用程序:http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx
  • 启动 CD
  • 将程序文件目录从 C:\ 移动到你想要的任何位置
  • 创建从 C:\Program Files 到新位置的符号链接
  • 重新启动进入 Windows,一切都应该很好

答案3

我已经这样做过几次了(在我的例子中,将“Program Files”移动到 D:\Program Files)。这很棘手,但可以做到。我首先想到的是:

  1. 使用 NTBackup 备份你的 Program Files 目录
  2. 在所选分区上恢复该备份(例如,D:\Program Files)
  3. 进入注册表并更改 [HKLM\Software\Microsoft\Windows\CurrentVersion]:ProgramFilesDir 和 CommonFilesDir 以反映新位置。
  4. 重启
  5. 确保一切正常
  6. 使用 psexec 之类的工具检查任何进程是否在 C:\Program Files (x86) 中打开了文件,停止该进程或关闭它们。
  7. 将旧的 Program Files 重命名为其他名称。
  8. 使用 linkd 在 C:\Program Files 上创建 D:\Program Files 的符号链接,以便适应在其存储文件路径中使用“C:\Program Files”而不是“%Program Files%”的程序。

替代方法稍微简单一些......

  1. 使用 NTBackup 备份你的 Program Files 目录
  2. 在所选分区 (D:) 上恢复该备份
  3. 创建新目录 C:\Program Files2
  4. 使用磁盘管理器将 D:\ 多重挂载到 C:\Program Files2
  5. 关闭所有你能找到的程序
  6. 尝试将 Program Files 重命名为其他名称
  7. 将 Program Files2 重命名为 Program Files
  8. 重启

我只在新安装的系统上尝试过这个。我还没有在有一年垃圾的系统上做过这个。我不确定它是否能正常工作。

答案4

不支持将 ProgramFiles 放置在系统驱动器以外的任何地方。

就此而言,既不会重新定位用户文件夹;尽管您可以在安装时通过 unattend.xml 文件指定其他位置:

Stephen Lodwick [MSFT] 于 2009 年 1 月 13 日星期二晚上 11:59 说

Windows Vista/7 不支持重新定位“Program Files”目录。目前尚未计划此功能。

通过 unattend.xml(“ProfilesDirectory”设置)支持“用户”文件夹的重新定位。

为什么“Program Files”重定向不受支持而“Users”却受支持?这可不只是让人沮丧。:) 当服务组件处于重定向位置时,我们遇到了许多技术障碍。我们认为,如果不进行重大的设计更改,安装程序将无法重定向文件夹,否则会导致数据丢失和无法服务的图像。

感谢您的反馈!

Stephen Lodwick [MSFT]

相关内容