很多人装 Linux 的时候图省事,把系统/和用户数据/home放在同一个分区。用久了系统盘爆满,重装系统还会把个人文档、软件配置全部弄丢。
把 /home 迁移到独立分区或者另一块硬盘,实现系统与用户数据分离:系统随便重装,个人数据不受影响,也解决系统盘空间告急。
本文是生产环境可用的实操流程,使用rsync做无损迁移,保留权限、隐藏文件,UUID 写入/etc/fstab开机自动挂载,覆盖 Ubuntu、Debian、CentOS、Rocky Linux。
迁移前必做准备
⚠️ 磁盘操作,优先备份,防止意外丢数据。
- 已经准备好新磁盘或者空闲分区,示例设备名:
/dev/sdb1,请替换成你自己的。 - 拥有
sudo或 root 权限,关闭正在大量读写文件的程序,避免同步过程文件变化。
查看磁盘分区:
lsblk
简单备份 home(可选,建议做):
sudo rsync -av /home /home_backup
全新磁盘:创建分区并格式化
如果你的分区已经建好,可以跳过 fdisk 分区步骤,不要随意格式化存有数据的分区,格式化会清空全部内容。
新建分区:
sudo fdisk /dev/sdb
交互依次输入:
n新建分区p主分区- 一路回车,使用整块磁盘
w保存分区表退出
格式化,根据你的系统选文件系统:
# Ubuntu / Debian 使用 ext4
sudo mkfs.ext4 /dev/sdb1
# CentOS / Rocky 使用 xfs
sudo mkfs.xfs /dev/sdb1
rsync 无损同步 /home 数据(核心)
创建临时挂载点,把新分区临时挂上去:
sudo mkdir -p /mnt/new_home
sudo mount /dev/sdb1 /mnt/new_home
用 rsync 同步全部 home 数据,保留权限、时间戳、隐藏文件、稀疏文件,不要用 cp,cp 很容易丢失属性:
sudo rsync -avXS --progress /home/. /mnt/new_home/
重点:源路径末尾的
.不能省略,负责同步所有隐藏配置文件。 -a:归档模式,递归 + 保留所有者权限 -v:输出日志 -XS:处理稀疏文件、扩展属性 –progress:显示同步进度
等待拷贝完成,文件越多耗时越久。
修改 /etc/fstab 开机自动挂载 home
不要直接写/dev/sdb1设备名,磁盘顺序变化会导致开机失败,优先使用UUID。
获取新分区 UUID:
blkid /dev/sdb1
复制输出的 UUID 字符串。
备份 fstab,改错有退路:
sudo cp /etc/fstab /etc/fstab.bak
编辑 fstab,我习惯 vim,你也可以用 nano:
sudo vim /etc/fstab
文件末尾增加一行,替换为你自己的 UUID 与文件系统格式:
UUID="你的UUID" /home ext4 defaults 0 2
如果是 xfs,把 ext4 改成 xfs。参数 defaults、0 2 保持不变。
生效配置,验证迁移结果
卸载临时挂载,加载 fstab 配置:
sudo umount /mnt/new_home
sudo mount -a
mount -a没有任何输出 = 配置语法正常;如果报错,立刻回去检查 UUID、文件系统格式。
校验 home 是否已经挂载到新分区:
df -h /home
lsblk
确认文件、用户目录、权限完整:
ls /home
ls -l /home
看到/home挂载点指向新分区,用户目录、配置文件全部存在,权限正常,迁移就完成。
清理旧 home 数据(确认没问题再执行)
现在/home已经挂载新分区,原来系统分区里残留的 home 目录文件被覆盖隐藏。确认一切正常后,释放系统盘空间:
sudo rm -rf /home/*
建议保留备份几天,确认日常使用、软件登录全部正常再删除备份。
常见踩坑汇总
- 重启无法登录桌面、开机卡住 多半 fstab 写错:UUID 错误、文件系统格式填错。开机进入单用户模式,注释掉 fstab 新加那一行,系统恢复启动后重新核对。
- 权限错乱,普通用户没有读写权限 不要用 cp 拷贝,必须带上完整 rsync 参数
‑avXS。 - 软件配置全部丢失,少了隐藏文件 rsync 源路径末尾漏写
.,导致.bashrc等隐藏目录没有复制。 - mount‑a 报 superblock 错误 fstab 写的文件系统格式和分区实际格式不一致,拿
blkid核对真实格式。
小结
整套流程:备份数据 → 分区格式化新磁盘 → 临时挂载 + rsync 完整同步 → fstab 配置 UUID 挂载 → mount‑a 校验 → 验证业务 → 清理旧数据。
这套方案适合物理机、虚拟机,把用户数据剥离系统盘,以后重装系统只格式化根分区,/home不动,个人资料全部保留。