如何在 20GB SSD 上仅拥有 Windows 文件夹?

如何在 20GB SSD 上仅拥有 Windows 文件夹?

我知道在多个驱动器上安装 Linux 非常容易,但在 Windows 上,我从未见过这种情况。我想从 20GB SSD 启动,并将其他所有内容放在 1TB HDD 上。它看起来像这样:

C:\
Windows

D:\
Program Files
Program Files (x86)
ProgramData
Users

另一种方法是将除 Windows 文件夹之外的所有内容都使用挂载点,但我不知道这是否可行。这将是我的首选解决方案,因为它最接近 Linux 的解决方案。

C:\ [SSD]
Windows
Program Files [MOUNT POINT HDD]
Program Files (x86) [MOUNT POINT HDD]
ProgramData [MOUNT POINT HDD]
Users [MOUNT POINT HDD]

问题是:如何做?

我希望它足够稳定,可以安装在家用电脑上供日常使用。

我羡慕的Linux的简单解决方案:如何从 SSD 启动但安装和主文件夹在 HDD 上

有关注册表的相关文章:https://support.microsoft.com/en-ca/kb/933700

与 连接点 相关的条目:https://en.wikipedia.org/wiki/NTFS_junction_point

有关挂载点的相关文章:https://support.microsoft.com/en-ca/kb/280297

答案1

按照以下指南将相应的文件夹迁移到另一个驱动器:

警告:请阅读此内容文章了解为什么如果您计划升级操作系统,移动用户配置文件可能会带来威胁...更多信息如下:

  • ‘用户’文件夹

此步骤中有两件事很重要:1) 您必须使用正确的驱动器号,2) 您必须使用准确的 robocopy 选项。如果您搞砸了 1),您将无法登录,如果您搞砸了 2),那么您可能可以登录,但会遇到其他问题。

执行以下操作将 C:\Users 复制到 D:\Users。再次记住驱动器号已重新映射:

X:> D
:> robocopy /copyall /mir /xj 用户 E:\Users

如果源中不存在文件,/mir 选项将删除目标中的所有文件。因此,如果您已经有 D:\Users 并且想要保留这些文件,请使用 /E 选项:

D:> robocopy /copyall /E /xj 用户 E:\Users

再次强调,这里的 D: 实际上是 C:,而 E: 实际上是 D:。在 robocopy 选项中,如果您遗漏了 /copyall,则它不会复制权限信息,并且登录后您的 Windwos 8 应用程序将在启动时崩溃。确保在 robocopy 结果输出中失败列为 0。

确认没有错误后,执行以下操作删除原始 C:\Users 目录:

D:> rmdir /S /Q 用户

创建符号链接
这是最后一步,在 C:\Users 创建指向 D:\Users 的符号链接。这里再次提到驱动器号。由于符号链接将在实际的 Windows 会话中使用,因此您必须使用实际的驱动器号D:作为目标。因此,您最终在 D:\Users(命令提示符字母 - 实际上是 C:)创建了一个符号链接,其目标也是 D:\Users。由于您已经在 D:,请使用以下命令以免造成混淆:

D:> mklink /J 用户 D:\用户

为用户创建的连接点 <<===>> D:\Users
我没有尝试过其他选项,但似乎如果您不使用 /J(连接点)选项,您将不得不进行注册表破解。

你可以使用 dir 命令验证链接。你将看到:

<JUNCTION> Users [D:\Users]

无论如何,就是这样。退出并重新启动(选择继续使用 Windows 8)后,您将能够登录,打开资源管理器后,您将看到 C:\Users 是一个指向 D:\Users 的符号链接。:

D:> 退出

  • '程序文件

如何移动 Program Files 文件夹 即使您有 128GB 的​​ SSD,很快它也会塞满应用程序。此时,将它们安装到其他硬盘上已经太晚了,除非您想逐个卸载并重新安装程序。 可以将 C:\Program Files 文件夹移动到其他硬盘,但我们不建议这样做,因为该文件夹已硬连线到 Windows,如果它不在 Windows 期望的位置,就会出现问题。此外,使用符号链接正确执行此操作是一个非常深入的过程。 对于已安装在 C: 驱动器上的程序,可以移动存储在 C:\Program Files 中的子文件夹。 请记住,如果将程序从 SSD 移动到硬盘,那么在启动该程序时将失去 SSD 的速度优势。 将您最常用的软件放在 SSD 上,以便在您需要时快速加载和运行。

但是,您不能简单地将程序文件夹拖到其他驱动器。您必须做的是创建所谓的符号链接。它有点像桌面上散落的程序、文件夹和网站的快捷方式,但它们更强大。当 Windows 或任何程序尝试访问该文件夹时,符号链接会将其重定向到新位置。它对软件和 Windows 完全透明。
可以手动创建符号链接,并且有一个名为 mklink 的命令行工具。专家用户可以打开命令提示符窗口并输入 mklink 来查看选项。无需求助于复杂的命令。但是,有一个简单且免费的实用程序可以为您完成所有工作。请访问 mobasoftware.com 并下载 SymMover。

  • ‘程序数据’

默认路径是 C:\ProgramData。它存储在这里:

HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\ProgramData

选项:

1) 您可以将默认的 ProgramData 路径更改为备用驱动器。尽管这样做,但创建的所有新用户都将使用新的 programdata 路径。因此,您最终可能会在数据末尾有两个 ProgramData 文件夹。

2) 或者,您可以使用“NTFS 连接点”。很多人不知道这一点,但连接点是一种强制所有写入路径 (c:\programdata) 的程序重定向到 (D:\ProgramData) 的方法。这就是为 XP 设计的旧程序如何轻松与 Vista 和 Windows 7 新文件夹位置(文档和设置替换为用户)配合使用的方法。

因此,您可以专门为 GR 创建的 tmp 目录创建一个连接点。mkdir D:\ProgramData robocopy /XJ /MIR "C:\ProgramData" "D:\ProgramData" mklink /J "C:\ProgramData" "D:\ProgramData"

缺点是 Windows 更新无法很好地处理单独驱动器上的程序数据。 http://support.microsoft.com/kb/949977

警告:Microsoft 不建议移动系统目录,因为这将阻止任何 Windows 更新、修补程序、升级正常工作(它将彻底失败!)

请谨慎行事!

答案2

您应该能够以正常方式*安装 Windows,无需任何额外步骤。Windows 7、8 和 10 需要 16GB(32 位安装)或 20GB(64 位安装),这正好满足您的要求。 以下是如果您有兴趣的话,可以参阅一篇 Windows 博客文章,其中稍微解释了 Windows 10 中的自动压缩的工作原理。

Windows 10 可能是您的最佳选择,因为它允许您选择另一个驱动器来放置用户文件和文件夹(这是“设置”应用中的一个简单的选项)。要将程序安装到您的硬盘上,只需手动创建 Program Files 和 Program Files (x86) 文件夹并告诉程序安装在那里。我见过的唯一不允许您选择的安装程序是针对无法在其他驱动器上运行的程序,但这种情况非常罕见。

如果您想使用旧版本的 Windows,只需在硬盘上手动创建自己的用户文件夹并将文件放在那里,而不是放在 C:\ 驱动器用户文件夹中。正如 Anand 指出的那样,尝试移动官方的 C:\ 驱动器用户文件夹可能会造成破坏,所以请忽略它们。

*“正常方式”是指使用/创建可启动 DVD 或闪存驱动器并从那里安装。您将无法升级,因为没有足够的空间容纳新旧操作系统。

相关内容