使用win10和archlinux双系统后,由于启用了win 10的 fastboot ,导致 linux里gnome3不能打开windows分区,会报错。我想把挂载选项改为只读,这样就可以安全挂载,但是不知道如何实现,请各位指导。文件管理列表左侧看到分区,点击后会报错。
Error mounting /dev/sda4 at /run/media/tigertall/BE6C48AB6C485FEF: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid
Failed to mount '/dev/sda4': Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the 'ro' mount option.
检查systemd发现,发现
[tigertall@tg-arch ~]$ systemctl list-units -t mount --all
UNIT LOAD ACTIVE SUB DESCRIPTION
-.mount loaded active mounted /
boot.mount loaded active mounted /boot
dev-hugepages.mount loaded active mounted Huge Pages File System
dev-mqueue.mount loaded active mounted POSIX Message Queue File System
proc-sys-fs-binfmt_misc.mount loaded active mounted Arbitrary Executable File Formats File System
run-media-tigertall-Alice.mount loaded active mounted /run/media/tigertall/Alice
run-user-1000-gvfs.mount loaded active mounted /run/user/1000/gvfs
run-user-1000.mount loaded active mounted /run/user/1000
run-user-120.mount loaded active mounted /run/user/120
sys-fs-fuse-connections.mount loaded active mounted FUSE Control File System
sys-kernel-config.mount loaded active mounted Configuration File System
sys-kernel-debug.mount loaded active mounted Debug File System
tmp.mount loaded active mounted Temporary Directory
var-lib-machines.mount loaded inactive dead Virtual Machine and Container Storage
run-media-tigertall-Alice.mount是我的移动硬盘。正常挂载win分区情况下,会出现一个类似的 run-media-tigertall-BEC6*.mount的一个服务。
第一,这个run-media-tigertall-Alice.mount是由谁在创建的,systemd 么,那是谁来触发的呢? udev和udisks2?是由这个来管理挂载么?
第二,检查udisks2的规则,发现 50-udev-default.rules 60-block.rules 80-udisks2.rules 99-systemd.rules 都定义了一些block的属性,那么是如何适配规则的?
第三,默认会挂载到 /run/media/用户/XXXX下,这个路径搜索了下,说是udisks2升级后默认,所以就没有指定默认路径了么?如果自定义路径,写在哪里呢?
第四,报错的挂载选项 mount -t ntfs -o uhelper=udisks2,nodev,nosudi... 这些是在哪个配置文件里指定的?
离线
.mount 不是服务,是挂载。systemd 会自动创建。
图形界面也许没地址设置额外的选项。命令行的话,使用 udisks2 是这样的:
udisksctl mount --block-device DEVICE --options OPTIONS...
如果要挂载到自己指定的路径,就不要用 udisks2 了。用 mount 或者 fstab 或者 systemd 的 .mount 吧。需要 root 权限。
离线
run-media-tigertall-Alice.mount 像这种文件,没有办法看到内容,这个文件的创建过程是怎样的呢? 比如 systemd 根据什么确定了这个文件名,又是根据什么确定了挂载选项?
离线
它没有对应的文件,选项也不是 systemd 给的。systemd 只是在事后弄了这么一个 .mount 而已。
离线