在运行系统上为 Program Files (x86) 创建连接点

在运行系统上为 Program Files (x86) 创建连接点

最近我发现我那 128GB 的​​ SSD 已经满了,以至于我不得不卸载旧游戏才能安装新游戏。这还不算什么,直到我不得不安装一些其他应用程序来实际工作,现在我甚至没有足够的空间来做这些事情了

所以我知道我想要的解决方案。这与我在系统中构建灾难恢复时所做的相同,只需创建一个连接点并将其指向计算机中的 1TB HDD。因此,就像为 c:\users 创建连接点并将其指向内部 HDD 一样,我只需将 Program Files (x86) 文件夹复制到 HDD,重新启动进入使用命令提示符的安全模式,重命名 Program Files (x86),然后创建一个具有该文件夹名称的连接点。我发现了一个我确信是 Windows 问题的东西,而且由于我是 Linux 管理员,我想我会去论坛讨论,因为我在谷歌上找不到类似的问题。

TLDR;我无法在 Windows 内部重命名 Program Files (x86),因此我使用命令重新启动到安全模式并能够重命名它,并且我能够创建一个具有相同名称的连接点...

rename "Program Files (x86)" "Not_Program Files (x86)"
mklink /J "Program Files (x86)"  "D:\Program Files (x86)"

现在情况变得很奇怪。我重新启动 Windows,发现 Program Files (x86) 目录仍然存在,而任何具有其应有名称的目录都不存在。但等等......还有更多!当我查看 Program Files (x86) 的文件属性时,该对象被引用为我将其重命名为的名称。

我真正的问题是为什么 Windows 不重命名这个目录以及我怎样才能实现我的期望?

这是文件夹属性的链接,显示“对象名称”是我为孩子设置的脏话。(帖子中没有可包含的代表)

https://i.stack.imgur.com/4stDi.jpg

答案1

我认为您不应该乱动Program Files目录。Windows 出于某种原因对目录有特殊限制,篡改目录可能会产生不良后果。

我建议你创建目录连接逐个程序基础。从不经常使用的程序开始,然后是占用大量空间的程序(游戏在这方面非常臭名昭著,包含所有纹理文件、视频和声音剪辑等)。

当然,直接卸载每个程序并重新安装它们可能会更容易,在此过程中将安装路径更改为指向第二个硬盘。

答案2

为了简短起见,我必须从文件夹中删除 -S 属性,该属性表示系统所有权(可能),然后我才能从命令控制台运行

attrib -S "Program Files(x86)"

然后重命名文件夹并创建连接点。我注意到的唯一真正的副作用是几个现有的快捷方式(主要是固定到开始菜单或任务栏的快捷方式)停止工作。只需重新创建它们即可轻松纠正,我不太幸运,只是更改快捷方式属性,因为路径是逐字相同的。

至于做这样的事情所涉及的潜在风险,我完全知道我可能需要完全重新安装,但我对此很满意。规则就是用来打破的,否则成为超级用户有什么意义呢?不过,我要说声谢谢,因为注意到这不是系统管理员经验有限的人应该尝试的事情。这个项目仍然可能产生意想不到的后果,但目前我对我的盒子的状态很满意。

答案3

前段时间,我做了一些非常类似的事情,但是使用了两个 120GiB 的 SSD。

系统分区变得太大,他们开始需要每个 Windows 总共 64GiB 的大小(以确保 60% 可用于升级),而我有三个。

我不打算深入讨论底层细节,仅指出这一点:

  • 第二个 SSD(Slim DVD 所在的位置)在加载操作系统之前不会通电,因此我无法在 Grub2 引导加载程序中使用它,无法从它启动,也无法在任何操作系统加载之前在其上执行任何操作;SD 插槽和 ExpressCard54 插槽也是如此;当 BIOS 在启动时运行时,它们都未通电。

由于 Program Files 和 Program Files (x86) 占总使用大小的近 1/3,所以我考虑使用一些技巧将 GiB 移动到第二个 SSD MKLINK /J ...

因此,我确保在 Windows Loader 运行时立即为 SSD 通电,远早于需要此类文件夹的时间,它在 Windows 徽标出现在屏幕上之前稍早通电,因此连接点在那里一定不会有任何问题;所以我在这里给出一个一般警告:使用连接点(/J),而不是符号链接(/D),当它是符号链接时会发生奇怪的事情,很难解释(大多数是在 Windows 10 上进行升级时,从 1709 升级到 1803 等)。

我再说一遍,一定要在主机之前在虚拟机上尝试这些作为概念验证。

对你来说不是ADD:

  • 您可以对 pagefile.sys 和 swapfile.sys 使用同样的技巧将它们存放到您想要的任何文件夹/子文件夹中,使用类似MKLINK C:\pagefile.sys M:\MySubFolder\MyNameForPageFile.DAT和的命令MKLINK C:\swapfile.sys M:\MySubFolder\MyNameForSwapFile.DAT

关于这一点有两点:

  1. 为了能够创建硬链接(不是连接点,也不是符号链接),您必须在停用虚拟 RAM 的情况下启动(如果它处于活动状态,则必须在停用它之后重新启动),因此系统分区的根目录上没有 pagefile.sys 也没有 swapfile.sys,然后创建硬链接,然后激活虚拟 RAM
  2. 如果您有多个窗口(多重启动),您可以为所有窗口重新使用相同的硬链接目标,因此您只需从 SSD 中取出一次这样的空间,而不是每个窗口取出一次

如果继续使用 pagefile.sys 和 swapfile.sys,则会出现警告:任何 Windows 10 升级都将删除硬链接并在原地重新创建正常文件,因此升级后您需要重新进行硬链接、停用虚拟 RAM、重新启动、创建它们,然后重新激活虚拟 RAM。

相关内容