如何在Linux中挂载驱动器

如何在Linux中挂载驱动器

Mount是Linux中用于连接文件系统和驱动器的命令,而umount命令用于分离(卸载)任何文件系统或设备。

在本教程中,我们将学习如何使用mount命令在具有EXT Linux文件系统FAT或NTFS的Linux中装入(附加)驱动器。我们也可以使用相同的命令来挂载USB驱动器和ISO映像。

在Linux和UNIX之类的操作系统上,我们都可以使用mount / umount命令来附加/分离设备。

列出已挂载的文件系统和Linux驱动器

要显示所有当前附加的文件系统,我们将输入:

$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=491472k,nr_inodes=122868,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=100904k,mode=755)
/dev/sda1 on / type ext4 (rw,relatime,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
....

默认情况下,输出将包括所有文件系统,包括虚拟文件系统,例如cgroup,sysfs等。每行包含有关设备名称,设备安装目录,文件系统类型和安装选项的信息。

要仅列出某些类型的文件系统,我们将使用-t选项:

$ mount -t ext4
/dev/sda1 on / type ext4 (rw,relatime,data=ordered)

仅列出ext4 Linux文件系统通常会显示我们的Linux驱动器。

您可以使用fdisk来了解您拥有哪种Linux分区和设备,例如:

$ sudo fdisk -l
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 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
Disklabel type: dos
Disk identifier: 0x817e2210

Device     Boot Start      End  Sectors Size Id Type
/dev/sda1  *     2048 20971486 20969439  10G 83 Linux


Disk /dev/sdb: 10 MiB, 10485760 bytes, 20480 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

在我的Fedora Linux计算机上,我们可以看到不同的驱动器配置:

$ sudo fdisk -l
Disk /dev/sda: 223.58 GiB, 240057409536 bytes, 468862128 sectors
Disk model: TS240GSSD220S   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 7AA5C627-6B3A-4500-91B2-757F762207CF

Device       Start       End   Sectors   Size Type
/dev/sda1     2048    411647    409600   200M EFI System
/dev/sda2   411648   2508799   2097152     1G Linux filesystem
/dev/sda3  2508800 468860927 466352128 222.4G Linux LVM


Disk /dev/mapper/fedora_localhost--live-root: 70 GiB, 75161927680 bytes, 146800640 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 /dev/mapper/fedora_localhost--live-swap: 7.84 GiB, 8401190912 bytes, 16408576 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 /dev/mapper/fedora_localhost--live-home: 144.56 GiB, 155206025216 bytes, 303136768 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

现在,当我插入USB闪存驱动器时,我们将获得更多信息 fdisk -l

Disk /dev/sdb: 1.88 GiB, 1998585856 bytes, 3903488 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1  *     2048 3903487 3901440  1.9G  c W95 FAT32 (LBA)

当我们需要找到要安装(连接)或分离的驱动器时,这一点很重要。在这种情况下,我们看到USB驱动器是/ dev / sdb1。

从驱动器读取安装选项

我们可以用 mount -t 命令列出驱动器安装选项。我之前插入的USB驱动器已自动挂载,我们看到文件系统是VFAT。

$ mount -t vfat
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro)
/dev/sdb1 on /run/media/slax/tribal type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)

我们看到USB驱动器在/ run / media / slax / tribal上以/ dev / sdb1的形式挂载。

您可以在安装手册页中了解有关特定选项的信息。

挂载Linux文件系统

要挂载驱动器,我们需要使用以下格式的mount命令为其分配根目录(挂载点):

$ mount [OPTIONS...] DRIVE DIRECTORY

通常,mount命令将自动检测文件系统类型,但是某些文件系统无法识别,需要将其指定为参数。

使用-t选项指定文件系统类型:

$ mount -t FILESYSTEM DRIVE DIRECTORY

要指定其他安装选项,可以使用-o选项:

$ mount -o OPTIONS DRIVE DIRECTORY

您可以使用多个选项,方法是用逗号分隔(不要在逗号后插入空格)。

挂载Linux USB驱动器

所以首先我们需要创建一个挂载点(目录):

$ sudo mkdir /media/myusb

接下来,我们将驱动器安装到/ media / myusb:

