如何遷移home目錄
阿新 • • 發佈:2020-12-15
linux下如何遷移home目錄
sda2磁碟的東西太多爆滿了,打算把home目錄遷走。
網上查了好多都有問題,自己詳細記錄一下。如有不對歡迎批評指正。
-
具體情況:
環境:Ubuntu16.4
根目錄:/dev/sda2
目標目錄:/dev/sdb8
任務:把根目錄上的home目錄遷移到目標目錄上 -
具體操作:
- 把/dev/sdb8 掛在到 /mnt 上
sudo mount /dev/sda9 /mnt
- 進入想遷移的home目錄,把家目錄中的檔案全部複製到 /dev/sda8 上
rsync -av /home/* /mnt/
# 或者(推薦第一種)
cp -aR /home/* / mnt/
- 可以比較下拷過去的是否齊全。(也可掠過)
diff -r /home /mnt
- 檢視 /dev/sda8 分割槽的UUID
sudo blkid /dev/sdb8
複製下來。
- 修改 /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和原來的替換了(可以把原來的註釋掉就行以備份)。
- 儲存,退出。重啟電腦reboot,如果重啟成功後,檢視一下/home過去沒
檢視命令:
df -h
- 此時可以看到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 就可以看到遷移成功啦!