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
相关推荐
用户4672445449924 分钟前
linux的网络配置
linux
Lueeee.43 分钟前
字符设备驱动---自己实现点LED
linux
Full Stack Developme44 分钟前
linux sudo su su - 三者区别
linux·运维·服务器
Byron Loong1 小时前
【系统】Linux内核和发行版的关系
linux·运维·服务器
ChenYY~1 小时前
双系统显卡冲突修复记录
ubuntu·显卡·黑屏·双系统·nvidia驱动
oMcLin1 小时前
如何在 Ubuntu 22.04 LTS 上部署并优化 OpenStack 云计算平台,实现多租户虚拟化与弹性伸缩?
ubuntu·云计算·openstack
weixin_399380691 小时前
OA 系统假死问题分析与优化
java·运维
SmartRadio1 小时前
在CH585M代码中如何精细化配置PMU(电源管理单元)和RAM保留
linux·c语言·开发语言·人工智能·单片机·嵌入式硬件·lora
济6171 小时前
linux(第十四期)--Uboot移植(2)-- 在U-Boot 中添加自己的开发板-- Ubuntu20.04
linux·运维·服务器
ben9518chen2 小时前
嵌入式linux操作系统简介
linux·运维·服务器