Ubuntu更换Home目录所在硬盘的过程

要将 Ubuntu 的 /home 目录从原来的 /dev/sdb1 移动到新的磁盘 /dev/sda(假设你想将 /dev/sda1 作为新的 /home),需要完成以下操作:

前提假设

  • /dev/sdb1 当前挂载为 /home

  • /dev/sda 是一个新磁盘,计划用来挂载新的 /home

  • 你有 root 权限

  • 新磁盘上尚未创建分区或文件系统(你可以按需新建)。

  • 建议提前备份重要数据 ,尤其是 /home

操作步骤

打开终端,使用 fdiskparted 创建新分区:

bash 复制代码
sudo fdisk /dev/sda

在交互式界面里输入:

  • n 创建新分区(默认主分区)

  • 选择分区号(通常是 1)

  • 选择起始与结束扇区(默认即可)

  • 输入 w 保存并退出

格式化新分区

bash 复制代码
sudo mkfs.ext4 /dev/sda1

创建临时挂载目录并复制数据

bash 复制代码
sudo mkdir /mnt/newhome
sudo mount /dev/sda1 /mnt/newhome
sudo rsync -avx /home/ /mnt/newhome/

确保所有用户数据已经正确复制:

bash 复制代码
sudo diff -r /home /mnt/newhome

修改 /etc/fstab

编辑 fstab 来永久挂载新的 /home

bash 复制代码
sudo blkid /dev/sda1

你会看到像这样一行输出:

bash 复制代码
/dev/sda1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="ext4"

然后编辑 fstab:

bash 复制代码
sudo nano /etc/fstab

将原来的 /home 那一行注释掉(加 #),添加一行新的挂载信息:

bash 复制代码
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /home ext4 defaults 0 2

挂载新分区为 /home

bash 复制代码
sudo umount /mnt/newhome
sudo mount -a

确认 /home 挂载在 /dev/sda1 上:

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

如果看到 /dev/sda1,说明成功。

可选:清理旧 /home

如果确认新 /home 正常工作,可以卸载旧分区并清空它(慎用):

bash 复制代码
sudo umount /dev/sdb1
# 或格式化它以用于其他用途
sudo mkfs.ext4 /dev/sdb1
相关推荐
0xDevNull3 小时前
Linux切换JDK版本详细教程
linux
进击的丸子3 小时前
虹软人脸服务器版SDK(Linux/ARM Pro)多线程调用及性能优化
linux·数据库·后端
字节逆旅14 小时前
ubuntu应用深度守护
ubuntu
甲鱼9291 天前
MySQL 实战手记:日志管理与主从复制搭建全指南
运维
Johny_Zhao2 天前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
chlk1233 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑3 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件3 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒3 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号4 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移