导语:给 Linux 服务器或个人电脑新增硬盘后,很多新手会卡在“分区、格式化、挂载、开机自动挂载”这几个步骤上。其实只要理解磁盘、分区、文件系统和挂载点之间的关系,整个流程并不复杂。🧰
一、先理解几个核心概念
磁盘可以理解为一块物理或虚拟存储设备,例如 /dev/sda、/dev/sdb;分区是在磁盘上划出的逻辑区域,例如 /dev/sdb1;文件系统是数据组织方式,常见有 ext4、xfs、vfat、ntfs 等;挂载则是把某个分区接入 Linux 的目录树,让用户可以通过某个目录访问它。Linux 的 mount 手册说明,mount 的作用就是把设备上的文件系统挂接到指定目录中 来源链接 手册。
和 Windows 常见的 C 盘、D 盘不同,Linux 更像一棵目录树。无论是系统盘、数据盘还是移动硬盘,最终都要挂载到某个目录,例如 /data、/mnt/backup、/home/storage。😊
二、查看当前磁盘情况
在动手分区前,第一步是确认系统识别到了哪些磁盘。常用命令如下:
lsblk
sudo fdisk -l
df -h
其中,lsblk 适合查看磁盘、分区、挂载点之间的层级关系;fdisk -l 可以列出磁盘分区表信息;df -h 则更适合查看已经挂载的文件系统容量使用情况。lsblk 来自 util-linux 工具集,可列出块设备信息 来源链接 手册。
新手在这一步一定要谨慎确认目标磁盘。例如系统盘可能是 /dev/sda,而新增数据盘可能是 /dev/sdb。不要只凭容量猜测,最好结合云平台控制台、虚拟机设置或硬件信息一起核对。⚠️
三、选择分区工具:fdisk 还是 parted
Linux 中常见的分区工具有 fdisk 和 parted。对于普通入门场景,fdisk 足够完成大多数 MBR 或 GPT 分区操作;如果你需要处理较大的磁盘、脚本化分区或更复杂的分区表,parted 也很常用。fdisk 是用于操作磁盘分区表的工具 来源链接 手册。
以给 /dev/sdb 创建一个新分区为例,可以执行:
sudo fdisk /dev/sdb
进入交互界面后,常见操作是输入 n 新建分区,选择分区类型和编号,使用默认起止位置分配全部空间,最后输入 w 写入分区表。不同发行版和磁盘状态下界面提示可能略有差异,因此建议认真阅读终端提示,不要机械复制命令。
四、格式化分区,创建文件系统
分区创建好后,通常会出现类似 /dev/sdb1 的分区设备。此时还不能直接存文件,需要先创建文件系统。例如使用 ext4:
sudo mkfs.ext4 /dev/sdb1
如果你的系统主要面向 Linux 服务端,ext4 和 xfs 都是常见选择。ext4 兼容性好、使用广泛;xfs 在一些大文件和高并发写入场景中也常见。mkfs 是创建 Linux 文件系统的通用前端命令,不同文件系统会调用对应的 mkfs.* 工具 来源链接 手册。
注意:格式化会清空目标分区上的数据。🚨 如果分区里已有重要文件,请先备份,再确认设备名无误后执行。
五、临时挂载到目录
假设我们希望把新分区挂载到 /data,可以先创建挂载点:
sudo mkdir -p /data
sudo mount /dev/sdb1 /data
执行后可以用 df -h 或 findmnt 检查是否挂载成功:
df -h
findmnt /data
如果能看到 /dev/sdb1 挂载到了 /data,说明临时挂载成功。所谓“临时”,是指这次挂载通常不会在重启后自动恢复;如果希望开机自动挂载,就需要配置 /etc/fstab。
六、使用 UUID 配置自动挂载
/etc/fstab 是 Linux 用来描述文件系统挂载信息的配置文件。fstab 手册说明,该文件包含系统可挂载文件系统的静态信息,并且推荐使用 UUID 或 LABEL,而不是容易受设备识别顺序影响的 /dev/sdb1 这类名称 fstab 手册。
先查看分区 UUID:
sudo blkid /dev/sdb1
然后备份 fstab:
sudo cp /etc/fstab /etc/fstab.bak
编辑 /etc/fstab,添加类似下面的一行:
UUID=你的UUID /data ext4 defaults,nofail 0 2
这里的字段依次表示:设备标识、挂载点、文件系统类型、挂载选项、dump 备份标记、fsck 检查顺序。对于数据盘,常见写法是 defaults,nofail 0 2;nofail 的意义是设备不存在时不让启动过程因为该挂载项直接失败,适合外接盘或云盘等场景。
七、测试 fstab,避免重启翻车
修改 /etc/fstab 后,不要急着重启。可以先执行:
sudo mount -a
这个命令会尝试挂载 fstab 中尚未挂载的项目。如果没有报错,再用 df -h 或 findmnt 检查挂载结果。若出现文件系统类型错误、UUID 写错、挂载点不存在等问题,应立即修正。对于 systemd 系统,fstab 手册还提示修改后可能需要执行 systemctl daemon-reload,以便相关组件重新读取配置 fstab 说明。
八、卸载分区与常见问题
如果需要卸载分区,可以使用:
sudo umount /data
如果提示 target is busy,通常表示该目录正在被某个进程使用。可以先退出当前目录,关闭占用文件的程序,再尝试卸载。必要时可用 lsof 或 fuser 排查占用进程,但不要在不了解影响的情况下强制结束关键服务。
- 挂载后目录原文件不见了? 挂载会让该目录显示新文件系统内容,原目录里的文件并未删除,只是被挂载点覆盖显示。
- 重启后挂载失败? 优先检查 UUID、文件系统类型、挂载点路径和 fstab 字段数量。
- 无法写入? 检查挂载选项、目录权限和文件系统是否以只读方式挂载。
- 设备名变了? 尽量使用 UUID,而不是 /dev/sdb1 这类可能随识别顺序变化的名称。
九、一个完整入门流程
- 使用 lsblk 或 fdisk -l 确认新增磁盘。
- 使用 fdisk 或 parted 创建新分区。
- 使用 mkfs.ext4 或其他 mkfs.* 命令创建文件系统。
- 创建挂载点,例如 /data。
- 使用 mount 临时挂载并验证。
- 使用 blkid 获取 UUID。
- 备份并编辑 /etc/fstab。
- 执行 mount -a 测试自动挂载配置。
总结
Linux 磁盘分区与挂载的核心思路可以概括为:先识别磁盘,再创建分区,然后格式化,接着挂载到目录,最后通过 /etc/fstab 实现开机自动挂载。🧩 新手最容易出错的地方是选错设备、忘记格式化、fstab 写错或没有提前测试。只要养成“先备份、再确认、后执行、最后验证”的习惯,磁盘管理就会变得清晰、安全且可控。