如何从另一台计算机的 Time Machine 备份中检索文件?

如何从另一台计算机的 Time Machine 备份中检索文件?

确实是同一台电脑——我刚刚全新安装了 Snow Leopard。当我尝试从我的旧用户帐户打开文档目录时,我得到了

无法打开文件夹“Documents”,因为您没有权限查看其内容。

我认为问题在于安装 Snow Leopard 时我的用户帐户 ID 发生了变化。以前是 503;现在是 501:

ls -al /Volumes/ExternalDriveName/Backups.backupdb/ComputerName/2009-09-03-120049/ComputerName/Users/
drwxr-xr-x@ 43 503    staff  1462 Jul 20 15:14 gaius

echo `id -g` `id -u`
501:20

我尝试了chown -Rchmod -R,但都给了我

不允许操作

我也尝试通过 Inspector 更改权限。即使我以管理员身份进行身份验证,它们也全都变成灰色。

有什么帮助吗?

答案1

您还可以以 root 身份调用“Enter Time Machine”。这需要先以 root 身份启动 Finder,因此只适合那些了解风险的人。在终端中,对于 Leopard 和 Snow Leopard:

sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder

在 Snow Leopard 中,这不会(总是?)打开初始 Finder 窗口。不要单击 Dock 中的 Finder 图标(这可能会将您带到常规 Finder),而是使用 Command-Tab 转到 Finder(这将是新的根 Finder)。在这里,按 Cmd-N 可打开新的 Finder 窗口。

新的 Finder 看起来像一个普通的 Finder,但你会注意到在 Finder 侧边栏中的主文件夹图标旁边。在根 Finder 处于活动状态时,进入 Time Machine(并再次验证显示在主文件夹图标旁边)。这样您就可以浏览、删除或恢复所需的内容(但是,对于原始问题:它不会永久解决您的访问问题)。

(通常,如果您需要检查与当前计算机不关联的磁盘,则在单击 Time Machine 图标时按住 Option 键会将“进入 Time Machine”更改为“浏览其他 Time Machine 磁盘”。您可能不是需要以 root 身份运行才能做到这一点!)

完成后,弹出 Time Machine 卷(如果适用)。接下来,在终端中按 Ctrl-C 停止 root-Finder。通常的 Finder 仍会运行,但在 Snow Leopard 中,Dock 中的指示器可能已消失。killal Finder如果这让您感到困扰,请运行。(如果您在仍为 root 时忘记弹出 Time Machine 卷,并且磁盘在稍后无法正确卸载,或者如果 Time Machine 在运行每小时备份时无法正确安装它,那么您可以简单地注销,这很容易解决。)

(如果有人知道如何在不先运行 root-Finder 的情况下执行此操作,请告诉我们!运行sudo "/Applications/Time Machine.app/Contents/MacOS/Time Machine"不会产生预期的结果,我认为 Time Machine 星系窗口实际上是 Finder 的一部分。为了搜索引擎的利益:“以 root 身份运行时间机器”、“以 root 身份启动时间机器”。)

答案2

看起来 Apple 设置了一个 ACL,拒绝所有人(包括 root)删除或修改 Backups.backupdb 文件夹及其内容的所有权等,因此使用 sudo 或其他 root 访问权限无助于更改权限。

drwxr-xr-x@   4 501   staff    136 18 Jun  2008 backedupfolder
com.apple.metadata:_kTimeMachineNewestSnapshot     50 
com.apple.metadata:_kTimeMachineOldestSnapshot     50      0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown

所有人都拒绝 add_file、delete、add_subdirectory、delete_child、writeattr、writeextattr、chown

通过在 Time Machine 卷上设置“忽略所有权”,您可以访问当前用户无法访问的文件夹。遗憾的是,Apple 已从“获取信息”窗口中删除了 Time Machine 卷(或过去曾被用作 Time Machine 卷)的此项。

您将需要从终端设置卷的忽略所有权。

vsdbutil -d '/Volumes/TimeMachineVolume'

您可以使用以下方法逆转此过程

vsdbutil -a '/Volumes/TimeMachineVolume'

一旦 TimeMachine 再次运行,它还将重新启用该卷的所有权。

答案3

好吧,我绝对不懂电脑,但我已经为此苦思了将近两个小时,我想我可能已经找到了一些相对简单且似乎可行的方法。

当我进入 Finder 并从侧边栏选择我的外部硬盘(我称之为“虚拟形式的我的生活”)时,会有几个文件夹,右下角有一个奇怪的红色减号。每当我试图打开它时,它都会告诉我 Finder 无法打开它,因为我没有“权限......”不管那是什么意思,因为我完全允许自己访问我自己的写作。

不管怎样,我把这个文件(我旧 Mac 备份中的“documents”文件夹)拖到桌面上。它复制了它,角落里仍然有一个烦人的小减号,但请耐心等待,因为我就是在这里愚蠢地发现了自己的天才。从我桌面上的复制文件夹,我把它拖回到侧边栏,然后把它放到那里的“documents”标签中。同样,我不得不等待它复制,当它完成时,tada!神奇的是,我可以进入它并打开我旧 Mac 上的文件,我显然没有权限查看这些文件。

我不知道为什么或者这对我有用,就像我说的,我倾向于比生活中做其他事情更快地耗尽我的技术,但现在经过几个小时的思考和显然是我自己拒绝之后,我终于可以访问这些文件了。希望这对你们有所帮助,祝你好运!

答案4

我遇到过类似的问题,在全新安装 Snow Leopard 后,我将 Time Machine 备份文件复制回硬盘。iTunes 无法读取音乐目录,我不得不输入密码才能删除文件。我的解决办法是删除所有文件的扩展属性。我没有用过的脚本,但谷歌搜索找到了这个:

http://zzamboni.org/brt/2008/05/07/removing-all-extended-attributes-from-a-directory-tree/

相关内容