我有一张 exfat 格式的 SD 卡。它被放入 Mac 电脑,一些文件被从中取出,然后又被放入 Linux 电脑。文件系统似乎仍然基本已满,尽管上面什么都没有了。我从中删除了剩余的文件(只有空DCIM
目录),它仍然显示已满 55%。例如运行df -h
/dev/mmcblk2p1 60G 32G 29G 53% /mnt/sdcard
尽管ls -lsa
显示:
total 132
128 drwxrwxrwx 1 user user 131072 Dec 31 1969 .
4 drwxrwxr-x 12 user user 4096 Feb 26 10:31 ..
如果我卸载它并使用它,exfatfsck
我会发现它有零个文件和目录,但仍然有 31GB 的已用空间:
fsck from util-linux 2.27.1
exfatfsck 1.2.3
Checking file system on /dev/mmcblk2p1.
File system version 1.0
Sector size 512 bytes
Cluster size 128 KB
Volume size 59 GB
Used space 31 GB
Available space 28 GB
Totally 0 directories and 0 files.
File system checking finished. No errors found.
我必须重新格式化分区才能恢复空间:mkfs.exfat /dev/mmcblk2p1
。
fsck from util-linux 2.27.1
exfatfsck 1.2.3
Checking file system on /dev/mmcblk2p1.
File system version 1.0
Sector size 512 bytes
Cluster size 128 KB
Volume size 59 GB
Used space 2688 KB
Available space 59 GB
Totally 0 directories and 0 files.
File system checking finished. No errors found.
这是怎么发生的?有没有办法在不重新格式化整个磁盘的情况下恢复空间?我担心再次遇到这种情况,并且 SD 卡不是完全空的。
答案1
看来您在将可移动存储设备连接到 Mac 时没有正确弹出它,导致文件系统损坏。无论操作系统如何(这也适用于 Ubuntusync
)刷新缓冲区和/或安全弹出可移动存储以避免损坏和可能的数据丢失非常重要。
某些 USB 设备(例如闪存驱动器或与 USB 读卡器连接的存储卡)必须先弹出,然后才能从计算机中移除或关闭。设备被弹出是为了确保移除时不会向存储卡写入任何内容。如果您在未先弹出设备的情况下移除设备,则设备上的信息可能会被破坏。
注意:重点是我的。