首先需要在Linux系统里检测到USB硬盘
将USB设备插入USB端口后,Linux系统将一个新的块设备添加到/dev/目录中。这个阶段还无法使用该设备,因为在获取或存储任何数据之前需要先清除USB文件系统。
查找块设备文件的名称,可以运行fdisk -l命令。
# 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
上面的输出很可能会列出连接到系统的多个磁盘。根据其大小和文件系统查找USB驱动器。准备就绪后,记下要安装的分区的块设备名称。例如, FAT32文件系统的/dev/sdc1
建立 mount 的挂载点
在能够使用mount命令挂载USB分区之前,我们需要创建一个挂载点。挂载点可以是主机文件系统中的任何新目录或现有目录。使用mkdir命令创建一个新的挂载点目录来挂载USB设备:
# mkdir /media/usb-drive
挂载USB磁盘
我们准备将USB分区挂载/dev/sdc1到/media/usb-drive挂载点:
# mount /dev/sdc1 /media/usb-drive/
检查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命令未产生任何输出,就代表没有mount好USB分区,肯定哪里出错了。
如何访问USB设备的数据?
如果一切顺利,我们cd到先前创建的安装点即可访问USB数据/media/usb-drive:
# 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
如何永久Mount磁盘?
为了在重启后永久安装USB驱动器,请将以下行添加到/etc/fstab配置文件中:
/dev/sdc1 /media/usb-drive vfat defaults 0 0
但是,如果在Linux系统中添加或删除其他驱动器,则上述安装方法可能会失败。因此,建议使用分区UUID而不是原始块设备名称。为此,请首先找到您的USB驱动器的UUID:
# ls -l /dev/disk/by-uuid/*
lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/2020-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命令输出,我们可以看到属于块设备的UUIDsdc1是8765-4321,在文件/etc/fstab加一行:
/dev/disk/by-uuid/8765-4321 /media/usb-drive vfat 0 0
运行mount -a命令安装所有尚未安装的设备。
# mount -a