如何迁移home目录

linux下如何迁移home目录

sda2磁盘的东西太多爆满了,打算把home目录迁走。
网上查了好多都有问题,自己详细记录一下。如有不对欢迎批评指正。

  • 具体情况:
    环境:Ubuntu16.4
    根目录:/dev/sda2
    目标目录:/dev/sdb8
    任务:把根目录上的home目录迁移到目标目录上

  • 具体操作:

  1. 把/dev/sdb8 挂在到 /mnt 上
sudo mount /dev/sdb8 /mnt
  1. 进入想迁移的home目录,把家目录中的文件全部复制到 /dev/sda8 上
rsync -av /home/* /mnt/
# 或者(推荐第一种)
cp -aR /home/* /mnt/
  1. 可以比较下拷过去的是否齐全。(也可掠过)
diff -r /home /mnt
  1. 查看 /dev/sdb8 分区的UUID
sudo blkid /dev/sdb8   

复制下来。

  1. 修改 /dev/sda2 的 /etc/fstab ,以改变系统挂载点。
sudo mkdir /mnt/root/   #在/mnt下创建一个根目录的挂载点 
sudo mount /dev/sda2 /mnt/root  #把sda2挂载上去
cd /mnt/root/etc/ 
gedit fstab            # 修改挂载点

/etc/fstab 这个文件大概这样:

# /etc/fstab: static file system information. 
# # Use 'blkid' to print the universally unique identifier for a 
# device; this may be used with UUID= as a more robust way to name devices 
# that works even if disks are added and removed. See fstab(5). 
# # <file system> <mount point> <type> <options> <dump> <pass> 
# / was on /dev/sda2 during installation 
UUID=1d1398af-e518-436b-a716-8ac2d60f7ba3       /                xfs        errors=remount-ro       0 1 
# /home was on /dev/sda8 during installation 
UUID=1d1398af-e518-436b-a716-8ac2d60f7ba3       /home            ext4        defaults                0 0 
/swapfile
0        0

也有可能没有这两行:
#/home was on /dev/sda8 during installation
UUID=1d1398af-e518-436b-a716-8ac2d60f7ba3 /home ext4

没有的话,按它的格式添加上就行。把刚才复制的sdb8的uuid和原来的替换了(可以把原来的注释掉就行以备份)。

  1. 保存,退出。重启电脑reboot,如果重启成功后,查看一下/home过去没
    查看命令:
df -h
  1. 此时可以看到sdb8已经有/home了,但sda2还是空间没变,说明home还在。两个home。所以要把根目录底下那个家目录删掉 。但原来根下的home还在但被隐藏了,所以要找出来删掉。
    ctrl+alt+F1切换到无图像界面。
    先把/dev/sdb8取下来:
sudo umount /dev/sdb8 

这样隐藏在根目录下的原来的home就能找到了。因为现在剩下的就是它。

cd /home
rm -rf /home

此时,ctrl+alt+F7切回图形界面。
再 df -h 就可以看到迁移成功啦!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值