呼叫所有 OS X 专家。
我使用 Mac(OS X 10.9)上的 Finder 将两个 1Tb 驱动器(原 Windows)复制到新的 2Tb USB 3.0 驱动器上。2Tb 驱动器现在已满约 90%。
我现在想使用 Mac 将那个 2TB 驱动器复制到另一个 2TB 驱动器,但它一直声称大约 40% 的文件处于繁忙状态。除了这次尝试复制文件之外,2TB 驱动器上的任何文件都从未在任何应用程序中打开过。
我尝试使用 Finder 将 2Tb 复制到 2Tb,一旦发现 1 个文件繁忙,它就会完全停止复制。不是特别有用。我尝试使用图标视图、列表和列视图。
然后我切换到终端,使用 cp -RXvn,后来只使用 -cp RXn。两者都能够复制大约 60% 的文件。
我尝试卸载两个驱动器,重新启动并重新格式化第二个驱动器。我尝试了所有这三种方法,然后再次尝试,每次都达到约 1.34 TB。我尝试了几次,我注意到问题并不总是出现在相同的文件上,尽管当有数千个文件时很难分辨。
我得到的结果如下:
cp -RXn "/Volumes/USBdrive 1/" "/Volumes/USBdrive 2"
cp: /Volumes/USBdrive 1/My photos/USA trip/image 1472.png: Resource busy
cp: /Volumes/USBdrive 1/My photos/USA trip/image 1483.png: Resource busy
cp: /Volumes/USBdrive 1/Our holiday/Rome/tour map 2014.pdf: Resource busy
我对 OS X 还不熟悉,所以不明白文件为何会变成繁忙状态,也不知道该怎么办。对我来说,即使文件正在使用中,不复制它也没有多大意义(Windows 会这样做)。
有人能建议如何解决这个问题并将所有文件从一个驱动器移到另一个驱动器吗?我是否需要先找到一种方法来阻止资源被视为繁忙,如果需要,该怎么做?
答案1
更新:我想我已经知道如何修复这个问题了。
从终端尝试这个:
cd <drag and drop the volume you want to copy here>
现在做:
lsof +D <drag and drop the volume you want to copy here> | grep <drag and drop the volume you want to copy here>
此命令将显示该卷上所有打开的文件。您将看到持有该文件的应用程序的名称。为了便于讨论,我们假设它是Finder
。
现在输入(为了安全起见,请确保您已经关闭了所有应用程序):
killall Finder
现在再次运行该lsof
命令,您应该不再看到这些文件。现在您应该能够复制它们。
希望这能起到作用。
上一篇
在Terminal
中输入env
。
看看它说了什么USER=
,然后准确地复制那个名字。
现在我们将更改驱动器上所有文件的所有者,只需确保您已安装到要复制的驱动器而不是系统驱动器。安装要复制的驱动器的根目录并输入:
sudo chown -fhRL [owner]
对于显示 的位置[owner]
,输入上面的用户名。系统将提示您输入密码,因为我们添加了sudo
超级用户密码。
如果退出时状态为0
,则表示没有错误。如果退出代码大于0
,则您可以删除 f ,然后您将看到所有诊断消息。
接下来我们要更改文件的权限。输入:
sudo chmod -fhRL u=rwx
u - 用户 r - 读取 w - 写入 x - 执行 同样,如果发生错误,退出状态将大于0
接下来,我们将更改标志:
sudo chflags -fhRL nouchg
sudo chflags -fhRL noschg
现在返回到您的复制命令并sudo
在其前面添加适当的内容,希望这可以解决问题。
答案2
我已经给那些可以给的人点了分,因为这些信息很有用。我的问题的根本原因是硬盘故障。
购买新的 2Tb 硬盘后,我能够使用此处回复中提供的命令迁移数据。
再次感谢那些提供帮助的人。