OSX 中的“损坏”目录 - 我该怎么办?

OSX 中的“损坏”目录 - 我该怎么办?

我的文件系统中有一个目录。如果我ls -a在目录中执行 ,则不会得到任何结果(甚至不会得到./../)。如果我执行rmdir,则会被告知目录不为空。 rm -rf给出相同的“不为空”错误。我尝试使用mv更改其名称。这产生了Input/output error,但显然成功了。

说我不管里面的东西,只想清理一下,我能做什么?

OSX Tiger,在 FileVault 主目录中(如果重要的话)。

编辑:更多诊断,如 gbarry 所建议。正如我所说,这显然是成功的,所以现在mv调用了目录。foo

$ ls -ld foo
drwxr-xr-x   3 repton  repton  102B May 30  2007 foo/
$ stat foo
234881029 39016 drwxr-xr-x 3 repton repton 0 102 "Jul  9 12:00:10 2009" "May 30 03:24:34 2007" "Jan 21 16:55:53 2008" 4096 0 0 foo
$ file foo
foo: directory
$ du -h foo
  0B    foo

答案1

在 Tiger 中,FileVault 磁盘是一个稀疏映像。(升级到 Leopard 后,它仍然是这样的稀疏图像,但在 Leopard 中创建新的 FileVault 时,您会得到稀疏的后者与 Time Machine 配合使用效果更佳。

您是否尝试过在该映像上运行磁盘实用程序?请参阅 Apple 的Mac OS X 10.3、10.4:FileVault - 如何验证或修复主目录映像了解详细说明。(或者,如果出于某种原因你不能使用它,也许hdiutil verify

答案2

删除之前,询问它使用了多少(因为它“不为空”)。请注意,它不像是根目录的链接或类似的东西。

目录名称是否合理,还是空白或奇怪的字符?还可以尝试使用其他命令来描述它。 ls -ld funnydir 、 stat funnydir 和 file funnydir 都应该告诉您“这是一个目录”。

如果确实有问题,fsck 或等效的“检查目录结构”命令可能会修复它(正如你所见,我对 OS X 还不太了解)。

答案3

您可能需要使用磁盘实用程序修复硬盘。我遇到过类似的问题,即使强制清空文件,文件仍留在垃圾桶中(系统一直说正在使用中)。修复磁盘后,我能够删除该文件。

答案4

您是否尝试过禁用 FileVault、删除目录,然后重新启用 FileVault?

FileVault 可能无法即时解密目录(无论出于何种原因),因此您只能看到它,但无法对其进行任何操作。禁用 FileVault 将强制其批量解密所有内容,从而允许操作系统直接访问磁盘。

相关内容