Ubuntu 22.04,与 Windows 10 双启动,使用共享 NTFS 驱动器进行数据存储。使用 Dolphin 作为我的默认文件管理器。
经过漫长的摸索,我对共享分区的挂载选项进行了精细的调整(原因超出了本文的讨论范围),最终手动设置了 NTFS 分区的挂载配置(/dev/sda2
)/etc/fstab
(auto
带有启动时自动挂载的选项)。
从默认的“库存”挂载程序切换到自定义挂载程序后,我注意到 Dolphin 已停止显示共享 NTFS 分区内的文件夹预览。快速搜索后,我找到了解决该问题的简单方法:用ntfs-3g
原生挂载程序替换基于 FUSE 的挂载程序ntfs3
。这种方法有效(nls=utf8
从我的fstab
条目中删除后),经过热卸载/挂载序列后,我在 Dolphin 中恢复了文件夹预览。
但是,重新启动后,我再次丢失了文件夹预览。卸载并重新安装可以解决问题,这引出了以下问题:
- 启动/启动安装程序是否被缓存?
- 我的 NTFS 分区的启动挂载是否仍在使用
ntfs-3g
? - 我如何强制启动挂载遵守
fstab
配置?
我的fstab
台词:
UUID=xyz /media/me/DATA ntfs3 rw,auto,users,exec,umask=000,dmask=027,fmask=137,gid=1000,uid=1000,windows_names 0 0
答案1
好吧,经过进一步的挖掘和运气,我想我已经找到了答案!问题是(我已经从原始帖子中省略了这些信息,因为我已经完全忘记了它),在执行此路线之前,我曾尝试使用服务单元(放置在中)fstab
设置共享 NTFS 分区的自动挂载。由于存在链接和书签,我试图“替换”自动挂载程序配置而不更改挂载点。现在我的单元有以下指令:systemd
/etc/systemd/system/
systemd
[Unit]
Description=Mount DATA
[Mount]
What=/dev/sda2
Where=/media/me/DATA
Type=ntfs
Options=defaults
[Install]
WantedBy=multi-user.target
并且服务的文件名符合要求:media-me-DATA.mount
在最初摆弄该选项后,我决定放弃尝试,fstab
改为直接尝试。我禁用了该服务 ( systemctl disable media-me-DATA.mount
),但文件仍挂在/etc/systemd/system
目录中。
快进到fstab
安装,我使用了与上述服务相同的安装点,经过合理的推断,自动挂载程序似乎systemd
通过在后台创建一个“即时”服务来完成,显然发生了冲突。当自动挂载程序检测到具有正确名称的现有服务单元时,它会启用并激活它,而不是使用来自的配置创建一个新的服务单元fstab
。并且由于现有服务配置为使用,冲突导致分区通过而不是defaults
自动挂载。ntfs-3g
ntfs3
因此,无需牺牲挂载点的修复方法是简单地media-me-DATA.mount
从中删除“挂起”文件/etc/systemd/system
,现在一切正常。启动自动挂载现在遵循fstab
配置并通过 进行挂载ntfs3
,并且 Dolphin 在启动时显示共享 NTFS 分区的文件夹预览。