是否可以让Linux立即保存对外部硬盘文件所做的更改?

是否可以让Linux立即保存对外部硬盘文件所做的更改?

我最近在一台旧笔记本电脑上安装了 Linux Mint。我以前不是 Linux 用户。使用 MS Windows 时,我养成了一个坏习惯,就是在没有安全移除的情况下拔掉外部硬盘驱动器。

在 Mint 上,我重命名了一堆文件,并将其他文件移动到不同的目录,然后我拔掉了硬盘,但忘记弹出。当我重新插上硬盘时,我发现只有更改的目录名称保持不变。重命名和移动的文件将返回到其原始文件夹,且名称未更改。 HDD 格式为 NTFS。我现在使用两个操作系统,Windows 的习惯很难改掉。

我可以更改设置以使外部硬盘像 Windows 中那样“热插拔”吗?

安装输出:

/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=joe)
/dev/sdb1 on /media/joe/HD-EG5 type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)

答案1

您可以安装热插拔文件系统sync。以下 U+L 问题提供了更多详细信息:“同步”和“异步”安装选项之间的差异

(但请注意,Gilles 在 2010 年 SU 答复的评论中强调了一个可能严重的缺陷:我应该在拔掉 USB 驱动器之前卸载它吗?;这可能很糟糕,至少在 FAT 文件系统上,而且速度也慢得难以忍受。)

本质上,对挂载的文件系统的写入sync实际上会尽快提交到磁盘;写入过程将等待写入完成后再返回。虽然这并不能完全模拟 Windows 行为(拔出已安装的驱动器仍会导致其被标记为脏,可能需要在重新安装时进行 fsck),但它会大大降低意外拔出导致数据丢失的可能性。

相关内容