amefurashi さん、こんにちは。
既に作業済みかもしれませんが、先日同じようなことをしたのでそのときの手順を記載しておきます。ただし、安全の保証はできません
手順は以下のようなものです。作業はシングルユーザモードで行います。コマンド操作が難しいようでしたら Live CD を使用した方がいいかもしれません。
1. /home のバックアップを作成する
2. /home を移動(リネーム)する
3. 新しいディスクを準備する(接続済みで、デバイスが /dev/sdb、パーティションを /dev/sdb1 とします。フォーマットなどは事前に行っておいてもかまいません。)
4. 新しいディスクを /home にマウントする
5. バックアップからデータを書き戻す
シングルユーザモードに入ります。ログイン画面中でかまわないので Ctrl+Alt+F1 などを押してコンソールに移動します。(作業中のものがあれば保存を)
- コード: 全て選択
sudo telinit 1
少し待った後、ルートのパスワードを聞かれるのでログイン時に使用しているパスワードを入力します。
/home のバックアップを作成します。バックアップは tar コマンドで作成します。P オプションはフルパスで記録を行うオプションです。これを忘れないようにしてください。ひとまずこのバックアップが取れればやり直しもできるはずです。バックアップが終わったら tar tf home.tar でファイルのパスが /home から始まっているか確認してください。問題がなければ /home を適当な名前に変更して、新しいパーティション用に /home を作成します。
- コード: 全て選択
cd /
tar cPf home.tar /home
tar tf home.tar | less
mv /home /home.bak
mkdir /home
新しいパーティションの UUID を調べて fstab を更新します。これはデスクトップ環境にログイン中に調べておいて fstab に記述しておきマウントポイントを none にしておくと楽かもしれません。必要であれば fstab をバックアップしておいてください。
- コード: 全て選択
blkid -o export /dev/sdb1 | grep UUID >> /etc/fstab
/etc/fstab の例です(UUID はパーティションごとに異なります)。書式がわからなければ man fstab を参照してください。変更は nano や vi で行ってください。
- コード: 全て選択
UUID=047f2625-89fd-4bf5-a9d2-3ef300a50557 / ext4 errors=remount-ro 0 1
UUID=0413586d-d70b-428b-9dae-cce54fb5e624 /home ext4 defaults 0 2
新しいパーティションがマウント済みであればアンマウントし mount -a を実行します。fstab の記述が正しければここで /dev/sdb1 が /home にマウントされるはずです。lsblk コマンドなどで /dev/sdb1 が /home にマウントされているかどうか確認し、バックアップからデータを書き戻します。ここでも P オプションを忘れないでください。
- コード: 全て選択
mount -a
df
tar xPf /home.tar
/home の内容を確認し、終わったら再起動します。
- コード: 全て選択
reboot
問題がなければ作業時に作成したバックアップ(/home.bak や /home.tar)を削除してください。
誤りがあればどなたか訂正をお願いします。では
補足:もし SSD に /home のバックアップを取るほどのスペースが無い場合はバックアップを省略し、新しいパーティションのマウントまでを済ませたあと、リネームしたフォルダからコピーまたは移動してください。以下は tar コマンドによるコピーの例です。
- コード: 全て選択
cd /home.bak
tar cf - . | (cd /home && tar xf -)