Linux 挂载磁盘详解及实操步骤

 更新时间:2023年06月16日 11:55:49   作者:蜀山剑客李沐白  
Linux中挂载磁盘是一项重要的操作,可以用于扩展存储空间,管理数据文件,备份和存储重要文件等,本文将详细介绍Linux系统中挂载磁盘的相关概念、步骤和实际操作指南

一、磁盘分区

在Linux中,磁盘是通过分区来使用的。分区是将一个硬盘划分成几个逻辑部分来使用,在每个分区中可以存储不同的文件系统。因此,在挂载磁盘之前,我们需要先对磁盘进行分区。磁盘分区的过程可以通过命令行工具或图形界面工具来完成。

常用的磁盘分区工具有:

  • cfdisk:命令行工具,适用于创建主分区和扩展分区,支持MBR和GPT分区表。

  • fdisk:命令行工具,适用于创建主分区和扩展分区,支持MBR分区表。

  • gdisk:命令行工具,适用于创建主分区、扩展分区和逻辑分区,支持GPT分区表。

  • gparted:图形界面工具,适用于创建主分区、扩展分区和逻辑分区,支持MBR和GPT分区表。

分区的目的是将一个硬盘划分成多个逻辑部分,每个部分可以单独使用和管理。当然,分区并不是必需的,我们也可以直接将整个硬盘作为一个单一的分区进行挂载。

二、文件系统

在Linux中,文件系统是挂载磁盘的重要概念。文件系统是指一种组织数据的方式,可以帮助我们在磁盘上存储和管理文件。常见的Linux文件系统有ext2、ext3、ext4、XFS等。

在挂载磁盘之前,我们需要先在磁盘上创建文件系统。创建文件系统的命令为mkfs。

例如,若要创建一个ext4文件系统,只需要运行以下命令:

mkfs.ext4 /dev/sdb1

其中"/dev/sdb1"表示要创建文件系统的分区。

三、挂载磁盘

在Linux中,挂载磁盘的命令为mount。在挂载磁盘之前,我们需要保证文件系统已经被创建,同时需要知道要挂载的设备和挂载点。

设备指的是要挂载的物理磁盘或分区,它的标识通常以/dev开头,后面跟着分区信息(如/dev/sda1)。

挂载点指的是要将设备挂载到哪个目录下,这个目录称为挂载点。挂载点通常是一个空目录,它必须存在于文件系统中才能被用作挂载点。

例如,我们要将一个ext4文件系统挂载到/mnt/data这个目录下,只需要运行以下命令:

mount /dev/sdb1 /mnt/data

这里"/dev/sdb1"是要挂载的设备,"/mnt/data"是挂载点。

四、开机自动挂载

在Linux中,如果要让磁盘在每次开机后自动挂载到指定的目录下,我们需要将挂载信息写入/etc/fstab文件中。

/etc/fstab是Linux系统中用于存储文件系统挂载信息的文件。它包含了系统启动时需要挂载的所有文件系统的信息,以及挂载时使用的选项。

我们需要在/etc/fstab文件中添加一个新的行来描述我们要挂载的文件系统。每一行包含了如下信息:

  • 设备:要挂载的设备名称,例如/dev/sdb1。

  • 挂载点:要将设备挂载到哪个目录下。

  • 文件系统类型:要挂载的文件系统类型,例如ext4。

  • 挂载选项:用于控制挂载行为的选项,例如noatime(不更新访问时间)和defaults(使用默认选项)等。

  • 挂载次序:系统应该以什么顺序挂载文件系统,例如0表示最先挂载。

例如,我们要将设备/dev/sdb1挂载到/mnt/data目录下,并使用ext4文件系统类型,同时在挂载时使用默认选项和noatime选项。我们需要在/etc/fstab文件中添加以下行:

/dev/sdb1 /mnt/data ext4 defaults,noatime 0 0

这样,在每次开机后,系统会自动挂载/dev/sdb1到/mnt/data目录下,并应用我们指定的挂载选项。

五、卸载磁盘

在Linux中,卸载磁盘的命令为umount。卸载磁盘之前,需要先检查磁盘上是否有进程在使用它。如果有,则需要先终止相应的进程,才能安全地卸载磁盘。

例如,若要卸载/mnt/data目录下的文件系统,只需要运行以下命令:

umount /mnt/data

六、实际操作

1. 使用lsblk命令查看新加入的磁盘信息

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   30G  0 disk 
├─sda1   8:1    0  512M  0 part /boot/efi
├─sda2   8:2    0    8G  0 part [SWAP]
└─sda3   8:3    0 21.5G  0 part /
sdb      8:16   0 100G  0 disk 

从上述结果可以看出,系统中新加了一个磁盘设备/dev/sdb。

2. 使用fdisk或者cfdisk分区新磁盘,并将分区标记为Linux文件系统类型(83)

例如使用fdisk命令:

