ubuntu / kali 将 /dev/sdb1 安全挂载为 /home 的完整实战指南(避坑版)

摘要

《将 /dev/sdb1 安全挂载为 /home 的完整实战指南》提供了在不重装系统、不丢失数据的情况下,将 /home 目录迁移到大容量新磁盘的详细步骤。关键操作包括:临时挂载新磁盘到/mnt/newhome,使用rsync完整同步/home数据,备份原/home目录,正式挂载新分区到/home,并配置fstab实现开机自动挂载。文章特别强调操作风险,如绝不能直接删除/home目录,并提供了误操作后的补救方法。通过这种迁移方式可有效释放根分区空间,同时保证系统稳定性和数据安全。适用于Ubuntu、Debian等主流Linux发行版。

适用场景:

  • 根分区 / 空间告急(如 90%+)
  • 新增一块大硬盘(如 /dev/sdb1
  • 希望把 /home 独立挂载到新磁盘,不重装系统、不丢数据

一、背景说明

当前磁盘状态示例:

bash 复制代码
df -h
text 复制代码
/dev/nvme0n1p2  433G  389G   23G  95%  /
/dev/sdb1       879G   16K  835G   1%  /run/media/xxx

目标:

text 复制代码
/dev/sdb1  →  /home

将用户数据迁移到大容量磁盘,立刻释放根分区空间。


二、核心原则(非常重要)

牢记三点:

  1. /home 是一个"挂载点目录",不能随便删除
  2. 数据迁移完成前,绝不能删原 /home
  3. 永远先 rsync,确认无误后再改挂载

三、操作步骤(推荐标准流程)

1️⃣ 临时挂载新磁盘

bash 复制代码
sudo mkdir -p /mnt/newhome
sudo mount /dev/sdb1 /mnt/newhome

确认挂载成功:

bash 复制代码
df -h | grep sdb1

2️⃣ 同步原有 /home 数据(关键步骤)

bash 复制代码
sudo rsync -aAXHv --progress /home/ /mnt/newhome/

参数说明:

  • -a:保留权限/时间/符号链接
  • -A -X:保留 ACL / xattr(Linux 必需)
  • -H:保留硬链接

3️⃣ 备份原 /home

⚠️ 注意:是改名,不是删除

bash 复制代码
sudo mv /home /home.bak
sudo mkdir /home
sudo chmod 755 /home

4️⃣ 正式挂载 /dev/sdb1 到 /home

bash 复制代码
sudo mount /dev/sdb1 /home

验证:

bash 复制代码
df -h | grep home
ls /home

能看到原来的用户目录说明成功。


四、设置开机自动挂载(使用 UUID)

1️⃣ 查询 UUID

bash 复制代码
sudo blkid /dev/sdb1

示例:

text 复制代码
UUID="db356e82-c2c9-1941-957a-4cdcad6ddb8b" TYPE="ext4"

2️⃣ 编辑 /etc/fstab

bash 复制代码
sudo nano /etc/fstab

添加:

fstab 复制代码
UUID=db356e82-c2c9-1941-957a-4cdcad6ddb8b  /home  ext4  defaults,noatime  0  2

测试:

bash 复制代码
sudo umount /home
sudo mount -a

无报错即成功。


五、确认无误后清理旧数据

确认系统可正常登录、使用后:

bash 复制代码
sudo rm -rf /home.bak

建议保留 1~2 天再删除。


六、常见错误与避坑说明

❌ 错误 1:直接执行

bash 复制代码
sudo rm -rf /home

后果:

  • /home 挂载点消失
  • 用户无法登录
  • SSH / 桌面环境异常

✅ 如果误删了 /home,正确补救方式

bash 复制代码
sudo mkdir /home
sudo chmod 755 /home
sudo mount /dev/sdb1 /home

只要数据在磁盘上,就能恢复。


七、最终效果

text 复制代码
/        → nvme0n1p2   空间明显释放
/home    → sdb1        800G+ 可用

系统无感迁移,安全稳定。


八、总结

  • 迁移 /home 是解决根分区爆满的最佳方案之一
  • 永远遵循:rsync → 备份 → 挂载 → fstab
  • 不删挂载点目录,是 Linux 磁盘管理的基本素养

本文适合 Ubuntu / Debian / Linux Mint / Arch 等发行版

ext4 / xfs 原理相同,可类推使用

相关推荐
Cx330❀12 分钟前
【Linux网络】网络层协议 IP :从网络层原理到 Linux 内核源码
linux·运维·服务器·网络·tcp/ip·ai·ai编程
luiyarch13 分钟前
汽车电子ISO 26262功能安全系列(第35期):配置管理与变更管理——给安全系统装上“时空穿梭机”
安全·汽车
志栋智能28 分钟前
运维超自动化的变更管理实践
运维·自动化
全栈攻略33 分钟前
Docker 中 ROS2 工作流 Topic 验证与常用命令指南
运维·docker·容器
Gl�ria1 小时前
Linux 清理日志常用命令
linux·运维·服务器
黎阳之光2 小时前
数字孪生赋能全域水网,实现水资源管控与节水降碳双向提升
人工智能·物联网·算法·安全·数字孪生
福大大架构师每日一题2 小时前
mediamtx v1.21.0 发布:Media-over-QUIC、RTSP、HLS、WebRTC 与安全能力全面升级
安全·webrtc
xian_wwq2 小时前
【学习笔记】OWASP Agentic 应用安全(二)
笔记·学习·安全·owasp
j7~3 小时前
【Linux网络加餐(二)】《进程组,会话,控制终端,作业控制和守护进程》---详解
linux·运维·服务器·守护进程·会话·进程组·控制终端
名字还没想好☜3 小时前
Docker 数据卷实战:volume、bind mount、tmpfs 到底怎么选,数据持久化与权限坑
运维·docker·容器·kubernetes