在启动时通过 fstab 挂载 NTFS 分区仍然可以正常工作,但进程永远不会终止

在启动时通过 fstab 挂载 NTFS 分区仍然可以正常工作,但进程永远不会终止

mount.ntfs如果分区似乎已正确安装,为什么操作永远不会完成(继续烧毁 CPU)?这怎么调试呢?

在 Linux Mint 19.3 上,我的 fstab(如下)已经正常运行了很长时间。它安装了我与 Windows 共享的 NTFS 数据分区。好久没用windows了,肯定不是冬眠。启动时,它会正确安装驱动器(并绑定某些文件夹),并且我可以访问所有数据。像往常一样,它似乎完全有效,但这是我在网上找不到任何其他参考的地方。

登录后启动后,root 进程mount.ntfs会继续消耗/消耗一个核心的 CPU 使用量。我无法弄清楚是什么原因造成的(因为它似乎已经安装了),但该过程确实来自 fstab: cat /proc/[id of mount.ntfs process]/cmdline: /sbin/mount.ntfs /dev/sda7 /mnt/DATA -o rw,noatime,locale=en_US.utf8,umask=007,uid=1000,gid=1000

# /etc/fstab: static file system information.
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda9 during installation
UUID=xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /               ext4    noatime,errors=remount-ro 0       1
# /boot/efi was on /dev/sda2 during installation
UUID=xxxx-xxxx  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/sda10 during installation
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx none            swap    sw              0       0
# Data Partition, on /dev/sda7
UUID=xxxxxxxxxxxxxxxxx /mnt/DATA ntfs noatime,defaults,locale=en_US.utf8,umask=007,uid=1000,gid=1000    0   2
# Bind directories correctly
/mnt/DATA/Downloads                 /home/me/Downloads  none    bind,x-systemd.requires=/mnt/DATA       0   0
/mnt/DATA/Desktop/LinDesktop        /home/me/Desktop    none    bind,x-systemd.requires=/mnt/DATA       0   0
/mnt/DATA/Documents                 /home/me/Documents  none    bind,x-systemd.requires=/mnt/DATA       0   0
/mnt/DATA/Media/Music               /home/me/Music      none    bind,x-systemd.requires=/mnt/DATA       0   0
/mnt/DATA/Media/Pictures            /home/me/Pictures   auto    bind,x-systemd.requires=/mnt/DATA       0   0
/mnt/DATA/Media/Videos              /home/me/Videos     auto    bind,x-systemd.requires=/mnt/DATA       0   0
/mnt/DATA/Workspace                 /home/me/Workspace  auto    bind,x-systemd.requires=/mnt/DATA       0   0

看看 strace,它似乎成功地进行了写入和读取......这是值得的。

% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 30.51    1.392332           3    518018           pread64
 26.86    1.225702           3    416749           pwrite64
 18.16    0.828499           4    232782         1 writev
 15.72    0.717149           3    236584           read
  7.22    0.329389          86      3846           fsync
  0.98    0.044537           3     15188           sendto
  0.55    0.025258           2     15188           getpid
------ ----------- ----------- --------- --------- ----------------
100.00    4.562866               1438355         1 total

我能找到的安装(在 syslog/dmesg 中)的唯一错误只是在启动时重新安装 root / ,早在安装其他驱动器之前:[ 4.155258] EXT4-fs (sda9): re-mounted. Opts: errors=remount-ro 编辑(在此处移动带有更多信息的注释):

如果我注释掉 fstab 中的安装并重新启动,它只会在用户登录后挂起。 (必须下降到 root shell 才能从启动重新启用安装)。umount -av会说 /mnt/DATA 正忙且无法卸载。我认为这个问题也是我无法暂停的原因,因为 1 个进程(这个)拒绝休眠。

umount 将建议(从选项卡完成)/mnt/DATA 作为目标的挂载,但如果我终止 mount.ntfs 进程,那么它也会将其作为要卸载的挂载删除。现在我仔细观察,有一个 dconf 服务从一开始就使用大量 CPU 运行,我不知道它为什么/在做什么,如果我强行杀死挂载,它(如前所述)会飙升。 ntfs进程。

尝试强制卸载sudo umount -f /mnt/DATA也会报告目标正忙;这会导致该mount.ntfs过程消失,但会使dconf-service尖峰变热。它的 /proc/cmdline 只是/usr/lib/dconf/dconf-service;我不知道如何获得更多关于它在这个问题上实际做了什么的信息。此卸载(和其他操作)也会导致此消息发送到 stderr:fatal: unable to access '/[path to now-broken symlink to drive subfolder]': Transport endpoint is not connected

相关内容