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
相关推荐
爱奥尼欧1 分钟前
【Linux 系统】基础IO——Linux中对文件的理解
linux·服务器·microsoft
超喜欢下雨天29 分钟前
服务器安装 ros2时遇到底层库依赖冲突的问题
linux·运维·服务器·ros2
搬码临时工35 分钟前
小企业如何搭建本地私有云服务器,并设置内部网络地址提供互联网访问
运维·服务器
tan77º1 小时前
【Linux网络编程】网络基础
linux·服务器·网络
风口上的吱吱鼠1 小时前
Armbian 25.5.1 Noble Gnome 开启远程桌面功能
服务器·ubuntu·armbian
18你磊哥2 小时前
Windows 本地安装部署 Apache Druid
运维·debian
笑衬人心。2 小时前
Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
linux·mysql·ubuntu
IT成长日记2 小时前
【Docker基础】Docker数据卷管理:docker volume inspect及其参数详解
运维·docker·容器·volume·inspect
ldj20202 小时前
Jenkins 构建过程常见错误
运维·jenkins
ladymorgana2 小时前
【Docker】如何设置 `wiredTigerCacheSizeGB` 和 `resources.limits.memory`
运维·docker·容器