Macのホームフォルダを外付けHDDへ移動する方法

Machome_eye

内臓ストレージの容量がお世辞にも多いとは言えないMacに、外付けHDDを増設するのは、もはや当たり前ですね。
でも増設しただけだとダウンロードやアプリのデータ保存先などは、元のユーザーホームフォルダに入ってしまいます。
ホームフォルダのデフォルト設定を外付けHDDへ変更してみました。

フォルダを丸ごとコピー

ホームフォルダの中には、ダウンロードしたファイルや書類、ピクチャなど一般的なファイルの他に、各ユーザーのシステム設定ファイルなども含まれています。
その殆どが不可視ファイルなので、中途半端に移動すると、最悪アプリが起動しないだけでなく、OS Xの動作にも不具合が出るかもしれません。

先ずは外付けHDDに、新たにホームフォルダとなるディレクトリを作ります。
ターミナルを立ち上げてコマンドを打ち込んでの作業となります。

$ mkdir -p /Volumes/HD-LCU3/Users/taks

mkdirコマンドでディレクトリ作成します。Windows系のDOSでも同じコマンドですね。-p オプションはパス途中に存在しないディレクトリがあった場合、同時に作成するという指定です。
/Users/ユーザー名がデフォルトフォルダですので、フォルダ名は任意に変更して下さい。

次にホームフォルダの内容をまるごとコピーします。

$ sudo ditto -v -rsrcFork /Users/taks /Volumes/HD-LCU3/Users/taks 

sudoは、管理者権限で実行するコマンド。実行すると管理者のパスワードを要求されます。
dittoコマンドでフォルダを丸ごとコピーします。dittoコマンドの特徴は、-rsrcFork オプションでリソースフォークも含めたコピーが出来ることです。

リソースフォークとは、アイコンやウインドウの位置や大きさ、メニューの内容などを記憶している情報です。

リソースフォーク – Wikipedia

保存されているデータ量にもよりますが、まるごとコピーには時間がかかります。気長に待ちましょう。

新しいホームフォルダを指定

データのまるごとコピーが完了したら、OS Xの環境設定からホームディレクトリの設定を変更します。

Machome1
システム環境設定→「ユーザとグループ」を開きます。

  1. 左下の鍵マークをクリックしてパスワードを入力。管理者権限のロックを解除します。
  2. Controlを押しながらクリックで「詳細オプション」が表示されます。

Machome2
「ホームディレクトリ:」欄で、新たに作成したホームディレクトリのパスを指定します。

パスの変更が完了したら、Macを再起動して変更を反映させます。

シンボリックリンクの作成

再起動が完了したら、ホームディレクトリが変更されていることを確認しましょう。

Machome3
変更が反映されていると、外付けHDDのフォルダアイコンがホームのアイコンに変化しています。

無事変更が確認できたら、シンボリックリンクを作成します。
アプリによっては [/Users/ユーザー名] のパス指定で設定ファイルなどをインストールしますので、 [/Volumes/外付けHDD/Users/ユーザー名] へインストールされるようにリンクさせます。

$ sudo mv /Users/taks /Users/taks_bkup
$ sudo ln -s /Volumes/HD-LCU3/Users/taks /Users/taks

mv コマンドで元のホームフォルダ名を変更します。ln コマンドで[/Users/ユーザー名] の位置に [/Volumes/外付けHDD/Users/ユーザー名] へのリンクを作成します。

以上で変更完了です。

まとめ

実際に変更作業をする前に、TimeMachineなど十分にバックアップを行っておくと、いつでも元の状態に戻せるので安心です。

アプリで作成者ファイルの保存先は、デフォルトだと元のホームフォルダになっています。前回の保存位置を記憶してくれるものはまだ良いのですが、そうでないものは毎回変更しないといけないので面倒でした。
この設定をしてからはそんな煩わしさからも開放されて快適です。

Finder起動時のデフォルトフォルダも、ホームフォルダにしておくだけで外付けHDDに保存できますので、SDカードのデータを移す時も楽ですね。

ただ、アプリケーションフォルダがだけは、移動されていませんでした。
本来、ホームフォルダ内にあるはずなので、いっしょにコピーできていると思っていましたが、アプリケーションフォルダだけコピーされず、元の内蔵HDDに単独フォルダとして残っていました。
仕様でしょうか?

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. However より:

    TimeMachineではなく、ホームフォルダを元の内臓HDDに戻すコマンドを教えてください

    • taks より:

      コメントありがとうございます。
      元に戻す方法は、

      1. シンボリックリンクを削除する ・・・ unlink /User/taks
           ※ rm コマンドでも消せますが、使い方を誤るとホームディレクトリの中身が全て消えてしまいます。unlink コマンドのほうがおすすめです。
      2. 変更していた内蔵HDDのホームディレクトリ名を元に戻す ・・・ $ sudo mv /Users/taks_bkup /Users/taks
      3. 外付けHDDのホームディレクトリフォルダの内容を内蔵HDDへコピーする ・・・ $ sudo ditto -v -rsrcFork /Volumes/HD-LCU3/Users/taks  /Users/taks
      4. システム環境設定→「ユーザとグループ」→「詳細オプション」から、ホームディレクトリのパスを内蔵HDDへ変更する。
      5. 再起動する

      これでもとに戻せるはずです。
      フォルダ名などは、ご自分の環境に合わせて変更してください。

  2. However より:

    dittoでコピーが内蔵HDDにできません。外付けにコピーされてしまいます。
    HD-LCU3とは、内蔵HDDの名前ですか?

  3. However より:

    mv /Users/taks_bkup /Users/taks

    これも、”No such file or directory”とでてしまいます。

    • taks より:

      返事が遅くなり申し訳ございません。

      >HD-LCU3とは、内蔵HDDの名前ですか?
      はい、外付けHDDの名称になります。

      申し訳ございません。前回の自分のコメント見返したら、ミスが有りました。
      1.の ” unlink /User/taks ”は、正しくは” unlink /Users/taks ”でした。
      おそらく、このシンボリックリンク削除するコマンドの間違いで、シンボリックリンクが削除できなかったため、コピー内容が外付けHDDへ飛ばされたのだと思います。
      お手数ですが、” unlink /Users/taks ”を実行してお試しください。

      >mv /Users/taks_bkup /Users/taks
      >これも、”No such file or directory”とでてしまいます。
      「taks_bkup」というフォルダ名を、「taks」というフォルダ名に変更するコマンドです。
      考えられる原因は、2つ
      1.” taks ”は、私のMacのホームフォルダ名(ユーザー名)です。
        御自分のホームフォルダ名になっているか確認してください。
        また、” taks_bkup ”も私のホームフォルダ名のバックアップ用に付けた名前です。
        こちらも御自分のホームフォルダのバックアップ名になっているか、確認願います。

      2.先程のシンボリックリンク削除ができていないため
        /User/taks というシンボリックリンクファイルに「taks_bkup」というフォルダを
        移動しようとしてエラーが出ている。

      ”No such file or directory”は、「そんなファイルやディレクトリ(フォルダ)はありません」って意味なので、「taks_bkup」という名称でバックアップフォルダを作っていないのではないかと思いますが・・・ご確認ください。