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