重新挂载 NTFS 分区后文件消失了。为什么?

重新挂载 NTFS 分区后文件消失了。为什么?

我尝试登录我的 Ubuntu 14.04,但输入密码后,我看不到任何图标或破折号。我以前遇到过这个问题,我也知道解决办法。
问题是我的 Ubuntu 分区几乎满了。

我计划将下载的大量文件移至我的 Windows 分区。我进入终端并将我的 Windows 驱动器挂载在。 Alt+Shift+F1/mnt

然后我使用 将文件移动mv到我安装的驱动器。
文件已成功移动(我使用 确认了这一点ls)。
我卸载了驱动器并重新启动了系统,结果我发现了什么?
文件消失了。

就是这样。可能是什么原因?我也尝试恢复文件,但目前还没有成功!

编辑 : 我成功恢复了部分文件(不是全部)。当我chkdsk在受影响的驱动器上运行时,文件立即出现在资源管理器中。

一些文件已损坏(簇可能已被覆盖)。

答案1

提示一下:sync问题

内核将数据保存在内存中,以避免执行(相对较慢的)磁盘读写。这可以提高性能,但是如果计算机崩溃,数据可能会丢失或文件系统损坏

“sync”命令确保内存中的所有内容都写入磁盘。

在你的情况下,你可能在计算机结束物理复制文件之前关闭了它。
不幸的是,简单的ls答案不足以保证内核完成刷新它们。

此外,如果你的硬盘已经完全满了,那么部分文件应该仍然只在内存中;因此,在系统重启后,没有办法再次从内存

下次您可以尝试避免此问题,sync在关闭之前发出命令并等待其退出状态:

mv  From_Here To_There 
sync && echo " ### DONE : sync finish to work ##"

参考

  • info coreutils 'sync invocation'你可以阅读更多

    “sync”将内存中缓冲的任何数据写入磁盘。这可以包括(但不限于)修改的超级块、修改的 inode 以及延迟的读取和写入。这必须由内核实现;“sync”程序除了执行“sync”系统调用外什么也不做。

笔记

当您卸载分区时,系统会给出同步,但您必须等待卸载过程正确完成。如果没有,您应该会遇到您发现的问题。

相关内容