我配偶的 USB 拇指驱动器(WinXP 文件系统,很确定……)没有从我女儿的 MacBook 中“安全移除”。现在,上面的(许多)文件和(所有)子文件夹都已损坏(……是的,我知道……)。是否可以恢复这些文件和文件夹中的 [ 部分 | 大多数 | 全部 ]?
我一直试图通过在我的 Ubuntu 12.10 笔记本电脑上安装 U 盘来帮助她。U 盘安装在 Ubuntu (12.10) 下,并且做列出顶层的文件(虽然还没有尝试访问这些顶层文件),但表明它“无法访问 /media/robert/CA71-F795/'folder-name':输入/输出错误”对于该级别的每个文件夹(..face-palm...)。
我不是菜鸟,所以我竭尽全力尽量避免自己犯这种错误,因此我不熟悉恢复实践/程序。有什么办法可以恢复这些文件和文件夹吗?你做?
感谢所有 [ 帮助 | 建议 | 建议 ] 。
答案1
USB 驱动器通常是 FAT 文件系统,我不确定有哪些工具可以修复 FAT 文件系统,但您可能会发现您可以从 Ubuntu 读取大多数/所有文件(忽略 I/O 错误),然后重新创建文件系统以将它们复制回来。
我的伴侣经常会把同事的 Windows 笔记本电脑带回家,这些笔记本电脑的文件系统已损坏,Windows 无法启动。通常我只需在它们上启动 Ubunu Live CD 即可,即使出现大量 I/O 错误,至少 Ubuntu 会“尽最大努力”读取文件,而 Windows 似乎不太愿意这样做……到目前为止,我总是能够为人们恢复重要的东西(照片、音乐、工作文档等)。
只要您不尝试写入文件系统(您甚至可以以只读方式安装它以确保安全),仅尝试从那里复制所需的文件不会造成任何进一步的损害。
答案2
首先,您可能应该暂时禁用系统上的自动挂载。启动程序 dconf-editor 并导航至 org -> gnome -> 桌面 -> 媒体处理并禁用自动挂载。
为了帮助恢复,您可以制作拇指驱动器的一个小副本(无需安装即可执行此操作)
dd if=/dev/sdx of=~/usbdrive.img
其中 sdx 是相关设备。然后,您可以将 pendrive 的映像以只读方式挂载到 /mnt 上:
mount -t vfat -o loop,ro,noexec ~/usbdrive.img /mnt
如果您收到错误但确定文件系统是 DOS (vfat),那么您可能需要修复分区表才能继续。但愿情况没那么糟。现在您可以安全地探索恢复选项,甚至无需将 U 盘连接到计算机。
您可能想要查看的一些程序是 photorec 和 testdisk。我无法向您提供关于如何使用这些程序的太多信息,因为像您一样,我尽量不让自己处于这种境地,但我从使用这些程序的过程中知道,即使这些程序已被删除或打乱,它们也会尝试识别有效分区及其上的文件。
完成复制后,请不要忘记将自动挂载设置回您的首选项。