1. 程式人生 > 其它 >如何遷移home目錄

如何遷移home目錄

技術標籤:linuxlinux

linux下如何遷移home目錄

sda2磁碟的東西太多爆滿了,打算把home目錄遷走。
網上查了好多都有問題,自己詳細記錄一下。如有不對歡迎批評指正。

  • 具體情況:
    環境:Ubuntu16.4
    根目錄:/dev/sda2
    目標目錄:/dev/sdb8
    任務:把根目錄上的home目錄遷移到目標目錄上

  • 具體操作:

  1. 把/dev/sdb8 掛在到 /mnt 上
sudo mount /dev/sda9 /mnt
  1. 進入想遷移的home目錄,把家目錄中的檔案全部複製到 /dev/sda8 上
rsync -av /home/* /mnt/
# 或者(推薦第一種)
cp -aR /home/* /
mnt/
  1. 可以比較下拷過去的是否齊全。(也可掠過)
diff -r /home /mnt
  1. 檢視 /dev/sda8 分割槽的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 就可以看到遷移成功啦!