ubuntu开机自动挂载硬盘 v1
高风险提示:分区和格式化会清除数据。本文重点讲解已有文件系统的持久挂载;除非已经确认目标磁盘并完成备份,否则不要执行
mkfs、fdisk、parted等写盘命令。
1. 识别磁盘和文件系统
先用只读命令核对设备路径、容量、型号、序列号、文件系统和当前挂载点:
lsblk -o NAME,PATH,SIZE,FSTYPE,UUID,MOUNTPOINTS,MODEL,SERIAL
sudo blkid
findmnt
不要仅凭 /dev/sdb 之类的名称判断磁盘;重启或硬件变化后设备名可能改变。本文示例假设需要挂载的是已有文件系统的分区 /dev/sdb1,实际操作必须替换为你的真实分区。
2. 先临时挂载验证
sudo mkdir -p /data
sudo mount /dev/sdb1 /data
findmnt /data
df -hT /data
确认目录中原有数据正常、读写权限符合预期后再配置开机挂载。若挂载失败,先检查文件系统类型和系统日志,不要直接格式化。
3. 使用 UUID 写入 fstab
查询 UUID:
sudo blkid /dev/sdb1
备份配置:
sudo cp -a /etc/fstab /etc/fstab.backup-$(date +%F-%H%M%S)
sudoedit /etc/fstab
ext4 示例:
UUID=11111111-2222-3333-4444-555555555555 /data ext4 defaults,nofail,x-systemd.device-timeout=10s 0 2
XFS 示例:
UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee /data xfs defaults,nofail,x-systemd.device-timeout=10s 0 0
字段依次是设备、挂载点、文件系统、选项、dump 标记和文件系统检查顺序。ext4 数据盘通常使用 2,XFS 不使用传统 fsck,一般填 0。不要把 blkid 显示为 ext4 的分区写成 xfs。
可移动或非关键数据盘可使用 nofail,避免设备缺失时阻塞启动。希望首次访问时再挂载,可在确认 systemd 支持后增加 x-systemd.automount。网络文件系统还应考虑 _netdev,并参考对应 NFS/CIFS 文档配置凭据和网络依赖。
4. 保存后先验证,不要直接重启
sudo findmnt --verify --verbose
sudo systemctl daemon-reload
sudo mount -a
findmnt /data
只有验证无报错、目录可访问后再安排重启测试:
sudo reboot
重启后检查:
findmnt /data
systemctl status data.mount --no-pager
journalctl -b -u data.mount --no-pager
5. 常见故障与恢复
- 进入 emergency mode:在维护终端中将错误的 fstab 行注释掉,或恢复备份,然后执行
systemctl daemon-reload。 - 权限不正确:挂载成功不代表普通用户有权限。Linux 原生文件系统使用
chown、chmod管理;NTFS/exFAT 的 UID/GID 等需在挂载选项中设置。 - 设备不存在:检查 USB、HBA、虚拟磁盘映射和 UUID 是否改变。
- 挂载到错误目录:立即停止写入,卸载后重新核对 UUID 与业务路径。
- 同一文件系统重复挂载:用
findmnt --real和lsblk -f排查,不要只看df。
6. 若确实需要新建文件系统
先完成备份和变更审批,确认设备序列号、分区范围、文件系统选择和回退方案。格式化命令具有不可逆性,不应从教程直接复制执行。生产环境还应根据容量、快照、备份、数据库写入模式和恢复工具选择 ext4、XFS、LVM 或其他方案。