將 /home 搬入新硬碟

Maniac.tw
3 min readNov 2, 2017

--

目前手邊有一台電腦,硬碟有 275GB SSD 和 4TB HDD 各一顆。SSD 效能好但是空間小,所以適合放應用程式,載入記憶體速度很快;剩下的純資料對讀寫速度要求不高就放進 HDD 裡。SSD 已經裝好 Ubuntu 整個系統了,所以我想把 /home 搬出去。操作步驟如下:

  1. 分割 HDD
  2. 新增掛載點
  3. 掛載 HDD
  4. 移動 /home/ 到新硬碟
  5. 重新掛載 HDD
  6. 寫入 /etc/fstab

分割 HDD

已完成,略過

新增掛載點

先創一個資料夾

$ mkdir /mnt/home

檢視磁碟狀況

$ blkid
/dev/sda1: UUID="57A5-7E57" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="f2b54b81-4144-44de-8ef1-81a2979fb367"
/dev/sda2: UUID="cf48c969-b2de-438a-acec-0506fe8d2b7d" TYPE="ext4" PARTUUID="b7044c29-fcf3-44a6-b366-a089c42da0c0"
/dev/sda3: UUID="0fd43f90-511e-4ed5-b0eb-843daae3456a" TYPE="swap" PARTUUID="3ad4655b-88fa-4edf-b235-d5eb2272e029"
/dev/sdb1: UUID="3769a972-dcdc-4e93-ab2f-ed3220da3583" TYPE="ext4" PARTUUID="552b5773-bf25-42ee-8ba1-c34b2905acc2"
/dev/sdc1: LABEL="UBUNTU 16_0" UUID="B0F5-404A" TYPE="vfat" PARTUUID="4416e7d4-01"

sda 是安裝 Ubuntu 系統的 SSD,被分割成三個 partition。
sdb 是 4TB HDD,待會要掛載的,要記下 UUID,待會會用到。
sdc 是我的 USB 隨身碟。

將硬碟掛載到 /mnt/home

$ mount /dev/sdb1 /mnt/home

移動 /home/ 到新硬碟

$ rsync -av /home/ /home1

這行指令是做差異同步,所以還要把原本的 /home/ 裡面的資料給刪除。其實應該直接用 mv 就好的。

$ rm -rf /home/*

重新掛載 HDD

先卸載

$ umount /dev/sdb1

再直接掛載到 /home/

$ mount /dev/sdb1 /home

寫入 /etc/fstab

每次開機的時候,系統會先查看 /etc/fstab 來決定要掛載哪些硬碟。如果還不懂的話,直接看 /etc/fstab 內容和註解就知道了。

$ vim /etc/fstab

加入這段

UUID=<上面查到的 UUID>     /home   ext4    defaults        0       0

這下就可以開機後自動掛載 HDD 到 /home 了。

參考資料

http://dylan-snsd.blogspot.tw/2013/06/ubuntu-1204mounthome.html
http://jpuyy.com/2013/09/ubuntu-home-moving.html
https://help.ubuntu.com/community/Partitioning/Home/Moving
http://linux.vbird.org/linux_basic/0230filesystem.php#mount

--

--

No responses yet