如何在 Linux 中掛載驅動器

Mount 是 Linux 中用於附加文件系統和驅動器的命令,而 umount 命令用於分離(卸載)任何附加的文件系統或設備。

在本教程中,我們將學習如何使用 mount 命令在 Linux 中使用 EXT Linux 文件系統、FAT 或 NTFS 掛載(附加)驅動器。 我們也可以使用相同的命令來掛載 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 分區和設備類型,例如 example:

$ 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 命令列出驅動器安裝選項。 我之前插入的U盤是自動掛載的,我們看到文件系統是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 驅動器(分區)作為 /dev/sdb1 掛載在 /run/media/slax/tribal 上。

您可以閱讀有關特定選項的信息 掛載手冊頁.

掛載 Linux 文件系統

要掛載驅動器,我們需要使用以下格式的 mount 命令為其分配一個根目錄(掛載點):

$ mount [OPTIONS...] DRIVE DIRECTORY

通常,mount 命令會自動檢測文件系統類型,但有些文件系統無法識別,需要指定為參數。

使用 -t 選項指定文件系統類型:

$ mount -t FILESYSTEM DRIVE DIRECTORY

要指定其他掛載選項,您可以使用 -o 選項:

$ mount -o OPTIONS DRIVE DIRECTORY

您可以使用逗號分隔多個選項(不要在逗號後插入空格)。

掛載 Linux U 盤

所以首先我們需要創建一個掛載點(目錄):

$ 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 安裝 nfs-common

在 CentOS 上安裝 NFS 客戶端和 Fedora:

$ 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 閃存驅動器)實現這一目標。