$ sudo fdisk /dev/sdb 
Command (m for help): n  
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p  
Partition number (1-4, default 1): 1 
First sector (2048-209715199, default 2048):   
Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199):   
Created a new partition 1 of type 'Linux' and of size 100 GiB.
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 83 
Changed type of partition 'Linux' to 'Linux'.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

3. 格式化新分区,使用mkfs命令

$ sudo mkfs -t ext4 /dev/sdb1
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 26214400 4k blocks and 6553600 inodes
Filesystem UUID: 882b7297-1258-4e23-9d03-cf20654455b9
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (131072 blocks): done
Writing superblocks and filesystem accounting information: done 

4. 创建挂载目录,使用mkdir命令

$ sudo mkdir /mnt/data

5. 挂载分区,使用mount命令

$ sudo mount /dev/sdb1 /mnt/data

6. 验证挂载是否成功,使用df -h命令查看所有文件系统的储存器使用情况:

$ sudo df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           793M  1.7M  792M   1% /run
/dev/sda3        22G  1.5G   19G   8% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1       511M  4.0K  511M   1% /boot/efi
tmpfs           793M     0  793M   0% /run/user/1000
/dev/sdb1        99G   72M   94G   1% /mnt/data

从上述结果可以看出,新分区已经被成功挂载到/mnt/data目录下。

7. 添加自动挂载,编辑/etc/fstab文件,添加以下内容:

$ sudo su
$ echo '/dev/sdb1    /mnt/data    ext4    defaults    0    2' >> /etc/fstab 

七、总结

挂载磁盘是Linux系统中一个基本的操作,它可以帮助我们扩展存储空间,管理数据文件,备份和存储重要文件等。在挂载磁盘之前,我们需要先对磁盘进行分区,并且在分区上创建文件系统。然后,我们需要使用mount命令将设备挂载到指定的目录下,并在必要时使用/etc/fstab文件配置开机自动挂载。最后,在卸载磁盘之前,需要先检查是否有进程在使用磁盘,并终止相应的进程。

以上就是Linux 挂载磁盘详解及实操步骤的详细内容,更多关于Linux 挂载磁盘的资料请关注脚本之家其它相关文章!

相关文章

  • Linux 下解压 rar 文件的方法

    Linux 下解压 rar 文件的方法

    这篇文章主要介绍了Linux 下解压 rar 文件的方法,需要的朋友可以参考下
    2018-07-07
  • 利用VSCode进行远程Linux服务器、容器开发,达到ide开发项目的效果(最新推荐)

    利用VSCode进行远程Linux服务器、容器开发,达到ide开发项目的效果(最新推荐)

    最方便、最开始的开发方式当然是在本地ide中,比如初学者在Windows电脑上使用pycharm来学习python、深度学习,或者使用devc++、visual studio等来编写c++项目,在本地ide中,可以浏览文件夹、查看文本和图片等,进一步还可以运行调试python、C++等项目
    2022-12-12
  • centOS7.4 安装 mysql 5.7.26的教程详解

    centOS7.4 安装 mysql 5.7.26的教程详解

    CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。这篇文章主要介绍了centOS7.4 安装 mysql 5.7.26,需要的朋友可以参考下
    2019-06-06
  • ubuntu安装多个版本的CUDA并随时切换

    ubuntu安装多个版本的CUDA并随时切换

    这篇文章主要介绍了ubuntu安装多个版本的CUDA并随时切换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 修改wamp的apache默认端口80为8088以及www目录

    修改wamp的apache默认端口80为8088以及www目录

    这篇文章主要介绍了修改wamp的apache默认端口80为8088以及www目录为workphp,需要的朋友可以参考下
    2014-03-03
  • LAMP服务器性能优化技巧之加速PHP

    LAMP服务器性能优化技巧之加速PHP

    目前LAMP (Linux + Apache + MySQL + PHP) 近几年来发展迅速,已经成为Web 服务器的事实标准。本文我们将介绍基于LAMP组合的服务器的性能优化技巧:加速PHP。
    2012-02-02
  • Apache安装配置避坑指南

    Apache安装配置避坑指南

    这篇文章主要介绍了Apache安装配置避坑,很多小伙伴会遇到两个问题,一个是80端口被占用另一个是监听端口443端口被占用,本文给大家分享解决方法,需要的朋友可以参考下
    2022-09-09
  • Linux下查看IP地址不显示解决办法

    Linux下查看IP地址不显示解决办法

    大家好,本篇文章主要讲的是Linux下查看IP地址不显示解决办法,感兴趣的同学赶快来看看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Ubuntu下开启Apache对.htaccess 的支持

    Ubuntu下开启Apache对.htaccess 的支持

    这篇文章主要介绍了Ubuntu下开启Apache对.htaccess 的支持的方法,已经在xampp开启ModRewrite的方法,非常的实用,推荐给大家,希望大家能够喜欢。
    2015-03-03
  • CentOS-NAT模式下(DHCP)联网成功案例

    CentOS-NAT模式下(DHCP)联网成功案例

    这篇文章主要为大家详细介绍了CentOS-NAT模式下(DHCP)联网成功,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11

最新评论