Ubuntu更换Home目录所在硬盘的过程
要将 Ubuntu 的 /home
目录从原来的 /dev/sdb1
移动到新的磁盘 /dev/sda
(假设你想将 /dev/sda1
作为新的 /home
),需要完成以下操作:
前提假设
-
/dev/sdb1
当前挂载为/home
。 -
/dev/sda
是一个新磁盘,计划用来挂载新的/home
。 -
你有 root 权限。
-
新磁盘上尚未创建分区或文件系统(你可以按需新建)。
-
建议提前备份重要数据,尤其是
/home
。
操作步骤
打开终端,使用 fdisk
或 parted
创建新分区:
sudo fdisk /dev/sda
在交互式界面里输入:
-
n
创建新分区(默认主分区) -
选择分区号(通常是 1)
-
选择起始与结束扇区(默认即可)
-
输入
w
保存并退出
格式化新分区
sudo mkfs.ext4 /dev/sda1
创建临时挂载目录并复制数据
sudo mkdir /mnt/newhome
sudo mount /dev/sda1 /mnt/newhome
sudo rsync -avx /home/ /mnt/newhome/
确保所有用户数据已经正确复制:
sudo diff -r /home /mnt/newhome
修改 /etc/fstab
编辑 fstab 来永久挂载新的 /home
:
sudo blkid /dev/sda1
你会看到像这样一行输出:
/dev/sda1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="ext4"
然后编辑 fstab:
sudo nano /etc/fstab
将原来的 /home
那一行注释掉(加 #
),添加一行新的挂载信息:
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /home ext4 defaults 0 2
挂载新分区为 /home
sudo umount /mnt/newhome
sudo mount -a
确认 /home
挂载在 /dev/sda1
上:
df -h | grep /home
如果看到 /dev/sda1
,说明成功。
可选:清理旧 /home
如果确认新 /home
正常工作,可以卸载旧分区并清空它(慎用):
sudo umount /dev/sdb1
# 或格式化它以用于其他用途
sudo mkfs.ext4 /dev/sdb1