怎样在Ubuntu上挂载一块硬盘:详解方案与实操步骤【小白无坑版】

[复制链接]
发表于 2026-10-6 09:50:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

服务器和开发机上最常遇到的一件事:根分区满了,得再挂一块盘出去。Ubuntu 下"挂一块硬盘"其实是两步:先把物理盘做成可用的分区(分区表 + 文件系统),再把它绑到一个目录上。绑定动作叫 mount,写进 /etc/fstab 才能开机自动挂。

这篇按实际操作的顺序走一遍:认盘、分区、格式化、建挂载点、手动挂一次、写 fstab 永久生效、最后把常见的几种翻车情况收拾掉。命令都在 Ubuntu 20.04/22.04 上验证过,其他发行版同理。

一、动手前先分清两件事

第一次挂盘的人容易混淆这两种场景,处置方式完全不同:

  • 新盘(裸盘、没分区表)→ 需要新建分区表、建分区、格式化,数据不会丢,因为本来就没数据。
  • 旧盘(已经有数据)→ 能不动分区就不动分区,直接 mount 到某个目录读数据更划算;真要重新分区,先备份。

只要盘里有东西,动手前一定先备份。分区命令误操作删掉分区表,数据基本找不回来。

二、认盘:先看清自己要动哪块

插好盘后先用两条命令看系统认识不认识它:

lsblk
sudo fdisk -l

lsblk 输出最直观,树形展示"磁盘 → 分区 → 挂载点":

sdb      931.5G
└─sdb1   931.4G  /data

注意几个容易看错的点:

  • 老盘一般是 /dev/sda,新加的第二块是 /dev/sdb,第三块 /dev/sdc;分区是 sdb1、sdb2(IDE 的老命名是 hda,现在的机器基本见不到了)。
  • 虚拟机里可能是 /dev/vdb 或 /dev/nvme0n1;NVMe 的分区号写法是 nvme0n1p1。
  • 容量对不上(比如插了 1T 只看到 200G)通常是分区表只标了前面一段,或者盘没插好。

三、分区与格式化:图形和命令行两条路

路线 A:GParted 图形工具

桌面版 Ubuntu 装 GParted 比较省事,建分区、格式化都在界面点:

sudo apt update
sudo apt install gparted

打开后选中目标盘(例如 /dev/sdb),按这个顺序点:

  • Device → Create Partition Table:新盘要先建分区表。当代系统选 GPT,老主板+Windows 双系统选 msdos(MBR)。
  • 点分区图上的空闲块,选 New:文件系统选 ext4(Linux 通用做法);要和 Windows 互拷文件选 ntfs 或 exfat。
  • 确认无误后点 Apply,等它执行完。

路线 B:fdisk + mkfs(服务器常用,无图形界面)

纯命令行环境(SSH 进机房的机器)就用这套:

sudo fdisk /dev/sdb

进到交互提示符后:

  • 输入 p 打印当前分区表,确认没选错盘;
  • 输入 n 新建分区,一路回车用默认值即可(默认从头填满整块盘最省事);
  • 输入 w 写入分区表并退出。

建完分区要格式化才能用,ext4 是最通用的选择:

sudo mkfs.ext4 /dev/sdb1

如果输出里有 ext4 filesystem to be labelled 之类提示就说明成功了。要格式化成 NTFS 给 Windows 用,先装工具包 sudo apt install ntfs-3g;exFAT 用 sudo apt install exfat-fuse。

四、建挂载点并手动挂一次

挂载点就是一个普通目录,先用 mkdir 建好,然后 mount 上去:

sudo mkdir /data
sudo mount /dev/sdb1 /data

挂完立刻验证:

df -h
ls /data

df -h 里能看到 /dev/sdb1 和对应挂载点就说明这一步通了。这一层只是"临时生效",重启就没了——要永久生效必须写 /etc/fstab。

五、写 /etc/fstab 实现开机自动挂载

先拿到分区的 UUID(比用 /dev/sdb1 稳,重启后设备名顺序可能变):

sudo blkid /dev/sdb1

输出里的 UUID="xxxx-xxxx" 记下来,然后编辑 fstab:

sudo nano /etc/fstab

加一行:

UUID=xxxx-xxxx  /data  ext4  defaults  0  2

这行的 6 个字段分别是什么意思,一次说清:

字段含义示例
第 1 个要挂载的设备(UUID 或设备路径)UUID=xxxx-xxxx
第 2 个挂载点目录/data
第 3 个文件系统类型ext4 / ntfs3 / exfat
第 4 个挂载参数defaults、noexec、nofail
第 5 个是否交给 dump 备份,填 0 基本不会有人管0
第 6 个fsck 检查顺序,根分区 1,其他 2,不检查填 02

几个常用参数值得记一下:nofail 表示这个盘没挂上也不耽误系统起来(服务器强烈建议加);defaults 就是常规默认值;数据盘别加 noexec 除非你清楚自己在干什么。

写完后用这条命令让系统按 fstab 全部挂载一遍,验证配置没问题:

sudo mount -a

没报错就是对的。可以再 reboot 或者 sudo mount -a 后 df -h 复核,确认重启后还在。

六、常见的几种翻车现场

  • 挂载后各种权限报错:桌面版常见"已挂载但显示锁图标",本质是目录属主不对。把挂载点目录交给当前用户:sudo chown -R $USERUSER /data。服务器场景更常见的做法是在 fstab 里加 uid=、gid= 参数。
  • 重启后进不了系统:百分之八九十是 fstab 配置写错(UUID 抄错、文件系统类型不对、分区其实没格式化)。救法是用 Ubuntu 安装盘进 "Try" 模式挂载原系统分区,注释掉 fstab 里那行再重启。
  • umount 提示 target is busy:有进程正用着这个目录。先 lsof +D /data 找到进程 kill 掉,或 sudo umount -l /data 延迟卸载兜底。
  • 新盘怎么都看不见:先确认物理连接(云厂商还要在控制台挂载云盘),再 lsblk;虚拟机可能需要在虚拟化层热插后 echo -1 > /sys/block/sdb/device/rescan 触发重扫。

七、小结

Ubuntu 挂一块新盘的完整链路就是:认盘(lsblk/fdisk -l)→ 分区(GParted 或 fdisk)→ 格式化(mkfs.ext4)→ 建目录并 mount 验证 → 写 /etc/fstab 永久挂载 → 用 mount -a 和重启两次验证。真正的坑不在步骤多,而在把 /dev/sda 和 /dev/sdb 看混、以及 fstab 里多打一个空格。

另外提醒一句:如果这块盘是给多人或业务共用的,挂载后记得把 /data 目录权限和 fstab 里的挂载参数一起定好,不要只解决"能挂上"这一步就完事。

qidao123.com企服评测-应用市场 编辑提示

本文为运维实操整理,命令均可在 Ubuntu 20.04/22.04 直接执行。操作涉及磁盘分区,务必先备份数据;生产环境建议先在测试机验证。更多 Linux 运维实践内容欢迎到 qidao123.com 企服评测-应用市场 交流。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表