$ sudo mount /dev/sdb1 /media/myusb/

dh -H 我们可以在最后一行看到USB设备已成功安装。

$ df -H
Filesystem                               Size  Used Avail Use% Mounted on
devtmpfs                                 8.4G     0  8.4G   0% /dev
tmpfs                                    8.4G  149M  8.2G   2% /dev/shm
tmpfs                                    8.4G  2.0M  8.4G   1% /run
/dev/mapper/fedora_localhost--live-root   74G   22G   49G  31% /
tmpfs                                    8.4G  103k  8.4G   1% /tmp
/dev/sda2                                1.1G  229M  725M  24% /boot
/dev/mapper/fedora_localhost--live-home  152G   60G   85G  42% /home
/dev/sda1                                210M   21M  189M  10% /boot/efi
tmpfs                                    1.7G   14M  1.7G   1% /run/user/1000
/dev/sdb1                                2.0G  4.1k  2.0G   1% /media/myusb

使用/ etc / fstab文件挂载文件系统

/ etc / fstab中配置的挂载点及其选项将在系统启动时自动挂载。

/ etc / fstab文件包含以下形式的条目列表:

| File System | Mount Point | FileSystem Type | Options | Dump | Pass |

这是我计算机上的示例/ etc / fstab文件:

$ cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Sun Aug  4 04:28:13 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
192.168.0.15:/volume1/NetBackup /mnt/perun	nfs	_netdev,defaults	0 0
/dev/mapper/fedora_localhost--live-root /                       ext4    defaults        1 1
UUID=a061115a-5965-4525-a3e9-b4c52c43ecf1 /boot                   ext4    defaults        1 2
UUID=1D56-1DD9          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/fedora_localhost--live-home /home                   ext4    defaults        1 2
/dev/mapper/fedora_localhost--live-swap none                    swap    defaults        0 0

因此,您可以添加一个条目,并在/ etc / fstab中配置安装点,以使其始终在系统引导时进行安装。

挂载NFS共享

NFS代表网络文件系统。要挂载NFS共享,您需要在Linux系统上安装NFS客户端软件包。

要在Ubuntu和Debian上安装NFS客户端,请输入:

$ sudo apt install nfs-common

要在CentOS和Fedora上安装NFS客户端:

$ sudo yum install nfs-utils

正如我们在示例/ etc / fstab文件条目中看到的那样,我已经在计算机上配置了NFS共享:

192.168.0.15:/volume1/NetBackup /mnt/perun	nfs	_netdev,defaults	0 0

您可以使用Nano或Vim在计算机上的/ etc / fstab中添加一个条目,然后输入远程NFS共享目录的URL路径以及用于访问远程文件的本地挂载点(目录)。

挂载ISO文件

您可以使用循环设备挂载ISO文件,该循环设备是一种特殊的伪设备,可使文件作为块设备进行访问。

首先创建要与ISO文件一起使用的安装点目录:

$ sudo mkdir /media/iso

通过键入以下命令将ISO文件安装到安装点:

$ sudo mount /path_to_image.iso /media/iso -o loop

当然,在上面的示例命令中,path_to_image.iso是您的ISO文件的路径。

卸载文件系统

要分离已挂载的文件系统,请使用umount命令,后跟已挂载文件系统的目录(挂载点)或设备名称。如果我们使用之前的USB驱动器作为示例,则命令将如下所示:

$ sudo umount /run/media/slax/tribal
$ sudo umount /dev/sdb1

如果文件系统正在使用中,则umount命令将无法分离文件系统。

懒惰卸载

一旦不再繁忙,请使用-l(–lazy)选项卸载繁忙的文件系统。

$ sudo umount -l /dev/sdb1

强制卸载

使用-f(–force)选项强制卸载。此选项通常用于卸载无法访问的NFS系统。对于我的NFS共享,命令为:

$ sudo umount -f /mnt/perun

强制卸载不是一个好主意,因为它可能损坏文件系统上的数据。

结论

在本教程结束时,您应该对如何使用mount和umount命令附加和分离各种文件系统有很好的了解。我们还看到了如何以各种方式以及使用几种媒体选项(例如ISO文件,NFS共享和USB闪存驱动器)来实现这一目标。