Linux下挂载硬盘这件事,其实流程并不复杂,核心就是“分区、格式化、挂载、设置开机自动挂载”四步,所有操作只需按顺序执行即可完成。无论你用的是物理服务器还是云服务器数据盘,方法基本一致,这篇教程会按实际操作的顺序来写,把每一步的细节讲透。
Linux下挂载硬盘需要先搞清楚的几个概念
Linux系统不像Windows那样用C盘D盘,它用的是“一切皆文件”的逻辑,你新加的一块硬盘,在系统里会对应一个设备文件,比如/dev/sdb或/dev/vdb,想把这块盘用起来,需要先把它“挂载”到一个目录下,这个目录就是访问入口,比如你把盘挂到/data目录,之后往/data里写文件,就是在往新硬盘里写。
先确认硬盘有没有被系统识别
拿到一台新机器或刚挂载完云硬盘后,第一件事不是急着分区,而是确认系统有没有看到这块盘,常用的命令是lsblk,它会以树状结构列出所有块设备,看到类似sdb或vdb的条目,而且下面没有子分区,那说明这块盘还是“裸盘”,可以放心操作。
另一个常用命令是fdisk -l,它能查看所有磁盘的详细信息,包括容量、扇区大小等,用df -h只能看到已挂载的分区,看不到未挂载的盘,所以别用它来检查新盘。
数据盘和系统盘怎么区分
这步很关键,分错盘会把系统盘搞坏,判断方法很简单:
- 系统盘一般是
sda或vda,里面通常有多个分区 - 数据盘在物理机上一般是
sdb、sdc等,在云服务器上可能是vdb、vdc
拿不准的时候,用lsblk看看哪个盘上面挂着根分区,那个就是系统盘,另一块不带任何挂载点的,就是你新加的,行业共识认为,任何未挂载的磁盘都应该先假设为数据盘,而不是直接去格式化。
Linux挂载硬盘命令的具体操作步骤
把流程拆成四步,每一步都有对应的命令和检查方法,整个过程在多数服务器上几分钟就能完成,关键是细心确认每一步的结果。
第一步:给新硬盘分区
新硬盘有两种处理方式:直接格式化整个盘,或者先分区再格式化。多数情况下直接格式化整块盘就够了,特别是当这块盘只用来存网站数据或数据库文件时,没必要分区。
分区命令用fdisk或parted,以最常见的fdisk /dev/sdb为例:
- 输入
n新建分区 - 输入
p选择主分区 - 回车两次接受默认的起始和结束扇区
- 输入
w保存退出
如果是超过2TB的大容量硬盘,
fdisk支持不好,需要用parted,业内专家指出,现代主流Linux发行版对parted的GPT分区表支持已经很成熟,2TB以上盘直接用parted是稳妥的选择,命令大致是:
parted /dev/sdb mklabel gpt mkpart primary 0% 100% quit
第二步:格式化文件系统
分区完成后,磁盘分区是/dev/sdb1,接下来要做的是格式化,也就是写入文件系统。文件系统选哪个,取决于你的用途:
ext4:最通用,兼容性好,适合绝大多数Linux服务器场景xfs:大文件读写性能好,很多云厂商默认采用ntfs:如果你要在Linux下挂载从Windows拔下来的移动硬盘,就得用ntfs-3g来挂载
格式化命令举例:
mkfs.ext4 /dev/sdb1
注意:格式化会清空这块盘上的所有数据,操作前一定要确认盘符没选错。
如果你的使用场景是Linux挂载ntfs格式硬盘,比如从Windows下拆下来的移动硬盘,需要先装一个驱动包,Debian系用apt install ntfs-3g,CentOS系用yum install ntfs-3g,然后再用mount命令挂载,它支持的读写速度虽然比不上原生的ext4,但日常拷贝文件足够用。
第三步:手动挂载到指定目录
格式化完成后,需要把分区挂到一个目录上,假设你想挂在/data下:
mkdir /data mount /dev/sdb1 /data
挂载完成后用df -h查看,能看到/dev/sdb1已经挂在/data下了,说明挂载成功,你可以测试下读写:
echo "test" > /data/test.txt cat /data/test.txt
能写能读,这块盘就能正常用了。
Linux开机自动挂载硬盘怎么配置
手动挂载只对当前这次开机有效,重启之后,系统不会自动帮你挂载,你还得手动再执行一次mount命令。要想让重启后自动挂载,需要修改/etc/fstab文件。
用UUID而不是设备名
/etc/fstab里的每一行代表一个挂载项。推荐用UUID(设备唯一标识符)而不是/dev/sdb1这样的名称,因为设备名可能在系统重启后发生变化,而UUID是固定的。
先查看你的分区UUID:
blkid /dev/sdb1
输出会有一个UUID="xxxx-xxxx-xxxx",复制下来,然后编辑/etc/fstab:
vim /etc/fstab
在文件末尾加一行:
UUID=你的UUID /data ext4 defaults 0 2
各字段含义如下:
- 第一列:分区标识符,这里用UUID
- 第二列:挂载点,
/data - 第三列:文件系统类型,
ext4 - 第四列:挂载参数,默认
defaults - 第五列:是否用
dump备份,0表示不备份 - 第六列:开机自检顺序,
0表示不检查,2表示检查
修改后执行mount -a测试,这个命令会按fstab重新挂载所有未挂载的分区,如果没报错,说明配置没问题,然后重启一次验证,这是最稳妥的方式。
常见的mount参数和挂载选项
defaults参数已经能覆盖大部分场景,但在特定场景下,需要手动调整挂载参数来解决权限问题,比如邮箱服务器常用的nosuid、noexec参数,防止用户从磁盘上执行恶意程序;NFS网络存储挂载时会用nfsvers=4这类版本参数。
如果你的数据盘格式是xfs,挂载参数要写成defaults,uquota以支持用户配额功能,这个在邮件服务器和虚拟主机场景下很实用。
云服务器挂载数据盘教程(以简米云/酷番云为例)
云服务器和物理机在挂载数据盘时有个显著差别:ECS实例所挂载的云盘,在控制台上就能完成大部分操作,但系统内的挂载仍需手动执行。
云盘在系统里的设备名变化
云服务器里新挂载的数据盘,在系统里通常显示为/dev/vdb或/dev/vdb1,因为是虚拟化设备,取名跟物理机的/dev/sdb不同,用lsblk查看,如果看到一块大小和你购买的数据盘容量一致的盘,基本就是它了,有些云厂商的控制台支持“一键格式化并挂载”,它本质上也是在系统内执行同样的命令,只是帮你省去手动敲命令的过程。
云硬盘挂载的注意事项
- 云数据盘购买后,必须先挂载到实例上才能在系统里看到它
- 挂载数据盘不会影响系统盘的数据,可以放心操作
- 如果你用的是共享型实例,可能有IOPS限制,用
fio测速时注意不要长时间跑满
按量付费的云盘在退订或释放时,如果勾选了“随实例释放”,那盘上数据也会一并删除。做任何格式化或初始化操作前,请先在控制台创建快照,这个操作能帮你兜底。
Linux挂载硬盘怎么解题:常见问题排查
挂载过程虽然简单,但遇到问题时还是一头雾水的情况不少,这里列几个常见问题。
挂载时报设备繁忙
mount的时候提示device is busy,通常是有进程占用这个分区,用lsof /dev/sdb1或fuser -m /dev/sdb1查看哪个进程占用了它,处理掉对应进程再重新挂载。
挂载后看不到数据
挂载到一个不是空目录的挂载点后,ls看不到原来目录里的文件了,这是因为挂载后会覆盖原目录内容,并不是文件丢了,你可以用umount卸载后恢复原内容,所以标准做法是先创建一个空目录作为挂载点,不要把盘挂到已有数据的目录上。
fstab写错导致开机失败
修改fstab后如果开机时报错,卡在“A start job is running for /data”这种提示,多半是挂载项有问题,如果还能进系统就赶紧改回来,如果进不去,用救援模式把fstab里出错的那行注释掉,这里强调一句:每次改完fstab,先跑mount -a再重启,能避免90%的坑。
Linux挂载硬盘和Windows挂载U盘有什么不同
一个直接的感受是,Linux不会像Windows那样插上U盘就自动弹窗口,所有挂载操作都是显式的,系统中完全由你掌控,Windows基本都是即插即用,而Linux挂载流程里,“手动配置fstab”这一步几乎没有Windows用户概念里的对应物,也正因为这种“手动感”,Linux的挂载机制才更稳定、更可预测。
Linux下挂载硬盘的实际操作就这几步:lsblk查看识别的设备,fdisk或parted分区,mkfs格式化,mount挂载,最后写入/etc/fstab实现开机自动挂载。照着流程操作一次,之后就是熟能生巧的事了。
Q&A:Linux挂载硬盘常见疑问
云服务器挂载的数据盘怎么卸载而不是删除?
卸载用umount /data命令,它会解除挂载关系,但不会删除磁盘上的数据,想要彻底在云环境里销毁数据,需要在云控制台里操作“卸载磁盘”,之后再决定是否释放或重新挂载到其他实例上,这两个层面的操作是独立的。
Linux挂载硬盘命令在哪里能查到完整命令帮助?
终端输入man mount或tldr mount,前者是完整的手册,后者是简明的常用示例,它们列出了所有可用的挂载参数,比如-t指定类型、-o指定选项、--bind做目录绑定挂载,实际排查问题的时候,dmesg | tail命令能直接看到内核报错信息,比排查思路更直接。
挂载硬盘后依然提示磁盘空间不足,测一下哪里没走对?
先用df -h确认新盘是否真的挂载到了预期目录,再看fstab里是否把挂载点拼写错了,查看目录实际占用路径时,du -sh /data/可以看到子目录的真实分布,如果新盘挂载成功但分区确实没有空间,那可能是这块盘本身剩余空间不大,主机商给的默认容量通常远小于控制台里标称的磁盘大小,注意核实一下。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/668380.html




