删除有关已删除卷的信息

删除有关已删除卷的信息

为了增加 C 盘空间,我不得不删除所有卷,然后重新创建,为 C 盘分配更多空间,之后我的驱动器名称 G 就不存在了。在此之前,我曾经将所有软件安装在 G 盘中。现在由于驱动器不存在,我想删除有关我在 G 盘中安装的软件的所有信息,因为删除卷时它们也被删除了。

我也想安装 cilk++ 但是它给出错误-无效驱动器 g:。

如果我插入 U 盘,我会得到一个名为 G 的卷,cilk++ 安装程序会运行,但会提示它将集成到我之前在 G 盘中安装的 Visual Studio 2008(但现在已不存在),并且不会显示我最近在 C 盘中安装的 Visual Studio 2010。我该如何修复这个问题?请帮忙。

答案1

我还有另一个(不稳定的)选项。您可以使用 Subst(通过 CLI)创建一个虚拟驱动器(当然带有字母 G),该驱动器将指向您需要的任何地方。如果需要重建文件夹结构,您可以使用 MKLink(或 Sysinternals Junction)创建指向文件夹的符号链接。这里的一个很大的优点是,据我所知,没有任何不良后果您无法轻松逆转(通过撤消虚拟驱动器)。

答案2

您正在体验为什么在指定的程序文件目录中安装程序文件不仅仅是一个语义问题。不可移植的程序在整个系统中被引用,并且通常在进行简单的文件操作时会中断,或者在这种情况下,整个驱动器都会消失。理论上,程序文件条目可以被更改,但很多软件都无法承受这种情况。将已安装的程序移动到新驱动器的唯一可行方法是正确卸载它们,然后在其他地方重新安装它们。

不用说,重新格式化驱动器并不等同于正确的卸载过程,而且由于程序文件完全丢失,成功卸载的可能性非常低。如果可能的话,最好的办法是从备份中重新创建原始 G: 驱动器并适当地删除已安装的软件。

第二种选择是手动删除所有对曾经安装在 G: 驱动器上的程序的剩余引用。对于单个程序来说,这是一项繁琐的任务,因为它可能在数十个注册表项、用户空间文件、依赖项、第三方软件中留下痕迹……对于许多程序来说,这是不可能的,在本例中很可能如此。充其量,它可以作为修补特定问题的快速而粗糙的解决方案,例如 cilk++ 的安装错误。准备好继续使用非常不稳定的系统。

解决此情况最严格但很可能是最快和最好的方法是备份所有有价值的数据,格式化 C: 驱动器并重新安装操作系统和其他已安装的软件。

相关内容