在 Linux 上挂载/卸载磁盘

查看机器上的磁盘

fdisk 是 Linux 上用来操作磁盘分区表的工具。使用 fdisk -l 命令,可以列出系统识别的所有磁盘及其分区。

/dev 目录下的 sd? 即是物理磁盘。例如 sda 是系统读到的第一块磁盘,sdb 则是第二块磁盘。在较老的 kernel 中,由于没有 ATA 支持,因此物理磁盘可能是 /dev/hd?(IDE)或者是 /dev/sd?(SCSI)。

/dev/sda? 则是 sda 这块物理磁盘上的分区。/dev/sda1 是该磁盘上的第一块分区。

这里 /dev/sdb 这块磁盘尚未被正确挂载,而正是它保存了所需的数据。

创建挂载点

在挂载磁盘之前,首先要为它创建一个挂载点。挂载点说白了是一个目录,在执行 mount 命令挂载前,它必须是已经存在的目录。挂载成功后,访问该目录即可访问相应磁盘的内容。若挂载前挂载点中存在内容,则挂载后这些内容暂不可见,当卸载后这些内容又会变得可见。

比如我想将磁盘挂载于 /mnt/data 就要创建这样一个空目录。

1
mkdir -p /mnt/data

确定磁盘文件系统类型

在挂载磁盘之前,还需要确定磁盘(分区)的文件系统类型。若不然,挂载时选错文件系统类型可能造成一系列奇怪的现象。为此,我们需要执行 parted -l 命令。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# parted -l
Model: # masked
Disk /dev/sda: 599GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:

Number  Start   End    Size    Type     File system     Flags
 1      1049kB  105GB  105GB   primary  xfs
 2      105GB   109GB  4295MB  primary  linux-swap(v1)
 3      109GB   599GB  490GB   primary  xfs             boot


Model: # masked
Disk /dev/sdb: 6119GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop
Disk Flags:

Number  Start  End     Size    File system  Flags
 1      0.00B  6119GB  6119GB  ext4

由此可见,目标磁盘 /dev/sdb 的文件系统类型是 ext4

挂载磁盘

此时,我们就能挂载磁盘了。

1
mount -t ext4 /dev/sdb /mnt/data

这里 -t ext4 表示目标磁盘(分区)的文件系统类型是 ext4/dev/sdb 是待挂载的磁盘(分区),/mnt/data 是目标挂载点。

卸载磁盘

与 mount 相对的命令是 umount。注意是 umount 而不是 unmount——没有那个 n

卸载时,给 umount 的参数可以是挂载点,也可以是磁盘(分区)的名字。在这里,以下两种操作等价:

1
2
umount /dev/sdb
umount /mnt/data

若是希望挂载的磁盘正在被其他进程读写,则 Linux 会提示 device is busy。此时,可以执行 umount -l 命令,让 Linux 在无其他进程读写目标磁盘时,再行卸载。或者,也可以用 ps 命令查看使用该磁盘的进程有哪些,然后妥当处理后再卸载。

 

Linux磁盘卸载_umount卸载磁盘-CSDN博客

从 Linux VM 中拆离数据磁盘 – Azure – Azure Virtual Machines | Microsoft Learn

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/314152.html

(0)
上一篇 2024年7月22日 10:29
下一篇 2024年7月22日 17:56

相关推荐

发表回复

登录后才能评论