こんにちは。
PCに32GのSSDと1TBのHDDを接続して、SSDをOS専用とし、データ保存はHDDの方で行いたいと考えています。
ところが、うっかりSSDの内部にhomeが存在するようにインストールしてしまいました。
homeフォルダをそっくりそのまま、別のHDDに移動させるにはどのようにすればよいのでしょうか。
homeを別のHDDに移動させる方法について
Re: homeを別のHDDに移動させる方法について
GpartedでEtex4にフォーマット後、ライブCDを起動して、作業します。
Ubuntuでの作業の例を・・・
https://forums.ubuntulinux.jp/viewtopic.php?pid=3325
https://forums.ubuntulinux.jp/viewtopic.php?pid=96613
Ubuntuでの作業の例を・・・
https://forums.ubuntulinux.jp/viewtopic.php?pid=3325
https://forums.ubuntulinux.jp/viewtopic.php?pid=96613
Re: homeを別のHDDに移動させる方法について
amefurashi さん、こんにちは。
既に作業済みかもしれませんが、先日同じようなことをしたのでそのときの手順を記載しておきます。ただし、安全の保証はできません
手順は以下のようなものです。作業はシングルユーザモードで行います。コマンド操作が難しいようでしたら Live CD を使用した方がいいかもしれません。
1. /home のバックアップを作成する
2. /home を移動(リネーム)する
3. 新しいディスクを準備する(接続済みで、デバイスが /dev/sdb、パーティションを /dev/sdb1 とします。フォーマットなどは事前に行っておいてもかまいません。)
4. 新しいディスクを /home にマウントする
5. バックアップからデータを書き戻す
シングルユーザモードに入ります。ログイン画面中でかまわないので Ctrl+Alt+F1 などを押してコンソールに移動します。(作業中のものがあれば保存を)
少し待った後、ルートのパスワードを聞かれるのでログイン時に使用しているパスワードを入力します。
/home のバックアップを作成します。バックアップは tar コマンドで作成します。P オプションはフルパスで記録を行うオプションです。これを忘れないようにしてください。ひとまずこのバックアップが取れればやり直しもできるはずです。バックアップが終わったら tar tf home.tar でファイルのパスが /home から始まっているか確認してください。問題がなければ /home を適当な名前に変更して、新しいパーティション用に /home を作成します。
新しいパーティションの UUID を調べて fstab を更新します。これはデスクトップ環境にログイン中に調べておいて fstab に記述しておきマウントポイントを none にしておくと楽かもしれません。必要であれば fstab をバックアップしておいてください。
/etc/fstab の例です(UUID はパーティションごとに異なります)。書式がわからなければ man fstab を参照してください。変更は nano や vi で行ってください。
新しいパーティションがマウント済みであればアンマウントし mount -a を実行します。fstab の記述が正しければここで /dev/sdb1 が /home にマウントされるはずです。lsblk コマンドなどで /dev/sdb1 が /home にマウントされているかどうか確認し、バックアップからデータを書き戻します。ここでも P オプションを忘れないでください。
/home の内容を確認し、終わったら再起動します。
問題がなければ作業時に作成したバックアップ(/home.bak や /home.tar)を削除してください。
誤りがあればどなたか訂正をお願いします。では
補足:もし SSD に /home のバックアップを取るほどのスペースが無い場合はバックアップを省略し、新しいパーティションのマウントまでを済ませたあと、リネームしたフォルダからコピーまたは移動してください。以下は tar コマンドによるコピーの例です。
既に作業済みかもしれませんが、先日同じようなことをしたのでそのときの手順を記載しておきます。ただし、安全の保証はできません
手順は以下のようなものです。作業はシングルユーザモードで行います。コマンド操作が難しいようでしたら 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
コード: 全て選択
blkid -o export /dev/sdb1 | grep UUID >> /etc/fstab
コード: 全て選択
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
df
tar xPf /home.tar
コード: 全て選択
reboot
誤りがあればどなたか訂正をお願いします。では
補足:もし SSD に /home のバックアップを取るほどのスペースが無い場合はバックアップを省略し、新しいパーティションのマウントまでを済ませたあと、リネームしたフォルダからコピーまたは移動してください。以下は tar コマンドによるコピーの例です。
コード: 全て選択
cd /home.bak
tar cf - . | (cd /home && tar xf -)
-
amefurashi
- 前相撲
- 記事: 7
- 登録日時: 2014年9月18日(木) 12:49
Re: homeを別のHDDに移動させる方法について
gi1948さん
fireflyさん
お二方、返信ありがとうございます。
homeにはもともと何のデータも入っていなかったのでバックアップ作業は割愛し、提示していただいた情報を頼りにfstabの記述を変更したところ、無事HDDをhomeフォルダとして認識させることが出来ました。
詳しい解説ありがとうございました。
fireflyさん
お二方、返信ありがとうございます。
homeにはもともと何のデータも入っていなかったのでバックアップ作業は割愛し、提示していただいた情報を頼りにfstabの記述を変更したところ、無事HDDをhomeフォルダとして認識させることが出来ました。
詳しい解説ありがとうございました。
Re: homeを別のHDDに移動させる方法について
amefurashi さん
無事希望通りの環境になったようで良かったです
無事希望通りの環境になったようで良かったです