小白也能看懂的 Linux 挂载磁盘实操


Linux 中挂载磁盘是一项重要的操作,可以用于扩展存储空间、管理数据文件和备份重要文件。本文将详细介绍 Linux 系统中挂载磁盘的相关概念、步骤和实际操作指南。


一、磁盘分区

在 Linux 中,磁盘是通过分区来使用的。分区是将一个硬盘划分成几个逻辑部分,每个分区中可以存储不同的文件系统。在挂载磁盘之前,需要先对磁盘进行分区。

常用的磁盘分区工具:

  • cfdisk:命令行工具,支持 MBR 和 GPT 分区表
  • fdisk:命令行工具,支持 MBR 分区表
  • gdisk:命令行工具,支持 GPT 分区表
  • gparted:图形界面工具,支持 MBR 和 GPT 分区表

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


二、文件系统

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


三、实际操作

1. 使用 lsblk 查看新磁盘

[root@-znzj-app-1 /]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 1024M  0 rom
vda    252:0    0   80G  0 disk
├─vda1 252:1    0    1G  0 part /boot
└─vda2 252:2    0   79G  0 part
  ├─centos-root 253:0   0 47.8G  0 lvm /
  └─centos-swap 253:1   0  7.9G  0 lvm [SWAP]
vdb    252:16   0   64M  0 disk
└─vdb1 252:17   0   63M  0 part
vdc    252:32   0  300G  0 disk

从输出可以看到,系统中新加入了一个磁盘设备 /dev/vdc(300G)。

2. 使用 fdisk 分区

[root@-znzj-app-1 /]# sudo fdisk /dev/vdc
Welcome to fdisk (util-linux 2.23.2).

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-629145599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-629145599, default 629145599):
Using default value 629145599
Partition 1 of type Linux and of size 300 GiB is set

Command (m for help): w
The partition table has been altered!

使用 fdisk 对 /dev/vdc 进行分区

3. 格式化分区

[root@-znzj-app-1 /]# sudo mkfs -t ext4 /dev/vdc
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
...
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

格式化新分区为 ext4 文件系统

4. 创建挂载目录

$ sudo mkdir -p /mnt/data

5. 挂载分区

$ sudo mount /dev/vdc /mnt/data

6. 卸载磁盘

卸载磁盘使用 umount 命令。卸载前需要检查磁盘上是否有进程在使用它,如有则先终止相应进程。

umount /mnt/data

7. 验证挂载

[root@-znzj-app-1 /]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   48G   15G   34G  31% /
/dev/vda1               1014M  239M  776M  24% /boot
/dev/vdc                 296G   65M  281G   1% /mnt/data

从输出可见,新分区已成功挂载到 /mnt/data

8. 添加自动挂载

配置开机自动挂载,将信息写入 /etc/fstab

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

/etc/fstab 每行包含以下字段:

  1. 设备:要挂载的设备名称,如 /dev/sdb1
  2. 挂载点:设备挂载到的目录
  3. 文件系统类型:如 ext4
  4. 挂载选项:如 defaults、noatime
  5. 挂载次序:0 表示最先挂载

四、用户目录软连接

如果 /home 目录所在磁盘空间不足,可以将用户目录移动到新挂载的磁盘,再通过软链接访问:

# 进入 home 目录
$ cd /home

# 将 admin 用户目录移动到新磁盘
$ mv admin /mnt/data/

# 创建软链接
$ ln -s /mnt/data/admin admin

# 验证
$ ll

# 切换用户
$ su admin
$ cd ~
$ pwd

创建软链接后的效果


五、总结

挂载磁盘是 Linux 系统中的基本操作,可以帮助我们扩展存储空间、管理数据文件、备份重要文件。核心步骤:

  1. 磁盘分区(fdisk / cfdisk / gdisk)
  2. 创建文件系统(mkfs)
  3. 挂载到目录(mount)
  4. 配置自动挂载(/etc/fstab)
  5. 卸载前检查进程(umount)