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


14

确实是同一台计算机-我刚安装了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更改权限。即使我以管理员身份通过认证,它们都变灰了。

有什么帮助吗?

Answers:


7

您也可以以root身份调用“ Enter Time Machine”。这就要求Finder首先以root用户身份启动,因此仅适用于那些了解风险的人。在终端机中,对于豹子和雪豹:

须藤/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder

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

新的Finder看起来像普通的Finder,但是您会注意到Finder侧边栏中主文件夹图标旁边的root。在根查找器处于活动状态时,输入Time Machine(并再次验证是否显示在主文件夹图标旁边)。这应该允许您浏览,删除或还原所需的内容(但是,对于原始问题:它不会永久解决访问问题)。

(像往常一样,按住选项并单击的Time Machine图标将改变“进入Time Machine”到“浏览其他时间机器磁盘”如果你需要检查未关联到您的当前机器的磁盘。你可能不会需要是以root身份运行即可!)

完成后,弹出Time Machine音量(如果适用)。接下来,在终端中按Ctrl-C停止根查找器。通常的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身份运行的计算机”。)


我在Snow Leopard中进行了测试,但没有成功。您需要先退出Finder吗?如果是这样,怎么办?
乔什·亨特

@joshhunt,我现在也在Snow Leopard中进行了测试,确实,事情更加令人困惑,因此我增强了答案。实际上,退出普通的Finder会使事情变得有些混乱,但是您首先需要使用以下方法添加Quit Finder菜单选项,defaults write com.apple.finder QuitMenuItem 1; killall Finder该功能在演示过程中非常有用,可以消除桌面图标。如果没有其他程序在运行,Finder将始终重新启动。在不启动root-Finder的情况下退出Finder时,无法使用Enter Time Machine,因此银河确实是Finder的一部分。
Arjan

21

看来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卷(或以前已使用过)的卷。

您需要改为从终端上为卷设置“忽略所有权”。

vsdbutil -d '/Volumes/TimeMachineVolume'

您可以使用

vsdbutil -a '/Volumes/TimeMachineVolume'

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


1
vsdbutil技巧很好用-让我从Time Machine还原TM说我没有还原权限的内容。
dossy 2012年

这在Lion中对我有用,与Snow Leopard的“ sudo Finder”技巧不同,后者使Time Machine崩溃了。
Michael Cramer

与@MichaelCramer相同的经历
Sammy Larbi

简单,有效和可逆。荣誉!
phatmann

1
是的,这也为我在OS X 10.10 Yosemite中解决了问题。唯一的事情就是我必须使用sudo vsdbutil -d 'Volumes/My Backup Drive'并输入密码,因为如果没有密码,您将得到“您必须是root用户才能执行此操作”。谢谢查理!詹姆斯,您应该考虑接受此作为答案。
杰森·S

2

在命令行上,您应该可以输入

sudo su

并以根身份进行身份验证。如果root用户无法访问文件,则很可能会遇到数据损坏问题。


修复磁盘损坏:

  • DiskWarrior-非常适合修复HFS +(mac格式)驱动器,但并非免费
  • OnyX-免费修复一些驱动器。

好主意,但这给了我与sudo chown和相同的错误sudo chmod
James A. Rosen


1

一种成功的方法:

  1. 我使用了迁移助手将帐户从Time Machine备份迁移到新的Snow Leopard安装上。如果Snow Leopard看到您正在尝试使用其名称已经存在的帐户进行迁移,则会提示您创建一个新名称。我做到了
  2. 我以迁移后的帐户登录。
  3. 我将所需的所有东西都放到了真实帐户的投币箱中。

1

切勿尝试更改Time Machine备份上的权限或修改任何文件。使用sudo将整个Documents文件夹复制到本地驱动器,然后 单击chown -R


我什sudo cp -r至不能上班。
James A. Rosen

1

好的,所以我无论如何都不会精通计算机,但是现在已经将近两个小时让我感到困惑,我认为我可能已经想出了一些相对容易的东西,似乎可以正常工作。

当我进入取景器并从侧边栏中选择我的外部硬盘驱动器(我称其为“我的生活,以虚拟形式”)时,在右下角的圆圈中将有几个文件夹,该文件夹中有这个奇怪的红色减号。每当我尝试打开它时,它都会告诉我发现者无法打开它,因为我没有“权限”……这意味着什么,因为我完全允许自己访问自己的著作。

无论如何,我从旧Mac的备份中取出了这个文件(“ documents”文件夹)并将其拖到桌面上。它复制了它,仍然在拐角处有一个恼人的小减号,但是请忍受我,因为这是我愚蠢地迷失了自己的天才的地方。从桌面上已复制的文件夹中,然后将其拖回到侧边栏,然后将其拖放到此处的“文档”水龙头中。再次,我不得不等待它复制,当它完成时,多田!神奇的是,我可以进入它并从旧的Mac中打开文件,我显然没有查看权限。

我不知道为什么这样或如何对我有效,就像我说的那样,我倾向于比技术上的大多数事情更快地从技术中吸走生命,但是经过数小时的努力,现在我可以访问这些文件了。显然被我自己拒绝了 希望这对你们有帮助,祝您好运!


1

我只是单击受限制的文件夹(在我的情况下为“桌面”),单击“还原”,然后它就消失了。我必须选择新位置(或者可以选择重新创建原始位置),而我只是选择了我的桌面。简单。

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.