it-swarm.cn

如何在Linux中挂载设备?

我阅读了一些有关在Linux上安装设备的mount命令的资源,但是这些资源都不是很清楚(至少对我而言)。

总体而言,这是大多数指南指出的内容:

$ mount
(lists all currently mounted devices)

$ mount -t type device directory
(mounts that device)

for example (to mount a USB drive):
$ mount -t vfat /dev/sdb1 /media/disk

我不清楚的是:

  • 我如何知道在$ mount -t type device directory中用于“设备”的内容?也就是说,我如何知道我应该在此命令$ mount -t vfat /dev/sdb1 /media/disk中使用“/dev/sdb1”来挂载USB驱动器?

  • 这里的“ -t”参数定义什么?类型?

我读了几次手册页($ man mount),但是我可能仍然缺少某些内容。请说清楚。

78
its_me

您可以使用fdisk来了解您所拥有的分区类型,例如:

fdisk -l

显示:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63   204796619   102398278+   7  HPFS/NTFS
/dev/sda2       204797952   205821951      512000   83  Linux
/dev/sda3       205821952   976773119   385475584   8e  Linux LVM

这样,您就知道您拥有sda1,2和3分区。 -t选项是文件系统类型;它可以是NTFS,FAT,EXT。在我的示例中,sda1是ntfs,因此它应该类似于:

mount -t ntfs /dev/sda1  /mnt/

USB设备通常是vfat,Linux通常是ext。

86
ghm1014

我对此真的很生锈,然后又开始回来了。

Alibi:这是Ubuntu 14版本。你的旅费可能会改变。

我使用lsblk来获取我的挂载点,这与mount不同。对我而言,lsblkmount更容易阅读

在挂载设备之前,请确保已创建目录。

Sudo mkdir /{your directory name here}
Sudo mount /dev/{specific device id} /{your directory name here that is already created}

您应该一切顺利,但是请检查该新目录的安全权限,以确保它是您想要的。

20
Sunriver61

如今,您可以使用详细路径来安装特定设备。

例如:

mount /dev/disk/by-id/ata-ST31500341AS_9VS2AM04-part1 /some/dir
mount /dev/disk/by-id/usb-HTC_Android_Phone_SH0BTRX01208-0\:0 /some/dir
7
Šimon Tóth

mount(命令)通常找出设备上文件系统的“类型”。我想弄清楚设备文件名很困难。您几乎必须知道磁盘驱动器的命名约定才能弄清楚。

在最新的Arch Linux机器上:

133 % ls /dev/sd??
/dev/sda1  /dev/sda2  /dev/sda3  /dev/sda4  /dev/sdb1  /dev/sdb2

但这在成熟的(2.6.20.9)Slackware机器上不起作用:

1 % ls /dev/sd??
zsh: no matches found: /dev/sd??
2 % ls /dev/hd??
/dev/hda1  /dev/hda2

事先不知道/dev/sd* 要么 /dev/hd*是硬盘设备文件,必须使用lspcilsusb或其他名称来确定设备文件名。 USB设备通常在/var/log/messages帮助您找出udev分配给他们的设备文件。

4
Bruce Ediger

为什么我们有很多方法可以做到这一点,但是与往常一样,我们也考虑到了这一点,并且不知道设备中使用的文件系统可能会在哪些方面造成一些阻碍,但是我们可以使用“自动”选项提供一些帮助。

mount -t auto /dev/sdb1 /media/pendrv

并准备好安装我们的设备:/ media/pendrv准备使用,然后只需使用:

umount /media/pendrv

...释放设备。

2
Joke Sr. OK

在Ubuntu 14上,您还可以使用“磁盘”应用程序:

enter image description here

首先单击左侧面板上的磁盘,然后单击右侧面板上的分区。右面板的底部显示格式,当前安装状态等。您也可以使用此GUI创建/删除/格式化分区。

1
Shital Shah

坐骑所说的“设备”是一个逻辑块设备,上面有一个文件系统。

“设备”也可以表示产品(SSD是驱动器,HDD是磁盘驱动器,DVD是磁盘,ODD是磁盘驱动器。

通常,哪一个完全无关紧要。但是,当涉及到挂载(或格式化或分区)时,它确实很重要,因为在逻辑上很重要。

如您所见,sda就在sda1、2、3旁边,还有sdb,sdc,每个分区都有它们的分区。因此,您可能会出错。

当你 mount /dev/sdb1 /media/disk/,您正在从SATA磁盘“ b”中选择分区1。如果该sdb1是USB笔分区,则安装点的名称不太准确。

您甚至可以安装一块RAM来制作一个ramdisk或一个文件(“循环设备”)。或者是一个全虚拟的“设备”,例如sysfs,它会填充/ sys目录(mountpoint )。

挂载的概念以及命令挂载的概念依赖于具有三个主要元素的概念(VFS等):

  1. 分区/块设备:比较fdisk -llsblkcat /proc/partitions。这很棘手,但是80%只是不同的观点。
  2. 文件系统:格式化将20GB分区变成一个空目录,具有18GB可用空间来填充文件。见man mkfsman mkfs.ext2(mkfs.FSTYPE)。
  3. Mountpoint:这只是一个“挂钩”,一个(空)目录,新分支附加到该目录(顶级)“ /”。通过绑定覆盖可以创建复杂的FS树木,但任何临时mkdir xyz很好,从技术上讲。

所有这些安装都是由sysadmin在/ etc/fstab中集中配置的。随着当今大容量存储的热插拔,事情变得有些复杂。

对于USB笔,它是一个内核模块,可在一瞬间弹出/ dev/sdb及其分区。

热插拔的所有进一步自动化(尽管如此简单)必须由udev协调,有时还需要其他工具来完善。 Udev可以处理所有设备,而不仅仅是存储。

我们陷入了自动弹出一个新图标(甚至只是一个具有适当名称的“设备”)和具有(虚拟)文件系统的内核系统地准备零件的麻烦之间。但是使用RAID和加密以及所有不同的存储“设备”,Linux必须添加一些层。

最后,您希望这些内容唾手可得。

通常,您只需要标识正确的... DEVICE;)。您可以 ls /dev/sd*看看有什么:哪些字母,哪些数字标识您的设备...

然后输入

mkdir mydev
mount /dev/DEVICE mydev

(您可以省略-t type部分)

0
rastafile

ThoerX论坛 用fdisk -l检查设备

Partition the device as following :-
fdisk /dev/sda
d - Delete old partitions
n - New partition
select partition number
select start block
select end block
v - verify the new partition
w - write through

now fdisk - l should show /dev/sda1 with proper filesystem type (say ext4)
mount -t ext4 /dev/sda1 /myMountPoint
0
Gaurab