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
相关推荐
一夜空中最亮的星一15 分钟前
【Linux】ubuntu24.04 安装docker
linux·docker·eureka
赖small强20 分钟前
【Linux 网络基础】libwebsockets 技术文档
linux·网络·https·tls·lib·websockets
q***518942 分钟前
ubuntu 安装 Redis
linux·redis·ubuntu
JuiceFS1 小时前
JuiceFS sync 原理解析与性能优化,企业级数据同步利器
运维·后端
q***47182 小时前
使用Canal将MySQL数据同步到ES(Linux)
linux·mysql·elasticsearch
Logan Lie2 小时前
Web服务监听地址的取舍:0.0.0.0 vs 127.0.0.1
运维·后端
Y淑滢潇潇3 小时前
RHCE 防火墙实验
linux·运维·rhce
wadesir3 小时前
当前位置:首页 > 服务器技术 > 正文Linux网络HSRP协议(实现路由器热备份与高可用性的实用指南)
linux·服务器·网络
稻谷君W3 小时前
Ubuntu 远程访问 Win11 WSL2 并固定访问教程
linux·运维·ubuntu
泡沫·3 小时前
4.iSCSI 服务器
运维·服务器·数据库