文章目录

  • 具体原因
  • 解决方法



最近在给新的 MacBook Pro 做数据迁移的时候,由于电脑中已经存在了一个用户,因此在数据迁移后就出现了两个用户。在【系统偏好设置】-【用户与群组】中删除了一个用户后,这个用户的数据其实依然是在电脑中的,具体的位置在:

Macintosh HD/User/用户名中有一个 DeletedUsers (已删除用户),此文件夹内即想要删除的用户的数据。但是将这个文件夹直接放入废纸篓后会发现,无法清空废纸篓,一直提示“不能完成此操作,因为项目‘VoiceTrigger’正在使用中”

具体原因

此文件是添加新用户遗留的,其中文件夹里的很多文件是隐藏文件,要用command + shift + . 来进行查看。在这些隐藏文件中有一部分是不能直接访问的,他们大概长这样:

mac 删除 容器 失败 mac删除不能完成此操作_mac 删除 容器 失败


并且这些文件一旦放进了废纸篓后不能被删除,而且还不能移出废纸篓,还会影响将其他文件移入废纸篓的速度。

解决方法

首先我尝试了在废纸篓打开terminal,用 rm -rf 强制删除,但是失败了,terminal显提示的内容为Operation not permitted。然后在网上看了很多各式各样的方法,最终成功的方法如下:

intro:

  • macOS有一个超级用户 root,此用户具有对整个操作系统的绝对访问权限。为了保护系统的重要文件不会被随意修改(此类文件图标如上所示),csrutil 默认是处于 enable 的状态,对一些重要文件保护起来,如果修改这些文件,就会被提示 “Operation not permitted”。
  • 如果关闭此功能,即置为 disable 状态后,就可以对这些文件进行操作,包括删除操作。
  • 因此如果想要删除这些文件,就要将 csrutil 关闭,具体方法如下
  • 首先关机,然后在开机的时候按住 command + R ,当看到苹果logo和进度条后松开
  • 进度条加载结束后,选择一个用户,输入密码进入
  • 在左上角小苹果logo后面点击 ”实用工具(utilities)“,打开终端(terminal)
  • 输入csrutil status,查看状态,默认是开启状态(enable)
  • 将此功能关闭csrutil disable,关闭后terminal会提示重启生效
  • 重启电脑,不按任何键,正常进入,此时来到废纸篓,就可以清理掉了
  • 关机,按前文方法进入恢复模式,并打开终端,输入csrutil enable,将功能重新开启
  • 重启机器,正常进入
  • over 结束操作

tips:
记得最后一定要将 csrutil enable,以保证系统文件的安全