在啟動時透過 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 運行,我不知道它為什麼/在做什麼,如果我強行殺死掛載,它(如前所述)會飆升。

嘗試強制卸載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

相關內容