如何像 nautilus 一样使用 udisks 在 /media/userName/ 中安装驱动器

Abd*_*man 13 nautilus mount automount udisks

更新: Ubuntu 16.04+ 包含一个名为disks; 在破折号中搜索它。它是一个用于安装/处理磁盘的 GUI。我正在使用此工具安装或隐藏驱动器。


在我当前安装的 Ubuntu 13.10 Unity 中,当我单击 nautilus 中的驱动器时,它会安装在 /media/username/mountedDrive

我读到 nautilusudisks用来做到这一点。基本上我想udisks使用这种方法在启动时自动挂载我的驱动器

问题是,它将驱动器安装/media/mountedDrive在 ./media/username/mountedDrive

我希望我的 NTFS 数据驱动器自动安装在 /media/bsienn/

$ blkid

/dev/sda1: LABEL="System Reserved" UUID="8230744030743D6B" TYPE="ntfs" 
/dev/sda2: LABEL="Windows 7" UUID="60100EA5100E81F0" TYPE="ntfs" 
/dev/sda3: LABEL="Data" UUID="882C04092C03F14C" TYPE="ntfs" 
/dev/sda5: UUID="8768800f-59e1-41a2-9092-c0a8cb60dabf" TYPE="swap" 
/dev/sda6: LABEL="Ubuntu Drive" UUID="13ea474a-fb27-4c91-bae7-c45690f88954" TYPE="ext4" 
/dev/sda7: UUID="69c22e73-9f64-4b48-b854-7b121642cd5d" TYPE="ext4" 

$ sudo fdisk -l

Disk /dev/sda: 160.0 GB, 160000000000 bytes
255 heads, 63 sectors/track, 19452 cylinders, total 312500000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8d528d52

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   117730069    58761611    7  HPFS/NTFS/exFAT
/dev/sda3       158690072   312494116    76902022+   7  HPFS/NTFS/exFAT
/dev/sda4       117731326   158689279    20478977    5  Extended
/dev/sda5       137263104   141260799     1998848   82  Linux swap / Solaris
/dev/sda6       141262848   158689279     8713216   83  Linux
/dev/sda7       117731328   137263103     9765888   83  Linux

Partition table entries are not in disk order

$ cat /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda7 during installation
UUID=69c22e73-9f64-4b48-b854-7b121642cd5d /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=8768800f-59e1-41a2-9092-c0a8cb60dabf none            swap    sw              0       0
Run Code Online (Sandbox Code Playgroud)

jmi*_*rez 22

接受的答案并没有真正回答这个问题,即如何像 Nautilus在单击磁盘时那样使用 udisk 安装和卸载硬盘驱动器。您正在寻找的命令是udiskctl.

这非常简单,也适用于加密磁盘!

挂载(加密磁盘):

解锁磁盘:

$ udisksctl unlock -b /dev/sdb1
Unlocked /dev/sdb1 as /dev/dm-3.
Run Code Online (Sandbox Code Playgroud)

记下解锁设备的位置(此处/dev/dm-3)。然后自动挂载:

$ udisksctl mount -b /dev/dm-3 
Mounted /dev/dm-3 at /media/jmiserez/samsung1000.
Run Code Online (Sandbox Code Playgroud)

卸载(加密磁盘):

$ udisksctl unmount -b /dev/dm-3
Unmounted /dev/dm-3.
$ udisksctl lock -b /dev/sdb1
Locked /dev/sdb1.
Run Code Online (Sandbox Code Playgroud)

对于未加密的磁盘,只需在开头和结尾省略 lock/unlock 命令。

  • 感谢您的投入,我是绝对的初学者,需要完成这些事情。现在我只需使用“Disks”工具来安装驱动器。超级简单的 GUI 方式。非常感谢您的回答。谢谢 (2认同)

Sau*_*mar 11

正如你除了看/dev/sda5还有/dev/sda7没有其他分区的入口/etc/fstab。您可以按照以下步骤手动挂载分区。

  • 首先在创建入口点之前卸载所有分区/etc/fstab。您可以使用命令:sudo umount /dev/sdaX. 将X替换为您要卸载的分区号。卸载所有的最好方法是使用这个命令:

    sudo umount -a
    
    Run Code Online (Sandbox Code Playgroud)
  • 由于您想将分区挂载在/media/user/mount-drive; 您必须创建要挂载分区的挂载点。因此,您必须在那里创建目录才能安装分区。在终端中执行以下操作以创建目录(挂载点):

    sudo mkdir /media/user/sda1 /media/user/sda2 /media/user/sda3 /media/user/sda6
    
    Run Code Online (Sandbox Code Playgroud)

    替换user为您的 ubuntu 用户名。我,bsienn我想。

  • 现在您必须进行更改/etc/fstab才能安装所有分区。执行以下命令来执行此操作:

    sudo cp /etc/fstab /etc/fstab.orginal
    sudo nano /etc/fstab
    
    Run Code Online (Sandbox Code Playgroud)

    转到最后一行并添加以下行:

    UUID=8230744030743D6B /media/user/sda1    ntfs    errors=remount-ro 0       1
    UUID=60100EA5100E81F0 /media/user/sda2    ntfs    errors=remount-ro 0       1
    UUID=882C04092C03F14C /media/user/sda3    ntfs    errors=remount-ro 0       1
    UUID=13ea474a-fb27-4c91-bae7-c45690f88954 /media/user/sda6    ext4    errors=remount-ro 0       1
    
    Run Code Online (Sandbox Code Playgroud)

    再次更换user/media/user/sdaX用你的Ubuntu帐户名。

    一点解释: UUID="包含你硬盘分区的ID,第一个是分区的,/dev/sda1第二个是/dev/sda2分区的等等。sudo blkid命令对于获取分区信息非常有用,比如UUID文件系统类型分区条目等。所以任何人都可以使用它来获取他们的信息。/media/user/sda1是第一个分区的挂载条目等等。记住为什么我在上面创建了 4 个目录。ntfs是你的第一个分区的文件系统类型:/dev/sda1。它可能是其他类似的东西:ext3ext4, ntfs,fat等,您可以从sudo blkid我上面提到的命令。对于所有类型的文件系统,其他人都是一样的,它告诉如果发生任何错误,那么remount the file system in read-only mode 这个链接是一个很好的教程。

    Ctrl+x保存并退出。y提示保存时按。

  • 现在通过执行以下命令挂载所有分区:

    sudo mount -a
    
    Run Code Online (Sandbox Code Playgroud)

    如果你想挂载任何特定的分区,你可以使用:sudo mount /dev/sda1i,e 挂载第一个分区等等。

现在,当您启动系统时,所有分区都会自动挂载。您可以通过重新启动系统来检查它。:)

如果您需要进一步的帮助或出现问题,请回复。

编辑

忘记看图了,其实你可以在/media/bseinn/你想要的名字下创建文件夹名称。例如/media/bseinn/data可以创建而不是/media/bseinn/sda3; 同样/media/bseinn/ubuntudrive可以创建而不是/media/bseinn/sda6. 您必须在/etc/fstab文件中提供相同的名称。希望你能理解。