home 分区挂载问题/( sda 双分区环境)

一、先梳理磁盘现状

  • /dev/sda1(500G,UUID:2b027fb4‑58fe‑48c5‑9ac1‑da5c7bd058a9)目标挂载 /home

  • /dev/sda2(1.3T,UUID:ab871d9b‑449d‑4b14‑b40b‑4df420fa6ebd)目标挂载 /opt/mirror

  • sdb 为 LVM 系统盘,根目录、boot 分区都在这块硬盘

二、/home 挂载失败的根本诱因

  1. sda1 旧分区没有提前完整卸载,分区正在被系统、普通用户进程占用,磁盘处于繁忙状态;

  2. 之前操作 sda2 格式化的时候,改动过整块 sda 硬盘分区表,分区序号、分区 UUID 发生变动;

  3. fstab 配置出错:UUID 抄写错误、空格格式不对;

  4. 你登录的普通用户 shitou 处在 /home 目录内,进程占用分区,系统无法重新挂载。

三、一步一步完整排错、成功挂载全过程

1. 切换 root 超级用户,规避普通用户占用 /home

bash

sudo -i

关键点:普通用户工作目录位于 /home,会锁住分区,root 登录就不会占用该目录

2. 先卸载 sda 两个旧分区

bash

umount /dev/sda1
umount /dev/sda2

设备繁忙就关闭全部 SSH 会话,只保留一条 root 终端再卸载

3. 检查分区表、确认分区正常

bash

lsblk

确认 sda1、sda2 两个分区正常存在

4. 重新读取最新分区 UUID(分区改动后 UUID 会更新,不能沿用旧编号)

bash

blkid /dev/sda1
blkid /dev/sda2

拿到你本机准确编号

plaintext

sda1:2b027fb4-58fe-48c5-9ac1-da5c7bd058a9
sda2:ab871d9b-449d-4b14-b40b-4df420fa6ebd

5. 编辑 /etc/fstab 写入正确开机挂载参数

bash

nano /etc/fstab

末尾严格粘贴两行,不要多空格、不要输错 UUID

plaintext

UUID=2b027fb4-58fe-48c5-9ac1-da5c7bd058a9     /home        ext4    defaults    0   2
UUID=ab871d9b-449d-4b14-b40b-4df420fa6ebd     /opt/mirror  ext4    defaults    0   2

6. 测试挂载(最关键一步,提前排查错误,防止开机崩溃)

bash

mount -a
  1. 无报错 → 挂载成功,df -h 即可看见两个挂载点

  2. 仍然报错:核对 UUID、文件系统格式是不是 ext4

7. 回迁 /home 用户文件

bash

cp -r /root/home_backup/* /home/
chown -R shitou:shitou /home

四、本次故障核心总结

  1. 最主要原因:普通用户处在 /home 目录,占用分区导致卸载、挂载失败;解决方案是切 root 用户操作;

  2. 重新分区之后 UUID 会变动,fstab 不能沿用旧的标识,必须重新 blkid 获取;

  3. 改动 fstab 之后必须执行 mount -a 测试,不要直接重启机器;

  4. sda1 负责用户目录、sda1 不要格式化(你的用户资料全部存放在这里);仅 sda2 镜像分区做格式化;

  5. sda2 格式化报错是因为分区没有先 umount 卸载,卸载之后才可以执行 mkfs.ext4。