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
相关推荐
Gary Studio14 小时前
ubuntu 16.04一键换源
linux·运维·ubuntu
又来敲代码了14 小时前
k8s的部署
linux·运维·云原生·容器·kubernetes
梦·D·14 小时前
安全运维工具箱sskit_v1.0.3 部署
运维
CDN36014 小时前
DNS 负载均衡技术架构与调度策略解析
运维·架构·负载均衡
忡黑梨14 小时前
eNSP_路由策略
运维·服务器·网络·华为·智能路由器·负载均衡
IT WorryFree14 小时前
FGT-KVM 完整部署极简教程(CentOS 7 + KVM 环境)
linux·运维·centos
上海云盾安全满满14 小时前
网站被攻击了,高防CDN相比与高防服务器有什么优点
运维·服务器
一袋米扛几楼9814 小时前
【报错问题】彻底解决 TypeScript 报错 TS2769: No overload matches this call (JWT 篇)
linux·javascript·typescript
@encryption14 小时前
计算机网络 --- NAT
运维·服务器·计算机网络
goyeer14 小时前
【ITIL4】32服务实践 - 服务变更管理
linux·运维·服务器·数字化·价值·itil