home 分区挂载问题/( sda 双分区环境)
一、先梳理磁盘现状
/dev/sda1(500G,UUID:2b027fb4‑58fe‑48c5‑9ac1‑da5c7bd058a9)目标挂载/home/dev/sda2(1.3T,UUID:ab871d9b‑449d‑4b14‑b40b‑4df420fa6ebd)目标挂载/opt/mirrorsdb 为 LVM 系统盘,根目录、boot 分区都在这块硬盘
二、/home 挂载失败的根本诱因
sda1 旧分区没有提前完整卸载,分区正在被系统、普通用户进程占用,磁盘处于繁忙状态;
之前操作 sda2 格式化的时候,改动过整块 sda 硬盘分区表,分区序号、分区 UUID 发生变动;
fstab 配置出错:UUID 抄写错误、空格格式不对;
你登录的普通用户 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
无报错 → 挂载成功,
df -h即可看见两个挂载点仍然报错:核对 UUID、文件系统格式是不是 ext4
7. 回迁 /home 用户文件
bash
cp -r /root/home_backup/* /home/
chown -R shitou:shitou /home
四、本次故障核心总结
最主要原因:普通用户处在 /home 目录,占用分区导致卸载、挂载失败;解决方案是切 root 用户操作;
重新分区之后 UUID 会变动,fstab 不能沿用旧的标识,必须重新 blkid 获取;
改动 fstab 之后必须执行
mount -a测试,不要直接重启机器;sda1 负责用户目录、sda1 不要格式化(你的用户资料全部存放在这里);仅 sda2 镜像分区做格式化;
sda2 格式化报错是因为分区没有先 umount 卸载,卸载之后才可以执行 mkfs.ext4。
跟进处理:重新划分磁盘完成挂载修复
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法