如何从Windows 7完全卸载/删除cygwin


Answers:


55

开发人员提供了有关如何删除软件的相当详细的说明:

如何卸载所有Cygwin?

安装程序没有自动卸载功能。删除所有Cygwin的推荐方法如下:

  1. 如果您正在运行任何Cygwin服务,请通过重复http://cygwin.com/faq/faq.html#faq.setup.uninstall-service中有关您安装的所有服务的说明进行删除 。可能已安装的常用服务sshd, cron, cygserver, inetd, apache, postgresql,等等。

  2. 如果X11服务器正在运行,请将其停止,并终止可能在后台运行的所有Cygwin程序。退出命令提示符并确保不保留Cygwin进程。注意:如果要保存挂载点以便以后重新安装,请先mount -m按照 http://cygwin.com/cygwin-ug-net/using-utils.html#mount中的说明保存输出。

  3. 删除Cygwin根文件夹和所有子文件夹。如果您收到对象正在使用的错误,请确保已停止所有服务并关闭所有Cygwin程序。如果您收到“权限被拒绝”错误,则需要修改导致错误的文件或文件夹的权限和/或所有权。例如,有时系统服务使用的文件最终由SYSTEM帐户拥有,而不是普通用户可写的。

    如果遇到此问题,删除整个树的最快方法是将所有文件和文件夹的所有权更改为您的帐户。要在Windows资源管理器中执行此操作,请右键单击根Cygwin文件夹,选择“属性”,然后选择“安全”选项卡。如果您使用的是Windows XP Home或简单文件共享,则需要启动到安全模式才能访问“安全”选项卡。选择“高级”,然后转到“所有者”选项卡,确保您的帐户被列为所有者。选中“替换子容器和对象上的所有者”复选框,然后按“确定”。在Explorer应用更改后,您应该能够在一次操作中删除整个树。请注意,您也可以通过键入chown -R user /或使用其他工具(例如)在Cygwin中实现此目的CACLS.EXE。

  4. 删除桌面和“开始”菜单上的Cygwin快捷方式,以及下载目录中setup.exe所留下的任何内容。但是,如果您计划重新安装Cygwin,最好保留setup.exe 下载目录,因为您可以重新安装其缓存中剩余的软件包,而无需重新加载它们。

  5. 如果您将Cygwin添加到系统路径,除非您计划将Cygwin重新安装到同一位置,否则应将其删除。同样,如果在系统范围内设置CYGWIN环境变量并且不打算重新安装,则应将其删除。

  6. 最后,如果您想要彻底,可以删除和/或 Software\Cygwin下的注册表树。但是,如果您按照上述说明操作,则您已经删除了所有重要信息。通常,只有安装目录已存储在注册表中。HKEY_LOCAL_MACHINEHKEY_CURRENT_USER


1
我最初在John T链接到的源头上找到了这些说明并在Windows 7上尝试过它们。它们对我不起作用。有没有人让他们在Windows 7上工作?C:\Cygwin即使在使用命令提示符启动到安全模式后,我也无法删除该目录。
— Ben McCormack

谢谢,这对我有用。每隔几年我就会认为cygwin可能是有用的,并且它不会像我记忆中那样无用(今天我想做一些Lisp hacking)。然后安装它并浪费了大约两个小时,因为没有任何工作,没有文档,我得到这种可怕的似曾相识的感觉,并记住,它很难从你的机器中删除病毒。VMWARE下的Ubuntu似乎是一个更好的选择。

1
我不得不做的不仅仅是更改所有者才能删除,我还必须更改权限才能更宽松(基本上让每个人都拥有完全访问权限)。这是所有者选项卡旁边的权限选项卡。Cygwin:甚至没有一次。
— mrmagooey 2013年

1
您指示(chown -R user /)的命令不等同于更改Cygwin文件夹的所有权。它将修改文件系统上所有文件的所有权。
— piwi 2014年

@piwi,在cygwin shell中,该/文件夹是cygwin文件夹的根目录,而不是windows系统卷“root”。该命令不会修改Windows系统文件系统上所有文件的所有权。
— tgm1024

38

实际上它很简单。这样做......

takeown /f C:\cygwin /r /d y
icacls c:\cygwin /t /grant everyone:F
del c:\cygwin

然后右键单击删除它。它会消失的。


1
我的两分钱: - 这些命令必须以管理权限执行(“以管理员身份运行”)。 - 如果某些文件无法删除,请使用Unlocker之类的工具来删除它们。 - 最后使用Registry清理工具(例如CCleaner)删除剩余的注册表项。
— Igor Gorjanc

对于64位版本也是C:\ cygwin64
— Drakes

14

请按照以下步骤操作。

  1. C:\>takeown /r /d y /f cygwin
  2. C:\>icacls cygwin /t /grant Everyone:F
  3. C:\cygwin\bin>.\cygrunsrv.exe -E sshd
  4. C:\cygwin\bin>.\cygrunsrv.exe -R sshd

然后删除该文件夹c:\cygwin及其所有子文件夹。这种方法对我有用。

请注意,像takeown这样的Windows命令取决于区域设置,即选项/d y仅适用于英语系统。在德国系统中,需要使用/d j工作(没有提示英语帮助,* facepalm microsoft)*


1
也只icacls cygwin /t /grant Jeder:F在我的德国系统上为我工作
— jhasse 2016年

5

我在Win 7中尝试了所有可能之后在Win 7中做到了这一点(注意......我已经能够比删除CygWin更容易禁用rootkit了!)

  1. C:\>takeown /r /d y /f cygwin

    仅适用于一个文件夹(我认为'var')

  2. C:\>icacls cygwin /t /grant Everyone:F

    工作

  3. C:\>takeown /r /d y /f cygwin

    在上面的(第二个)命令之后重复这个命令!!

  4. C:\cygwin\bin>.\cygrunsrv.exe -E sshd

    拒绝访问

  5. C:\cygwin\bin>.\cygrunsrv.exe -R sshd

拒绝访问

但我然后去了Windows资源管理器并删除(回收)C:\ Cygwin文件夹,它工作。完全消失了。

感谢上面的帖子!希望这有助于某人。


1

我在删除Cygwin文件夹时遇到了麻烦,我遍历了整个目录结构并删除了每个子文件夹。这真的很痛苦,但别无选择。



1

启动Cygwin安装程序并转到包查看器并选择视图作为类别,并将类型安装为卸载...完成。


1
欢迎来到超级用户!请仔细阅读问题。你的答案没有回答原来的问题。这只卸载了不是整个cygwin的软件包。
— DavidPostill

0

我没有在这里看到它,但是如果有人仍然无法删除C:\ cygwin文件夹,因为它正在使用中,请检查计算机上的服务“服务器”。它不是Cygwin的一部分,但是我看到它用于命名管道共享,当我停止它时我能够删除Cygwin文件夹。

仅供参考


0

嗯,这些都没有用,所以这就是我做的:

  1. 如上所述,将所有者设置为您的任何用户。
  2. 从Security-Edit中删除文件夹权限中的所有用户。
  3. 重新添加您的用户并设置完全控制权限。
  4. 转到高级并选择底部的两个复选框(包括ineritable permissions ...,替换所有子对象权限...,blahblahblah)。
  5. 应用更改。
  6. 只需删除文件夹即可。应该管用。

你可以请格式化你的问题。这将是一个非常难以阅读有用的问题的有用问题。
— Ramhound 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.