我将 32GB USB 棒插入 2019 款 MacBook Pro,所有数据立即自动删除。 OSX 显示棒上没有数据。过去棒子上有数据。
我回到我的 Linux 盒子并检查了一下。果然,OSX 对文件系统做了一些操作,使其变为空,然后创建了普通的隐藏文件(.fseventsd、.Spotlight-V100)。
在 Linux 上,我启动了一个文件恢复工具来恢复我的数据,效果很好,但我丢失了文件名。
我想知道 OSX 对我的驱动器做了什么操作以及如何逆转它?很久以前,1TB ntfs 外部硬盘也发生过这种情况,我忘记了,所以我确信这是一个常见问题。
这是 OSX 更改后的闪存驱动器文件系统信息:
sudo file -s /dev/sdh /dev/sdh:DOS/MBR引导扇区 MS-MBR XP english at offset 0x12c “无效分区表” at offset 0x144 “错误加载操作系统” at offset 0x163 “缺少操作系统”,磁盘签名0x6f55f075;分区 1:ID=0xc,起始 CHS (0x0,63,1),结束 CHS (0x270,96,1),起始扇区 8064,60559488 扇区 FAT32
以前,它可能是这样的(不同的USB闪存驱动器):
sudo file -s /dev/sdh /dev/sdi: DOS/MBR 引导扇区;分区 1:ID=0xb,起始 CHS (0x3ff,254,63),结束 CHS (0x3ff,254,63),起始扇区 2,121065982 扇区,扩展分区表(最后)FAT32 (LBA)
看起来文件系统现在略有不同。
有谁知道是否有一个简单的 fsck 命令我可以运行来修复棒上的文件系统(并恢复文件名/目录结构)?我知道运行恢复实用程序后所有数据仍然存在。我不太熟悉文件系统实现细节。
编辑:我尝试通过使用 fdisk(扩展 0xb 和规范 0xc)和 mkfs.vfat 重新分区+重新格式化该棒来重现此问题,但没有运气。我在使用 mkfs.ntfs (mkntfs v2015.3.14AR.1 (libntfs-3g)) 时确实设法重现了它。也许闪存驱动器被格式化为 ntfs?那是很久以前的事情了,我无法确定。
至少我能说的是不要将 NTFS 棒插入 MAC!
如果您需要,我很乐意获得更多详细信息。
答案1
我遇到了一个 NTFS 版本的问题,该版本是由较旧的 linux ntfs-3g 创建的,Windows 无法识别该版本;格式化之前有一个简短的提示。
扩展分区的USB驱动器无法识别,然后被格式化。
https://www.active-undelete.com/hdd_partition.htm
这恢复工具是你的最好的选择,它会尽力为您提供近似数据,忽略损坏的 MBR。格式化过程中数据可能被覆盖,您无法检查完整性。
在使用 MBR 之前,使用 dd 复制整个映像。
https://serverfault.com/questions/4906/using-dd-for-disk-cloning
如果您使用以下命令对 MBR 进行了备份 dd:
sudo dd if=/dev/sda of=mbr_backup bs=512 count=1
然后你可以应用 MBR:
sudo dd if=mbr_backup of=/dev/sda bs=512 count=1
您可以使用十六进制编辑器手动编辑转储的 MBR,然后将其应用到驱动器,然后 fsck fat32 驱动器,交叉手指并安装。
您还可以禁用创建.fseventsd
& .Spotlight-V100
。