一个命令拯救被osx玩坏的exfat分区

mac os x 越来越不靠谱,exfat格式就是不好好支持,稍微调整下分区,结果就无法加载,将扇区中部分数据清除,在linux加载时直接报如下错误:

FUSE exfat 1.1.0
ERROR: invalid VBR checksum 0xedbca9d0 (expected 0x26867e96).

exFAT分区的结构,0扇区到11扇区是当前分区正在使用的启动扇区和引导扇区,其中第11扇区是校验扇区,010扇区的内容通过一个算法计算出来一个8位十六进制的验证码,验证码循环写在第11扇区。第12扇区到第23扇区是0扇区到11扇区的备份。其中启动扇区结尾是55AA。正常的读写操作都是011扇区,12扇区到23扇区定期备份而已。极少这24个扇区都坏的,可以尝试恢复备份。

先备份下现有24个扇区的信息

sudo dd if=/dev/sda2 of=~/exfat_sec_20151206 bs=512 count=24

用hexdump或其他hex查看,发现前12个扇区和后12个扇区不一致,用后面的覆盖前面的,

sudo dd of=/dev/sda2 if=~/exfat_sec_20151206 bs=512 count=12 skip=12

重新加载,错误不再,收工.

本文遵守知识共享协议:署名-非商业性使用-相同方式共享 (BY-NC-SA 4.0) 协议

你可能感兴趣的:(一个命令拯救被osx玩坏的exfat分区)