Ubuntuで使用中のhomeディレクトリを別パーティションに移動する (LiveUSBなど不要)

Ubuntuで,LiveUSBなどを使わずに,使用中のhomeディレクトリを別パーティションに移動する方法です.

注意: 一歩間違えるとデータの消失の危険があります.自己責任で実行をお願いします.

基本的は以下のページのやり方に従います.

www.maketecheasier.com

実行環境

パーティションの準備

1. (新たにパーティションを作る場合)GPartedを使って新規パーティションを作る

この画像はsda2にパーティション作成後のものです.

f:id:kamocyc:20191026124604p:plain

2. 移動先のパーティションのUUIDを記録

GParted上で対象パーティションを右クリック > Informationで以下の画面が表示されます.

UUIDのところをテキストエディタにでもコピーしておきます.

(新規パーティションでUUID無い場合は,先に右クリック > New UUIDで生成します.)

f:id:kamocyc:20191026124957p:plain

homeディレクトリの内容を別パーティション移動する

homeディレクトリのデータの移動手順です.

3. homeディレクトリの一時コピー先を作成し,別パーティションにマウントする

homeディレクトリのコピー先を作成します.

sudo mkdir /media/home

次に,fstabをテキストエディタで開きます.

sudo emacs /etc/fstab

以下の行をファイルに追記します.(UUIDやファイルシステムなどは適切なものに変更してください.マウントオプションは必要に応じて.)

UUID=xxxxxxxxx-xxx-xxxxxx    /media/home   ext4      errors=remount-ro   0   2

fstabの表記は以下リンクなどをご参照ください.

www.infraeye.com

fstabの設定を読み込んで,マウントします.

sudo mount -a

4. homeディレクトリをコピーする

既存のhomeディレクトリの内容を,先ほど作成した別パーティションディレクトリにコピーします.

パーミッションなどもそのままコピーする必要があるので,rsyncコマンドを使います.

注意: Dropboxなどファイル同期を行うソフトが動いている場合は,先に終了させます.

sudo rsync -aXS /home/. /media/home/.

www.atmarkit.co.jp

5. 既存のhomeディレクトリを退避

既存のhomeディレクトリを,別名に退避します.

cd /
sudo mv /home /home_backup

homeディレクトリを作り直します.

sudo mkdir /home

6. homeディレクトリのコピー先のディレクトリのマウント位置を変更

もう一度fstabを開きます.

sudo emacs /etc/fstab

先ほど追記した行の,/media/home/homeに変更します.

UUID=xxxxxxxxx-xxx-xxxxxx    /home   ext4      errors=remount-ro   0   2

マウントし直します.

sudo mount -a

これで,4.でコピーしたデータが,/homeにマウントされました.

その後,Documentなどに正しくアクセスできることを確認して,PCを再起動後も正しくログインできることを確認します.

7. (必要に応じて)home_backupを削除する

homeディレクトリ移動後に特に問題が無いなら,home_backupを削除しても良いでしょう.

sudo rm -rf /home_backup

所感

デュアルブートWindowsを潰したパーティションを使いたかったのですが,既存のUbuntuパーティションを前方に動かす方法がよくわからず,起動しなくなることがこわかったので,パーティションを分けて使うことにしました.

私の場合は,/homeの容量が大きかったので,これを移動させました.

使用中の/homeディレクトリを単純にコピーするわけなので,本当に大丈夫なのか少し不安ですが,使っていて今のところ問題ないようです.