如何在 Linux 中挂载 USB 驱动器 - Mount 命令使用示例
在本教程中,我们将介绍如何使用终端和 shell 命令行在 Linux 系统中挂载 USB 驱动器。这允许您将任何文件系统的 USB 驱动器安装到系统上的某个安装点。如果您使用桌面管理器,您很可能可以使用它来安装 USB 驱动器。
安装 USB 驱动器与安装 USB 记忆棒甚至常规 SATA 驱动器没有什么不同。下面的视频示例将演示在Linux系统上挂载USB驱动器的整个过程。为了获得更多理解,请阅读后续段落。在Linux中,您可以挂载所有文件系统,包括ext4、FAT和NTFS。
在本教程中,您将学习如何:
检测您的 USB 驱动器
创建自定义挂载点
在Linux中挂载USB
访问 USB 驱动器的数据
有关如何在 Linux 中安装 USB 的视频示例
检测 USB 硬盘
将 USB 设备插入 USB 端口后,Linux 系统会在
/dev/
目录中添加一个新的块设备。在此阶段,您无法使用此设备,因为需要先安装 USB 文件系统,然后才能检索或存储任何数据。要找出块设备文件的名称,您可以运行 fdisk -l 命令。注意
fdisk
命令需要管理权限才能访问所需信息,因此,需要以 root 用户身份或使用sudo
前缀执行该命令。# fdisk -l OR $ sudo fdisk -l
执行上述命令后,您将得到类似于以下内容的输出:
Disk /dev/sdc: 7.4 GiB, 7948206080 bytes, 15523840 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: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sdc1 * 8192 15523839 15515648 7.4G b W95 FAT32
创建挂载点
在我们能够使用mount命令挂载USB分区之前,我们需要创建一个挂载点。挂载点可以是主机文件系统中的任何新目录或现有目录。使用
mkdir
命令创建一个要挂载 USB 设备的新挂载点目录:# mkdir /media/usb-drive
安装 USB 驱动器
在此阶段,我们准备将 USB 分区
/dev/sdc1
挂载到/media/usb-drive
挂载点:# mount /dev/sdc1 /media/usb-drive/
要检查您的 USB 驱动器是否已正确挂载,请再次执行不带任何参数的 mount 命令,并使用
grep
搜索 USB 块设备名称:# mount | grep sdc1 /dev/sdc1 on /media/usb-drive type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf8,shortname=mixed,errors=remount-ro
如果上述 mount 命令未产生任何输出,则您的 USB 分区尚未挂载。或者,仔细检查您在上述命令中是否使用了正确的块设备名称。
访问 USB 数据
如果一切顺利,我们只需导航到之前创建的挂载点
/media/usb-drive
即可访问 USB 数据:# cd /media/usb-drive
USB卸载
在我们能够卸载 USB 分区之前,我们需要确保没有进程正在使用或访问我们的挂载点目录,否则我们将收到类似于以下内容的错误消息:
umount: /media/usb-drive: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
关闭 shell 或离开 USB 挂载点,然后执行以下 linux 命令来卸载 USB 驱动器:
# umount /media/usb-drive
Linux 中的永久 USB 安装
为了在重启后将 USB 永久挂载到 Linux 中,请将以下行添加到您的 /etc/fstab
配置文件中:
/dev/sdc1 /media/usb-drive vfat defaults 0 0
对于任何其他文件系统类型,只需设置正确的类型。例如,以下命令将挂载具有 NTFS 文件系统的 USB 驱动程序:
/dev/sdc1 /media/usb-drive ntfs defaults 0 0
警告
使用 /etc/fstab
中的块设备名称引用 USB 驱动器可能无法为您提供最佳的长期解决方案。根据 Linux 系统上可用的 USB 驱动器的数量,块设备名称可能会发生变化。尽管它可能作为临时解决方案为您提供良好的服务,但您最好使用 UUID 原始块设备名称,如下所述。
因此,建议使用分区 UUID 而不是原始块设备名称。为此,首先找到 USB 驱动器的 UUID:
# ls -l /dev/disk/by-uuid/*
lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/2016-08-30-11-31-31-00 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/3eccfd4e-bd8b-4b5f-9fd8-4414a32ac289 -> ../../sda1
lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/4082248b-809d-4e63-93d2-56b5f13c875f -> ../../sda5
lrwxrwxrwx 1 root root 10 Mar 28 01:09 /dev/disk/by-uuid/8765-4321 -> ../../sdc1
lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/E6E3-F2A2 -> ../../sdb2
根据上面的ls
命令输出,我们可以看到属于块设备sdc1
的UUID是8765-4321
,因此我们的/etc /fstab
安装行将是:
/dev/disk/by-uuid/8765-4321 /media/usb-drive vfat defaults 0 0
运行mount -a
命令挂载所有尚未挂载的设备。
# mount -a
结束语
在本教程中,我们了解了如何在 Linux 系统上安装 USB 驱动器,以便访问其数据并将新数据存储到其中。 Linux 可以临时挂载我们插入的 USB 驱动器,或者永久挂载我们不打算删除的存储设备。无论您有小型拇指驱动器还是大型外部驱动器,此处的命令都应该能够挂载您的 USB 存储设备。
故障排除
fstype 错误
当您尝试安装 USB 记忆棒时,您可能会收到以下错误:
mount: /mnt/sda: wrong fs type, bad option, bad superblock on /dev/sda1, missing codepage or helper program, or other error.
确保您在 /etc/fstab
中正确定义了格式,如下所示:
<file system> <mount point> <type> <options> <dump> <pass>
确保您已按正确的顺序定义了上述所有列。