文件挂载

将/home挂载到新磁盘上

Posted by Sirin on December 2, 2025

Ubuntu上将/home挂载到新的磁盘上

有时候服务器更新,会插入一个新的大容量磁盘,这时候是希望将主要的用户系统都迁移到这块新磁盘上。有时候这块新磁盘上可能还保留有一部分资料,那么要怎么办?

例如,我们要把/home迁移到新的硬盘/dev/sdb1上。

1. 备份数据

为了避免迁移过程出现问题(断电、其他用户误操作之类的),最好要先进行备份

sudo cp -a /home /home.bak

2. 在新硬盘上创建新的home目录结构

假设其挂载点是/data(可能是空的也可能还有内容)

cd /data

sudo mkdir -p home

sudo chmod 755 home

3. 将/home内原本内容复制到新位置

这里最好用rsync保持权限和属性

sudo rsync -avx /home /data/home

4. 修改fstab配置文件

先备份,再向其中添加配置

sudo cp /etc/fstab /etc/fstab.bak

sudo vim /etc/fstab

在末尾添加一行

/dev/sdb1    /home    ext4    defaults    0    2

5. 卸载当前home并挂载新的

这一步最好保证没有其他用户登陆,如果条件允许,可以进入单用户模式

sudo mv /home /home.old

sudo mkdir /home

sudo umount /dev/sdb1

sudo mount /dev/sdb1 /home

# verify
df -h /home

lsblk

注意,这样挂载完之后,可能新的/home里面没有当前设置的用户文件夹,需要手动创建一下或者写个sh文件从/home.old里面读用户列表。此外,./bashrc文件也需要从/home.old里面复制出来并重新source一下。