homeを別のHDDに移動させる方法について

Linux Mintの初心者向けフォーラム

homeを別のHDDに移動させる方法について

投稿記事by amefurashi » 2014年9月22日(月) 15:23

こんにちは。

PCに32GのSSDと1TBのHDDを接続して、SSDをOS専用とし、データ保存はHDDの方で行いたいと考えています。
ところが、うっかりSSDの内部にhomeが存在するようにインストールしてしまいました。
homeフォルダをそっくりそのまま、別のHDDに移動させるにはどのようにすればよいのでしょうか。
amefurashi
前相撲
 
記事: 7
登録日時: 2014年9月18日(木) 12:49

Re: homeを別のHDDに移動させる方法について

投稿記事by gi1948 » 2014年9月22日(月) 16:21

GpartedでEtex4にフォーマット後、ライブCDを起動して、作業します。
Ubuntuでの作業の例を・・・
https://forums.ubuntulinux.jp/viewtopic.php?pid=3325
https://forums.ubuntulinux.jp/viewtopic.php?pid=96613
gi1948
幕内
 
記事: 173
登録日時: 2013年1月12日(土) 18:57

Re: homeを別のHDDに移動させる方法について

投稿記事by firefly » 2014年9月23日(火) 01:16

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 -)
17.1 Cinnamon 32-bit / 17 KDE 32-bit / 17 Xfce 32-bit
Pentium D 925 / 4 GB RAM / GeForce GTX-260
いつまでいるかはわかりません :o
firefly
序二段
 
記事: 34
登録日時: 2014年9月12日(金) 17:48

Re: homeを別のHDDに移動させる方法について

投稿記事by amefurashi » 2014年9月25日(木) 00:48

gi1948さん
fireflyさん

お二方、返信ありがとうございます。

homeにはもともと何のデータも入っていなかったのでバックアップ作業は割愛し、提示していただいた情報を頼りにfstabの記述を変更したところ、無事HDDをhomeフォルダとして認識させることが出来ました。
詳しい解説ありがとうございました。
amefurashi
前相撲
 
記事: 7
登録日時: 2014年9月18日(木) 12:49

Re: homeを別のHDDに移動させる方法について

投稿記事by firefly » 2014年9月26日(金) 21:05

amefurashi さん

無事希望通りの環境になったようで良かったです :D
17.1 Cinnamon 32-bit / 17 KDE 32-bit / 17 Xfce 32-bit
Pentium D 925 / 4 GB RAM / GeForce GTX-260
いつまでいるかはわかりません :o
firefly
序二段
 
記事: 34
登録日時: 2014年9月12日(金) 17:48


Return to 初心者サポート

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[18人]