V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
phoulx
V2EX  ›  分享发现

一次移动硬盘故障踩到了三家系统的坑

  •  
  •   phoulx · 12 天前 · 644 次点击

    硬盘是 SanDisk 1TB 移动 SSD ,一整块 exFAT 分区,在 Ubuntu 24.04 Gnome 下通过 nautilus 拷贝数据(文件数量是一万多,将近 100GB )到挂载的 NVMe SSD 一个 NTFS 分区,进度不到 1/3 时死机了——是完全死掉,不仅图形界面卡住,TTY 也切换不了,鼠标键盘无响应,甚至传说中的 REISUB 大法(通过键盘 SysRq 组合键发送系统中断)也不起作用。等了约一小时没有办法,强行断电重启。

    重启後,移动 SSD 仍可读,但 NTFS 分区提示错误无法挂载,便切到 Windows 11 尝试修复——这个倒是常有的,其他系统遇到 NTFS 有一点问题就得用 Windows 磁盘工具修复。点了检查错误并修复,NTFS 分区算是好了。

    再插入移动 SSD ,也是可以正常读取的,不过 Windows 弹出通知说这个盘可能有问题需要修复。出于信任(毕竟 exFAT 也是微软研发了),按提示检查并修复,时间不长,一会儿就告诉我问题已修复,但转眼一看,坏了——发现盘里存上述数据的文件夹(准确地说是其最上层目录)整个消失了!

    此时磁盘占用还是正常的,根目录的其他文件夹也还在,计算机常识告诉我文件实际没消失,衹是目录结构损坏,理论上应该能找回来。返回 Ubuntu 挂载,发现原文件夹确实消失了,但多出了一个 FOUND.000 文件夹,里面似乎是我的数据,但是文件名均为 FILExxxx.CHK ( xxxx 为数字),元数据不全,而且大小随机变化(比如原文件几 M 可能变成几百 M ),并且数量少了很多,总的来说可用性很低。

    本来还想插到 Mac 上试试,幸好没有(下面讲原因)。

    通过正常办法是找不回了,衹好考虑数据恢复软件。首先想到的是梨厂的 Recuva (多年前用来恢复过 U 盘,效果还可以),不过这次可能是硬盘容量大,扫描很慢,不管它等了一夜,窗口又消失了,再试一次还是如此。

    又试了 DiskGenius ,调整选项确实能扫出来丢失的文件夹,虽然文件有重复,并且不确定是不是全部都在(至少有大部分),还有非常多「孤立的文件」(也是几乎不可用),但别无它法,衹能将所看到的备份出来。

    这时,能做的就差不多了,毕竟不太可能弄明白 exFAT 分配表细节再手动修复。

    再插到 Mac 上,能看到的文件没啥变化,不过非常糟心的事是 Finder 对非苹果文件系统分区会自动写入隐藏文件,除了众所周知的.DS_Store ,还会对应其打开的文件夹内每个文件新写一个以._开头的 4KB 隐藏文件——真是设计的败笔。这事在正常的硬盘倒也没那么坏,但对于要恢复数据的盘来说却是致命的,因为新写入的隐藏文件很可能会覆盖要找回的数据,导致原数据被破坏而无法恢复。之後又用 DiskGenius 扫了一下,扫到的文件确实变少了。

    经验小结:

    1. exFAT 尽量少用,这次丢数据最重要的原因可能还是这个分区格式,没有日志,分区表无备份,想想也不靠谱;
    2. 在 Linux 图形桌面下操作大批文件拷贝要谨慎,做好 Crash 的心理准备...
    3. Windows 的磁盘检查在能正常读写的情况下慎点(至少对于 exFAT 是这样),先备份再检查修复;
    4. 要恢复数据的磁盘不要放到 Mac 下读取。
    3 条回复    2024-06-12 08:53:59 +08:00
    NevadaLi
        1
    NevadaLi  
       12 天前
    1. linux 使用的磁盘一般 xfs ,ext4 ,btrfs ,不会上 exfat/ntfs
    2. 批量文件拷贝不会用 GUI ,并且选择 rsync
    3. 要恢复数据的磁盘,按照常规流程,应该先以硬件只读方式插上数据拷贝机,然后按扇区复制数据到新磁盘,之后挂载新磁盘进行恢复,全程不动原盘。
    phoulx
        2
    phoulx  
    OP
       12 天前
    @NevadaLi 谢谢建议~
    因为多系统在用,选了 exFAT ,不过目前看 NTSF 可能更合适,三家都有内置支持;
    只读拷贝到新盘再恢复肯定更好,没有这个条件....
    cslive
        3
    cslive  
       11 天前
    硬盘发热,先掉速,后卡死,散热做好就行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1080 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:26 · PVG 02:26 · LAX 11:26 · JFK 14:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.