无需重装系统迁移Ubuntu 18.04的/home目录至机械硬盘的方法咨询
无需重装系统迁移Ubuntu 18.04的/home目录至机械硬盘的方法咨询
嗨,我来一步步教你把Ubuntu 18.04的/home目录迁移到机械硬盘上,全程不用重装系统,操作起来也不难,跟着做就行:
前期准备
- 先把/home里的重要数据备份到U盘或者其他存储介质,虽然步骤很稳,但以防万一,多份备份总是好的。
- 确保你有sudo权限,所有操作都需要管理员权限。
步骤1:找到机械硬盘的Ext4分区UUID
我们需要用UUID来挂载分区,比直接用设备名(比如/dev/sdb1)更稳定,不会因为设备顺序变化出问题:
- 打开终端,执行命令:
blkid - 在输出里找到那个空闲空间≥105GB的Ext4分区,记下它的UUID(看起来是一串类似
1234abcd-1234-1234-1234-1234abcd1234的字符)。
步骤2:临时挂载机械硬盘分区
我们先把目标分区挂载到临时目录,方便同步数据:
- 创建临时挂载点:
sudo mkdir /mnt/tmp_home - 挂载分区(把下面的
你的分区UUID换成你刚才记下的内容):sudo mount UUID=你的分区UUID /mnt/tmp_home
或者如果你记得设备名(比如sdb1),也可以用:sudo mount /dev/sdb1 /mnt/tmp_home
步骤3:同步/home目录内容到机械硬盘
用rsync命令同步,它会完整保留文件权限、所有者、符号链接等属性,非常适合做系统目录迁移:
- 执行同步命令:
sudo rsync -aXS --exclude='/*/.gvfs' /home/. /mnt/tmp_home/.
解释下关键参数:-a:归档模式,保留所有文件属性-X:保留扩展属性,确保系统文件正常工作-S:高效处理稀疏文件,节省空间--exclude='/*/.gvfs':跳过这个特殊目录,避免权限报错
步骤4:配置开机自动挂载到/home
修改fstab文件,让系统开机时自动把机械硬盘分区挂载到/home:
- 先备份原文件,防止改错了没法恢复:
sudo cp /etc/fstab /etc/fstab.bak - 打开fstab编辑器:
sudo nano /etc/fstab - 在文件末尾添加一行(替换成你的UUID):
参数说明:UUID=你的分区UUID /home ext4 defaults 0 2defaults:使用默认挂载选项(可读可写、自动挂载等)0:不进行dump备份2:开机时的检查顺序,根分区是1,其他分区一般设为2
- 按
Ctrl+O保存,Ctrl+X退出编辑器
步骤5:验证挂载配置是否正确
先卸载临时挂载的分区,再测试挂载/home:
- 卸载临时挂载:
sudo umount /mnt/tmp_home - 挂载/home:
sudo mount /home - 如果没有报错,说明配置没问题;如果有报错,检查fstab里的UUID是否正确,或者分区是否损坏。
步骤6:清理原SSD上的/home目录
现在/home已经挂载了机械硬盘的分区,原来SSD上的/home内容被覆盖了,我们需要清理它来释放SSD空间:
- 先切换到root用户(避免当前用户会话占用/home导致无法卸载):
sudo su - 卸载/home:
umount /home - 重命名原/home目录(留作备份,确认没问题后再删除):
mv /home /home_old - 创建空的/home作为挂载点:
mkdir /home - 重新挂载/home:
mount /home - 退出root用户:
exit
最后验证
- 重启系统,登录后打开终端,执行
df -h /home,查看输出里的设备名,确认是你的机械硬盘分区。 - 检查桌面文件、文档等是否都能正常访问,没问题的话就可以删除原SSD上的备份目录了:
sudo rm -rf /home_old
注意事项
- 同步数据时,最好关闭所有桌面程序,避免有文件正在写入/home,导致同步不完整。如果担心的话,可以进入单用户模式操作。
- 如果迁移后出现权限问题,执行
sudo chown -R 你的用户名:你的用户名 /home/你的用户名来修正用户目录的权限。
备注:内容来源于stack exchange,提问作者Tomáš Pečený
相关产品推荐
相关产品推荐

