如何使用 **三个已挂载分区** 阻止特定驱动器(USB 连接)的自动挂载

如何使用 **三个已挂载分区** 阻止特定驱动器(USB 连接)的自动挂载

我需要阻止具有三个不同挂载点(分区)的特定外部驱动器(USB 连接,通过 UID)的自动挂载吗?

该驱动器的内容是使用 ddrescue 创建的 - 用于从故障驱动器复制数据。

该驱动器正在自动安装到三个位置(sdc1、sdc3、sdc4),并且正在以读写方式安装(坏)。我可以手动以只读方式重新安装。大多数 ddrescue 后工具都需要卸载驱动器。发生的事情是,当我退出工具时,驱动器正在自动重新安装(到三个安装点,r/w)。我收到了新设备安装通知 - 否则我永远不会想到会发生这种情况。

我找到了阻止自动挂载单个已挂载分区的外部驱动器的说明。使用 UID 向 fstab 添加条目。说明指出您必须输入挂载点。但此驱动器有三个挂载点。我该怎么做?另外,我更希望根本不定义挂载点。我应该能够通过 UID 阻止设备的自动挂载,仅此而已——必须由 root 手动挂载。


更新:这没有工作。

/etc/fstab

UUID=xxxx-xxxx /media/me/ESP vfat ro,noauto,nofail 0 0
UUID=xxxx-xxxx /media/me/DIAGS vfat ro,noauto,nofail 0 0
UUID=xxxxxxxxxxxxxxxx /media/me/WINRETOOLS ntfs ro,noauto,nofail 0 0
UUID=xxxxxxxxxxxxxxxx /media/me/OS ntfs ro,noauto,nofail 0 0

分区 1、3 和 4 仍像以前一样自动安装。(分区 2 从未自动安装过。)

答案1

man fstab页面中我们发现noauto参数...

  The fourth field (fs_mntops).
          This  field  describes  the  mount  options  associated with the
          filesystem.

          It is formatted as a comma-separated list of options.   It  con‐
          tains at least the type of mount (ro or rw), plus any additional
          options appropriate to the filesystem  type  (including  perfor‐
          mance-tuning options).  For details, see mount(8) or swapon(8).

          Basic filesystem-independent options are:

          defaults
                 use  default  options: rw, suid, dev, exec, auto, nouser,
                 and async.

          noauto do not mount when "mount -a"  is  given  (e.g.,  at  boot
                 time)

          user   allow a user to mount

          owner  allow device owner to mount

          comment
                 or x-<name> for use by fstab-maintaining programs

          nofail do  not  report errors for this device if it does not ex‐
                 ist.

使用sudo blkid您可以轻松确定要使用的正确 UUID。

您需要在 /etc/fstab 中创建这些条目...

sudo -H gedit /etc/fstab

UUID=xxxx-xxxx /media/me/ESP vfat ro,noauto,nofail 0 0
UUID=xxxx-xxxx /media/me/DIAGS vfat ro,noauto,nofail 0 0
UUID=xxxxxxxxxxxxxxxx /media/me/WINRETOOLS ntfs ro,noauto,nofail 0 0
UUID=xxxxxxxxxxxxxxxx /media/me/OS ntfs ro,noauto,nofail 0 0

更新#1:

OP 用 Thunar 替换了 Nautilus 文件管理器,而 Thunar 有一个单独的选项来安装外部驱动器。禁用该选项,一切正常。这不是标准配置。

答案2

在文件管理器 (非默认 Thunar) 中启用了自动挂载,这将覆盖 /etc/fstab。文件管理器 (卷管理) 中的设置是全有或全无,自动挂载外部驱动器,或不挂载。因此我禁用了该功能,并使用 udev 和 fstab 进行控制。

答案3

使用noautoin/etc/fstab作为heynnema 的回答答案对我很有效。

为了更容易生成所需的行,您可以lsblk打印所需的所有信息:

lsblk -o KNAME,UUID,FSTYPE,MOUNTPOINT

或者这行较长的命令,它给出 /etc/fstab 中预期的输出:

lsblk -o KNAME,UUID,FSTYPE,MOUNTPOINT | perl -nle 'if (/^(sd\S+) +([-a-z0-9]{36}) +(\S+) +(.*)/) {print "# was $4\n", "UUID=$2  /tmp/$1  $3  ro,noauto,nofail 0 0"}'

但请注意,它列出了所有带有 UUID 的磁盘,所以不要盲目地将其粘贴到 /etc/fstab 中...

相关内容