プロファイルフォルダを Documents and Settings 以外に変更する方法

流行にのっとって Windows の tips でも。あまり他所では書かれていない方法を紹介。

中身はここ([HOW TO] ユーザー プロファイルとプログラム設定のデフォルトの場所を変更する方法)のとおりなんだけれど、ユーザープロファイルフォルダをデフォルト以外の場所に変更する方法。

ユーザプロファイルフォルダというのは、普通は C:\Documents and Settings\ユーザ名\ にある。この下にデスクトップやスタートメニュー、アプリケーションの設定、インターネットキャッシュファイル、テンポラリファイル等、ほとんどのユーザーデータが格納されている。マイドキュメントもデフォルトだとこの下じゃなかったっけかな。

これを別の場所に移します。その効能は最後にしてまずやり方から。

プロファイルを移したいユーザのユーザ名を USER_A として、

  1. Windows を再起動
  2. USER_A 以外の管理者ユーザ (Administrator あたり) でログオン
  3. USER_A のプロファイルフォルダ (C:\Documents and Settings\USER_A) を移動したい先(例えば D:\USER_A\profile)にフォルダごとコピー。
  4. レジストリエディタ (regedit.exe) で HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList を開き、USER_A のキーを探す。すなわち、サブキーである ProfileImagePath に C:\Documents and Settings\USER_A を含むキーを探す。
  5. 見つかったキーの下の ProfileImagePath を移動先のフォルダ(例えば D:\USER_A\profile)に書き換える
  6. USER_A でログオン
  7. プロファイルフォルダが変更されていることを確認(コマンドプロンプトで echo %USERPROFILE% としてみるか、スタートメニューを右クリック→「開く」として開かれるフォルダを確認)

最初の再起動をしないでプロファイルフォルダをコピーしようとすると、コピー中にエラーが出て中断してしまうので注意。正確に書くと、一度 USER_A でログオンしてしまうと USER_A の %USERPROFILE%\ntuser.dat というファイルをコピーできなくなる。

効能

Windows(に限らないけど)の使い方の基本に、「システムデータとユーザデータのドライブあるいはパーティションを分ける」というのがある。

例えば、OSとアプリケーションは C: ドライブに、それ以外のユーザーデータは D: ドライブに保存しましょう、というのは Windows 使いこなしテクニックでよく出てくる話。これのメリットは、WIndowsを再インストールしなければならなくなったとしても、C: ドライブのみフォーマットすればよいのでユーザデータは特に移動しなくてもそのままの状態を保てる、というところだ。

でも実際問題としては、上のとおり C:\Documents and Settings\ 以下のデスクトップフォルダなどにユーザデータをどうしても置いてしまうので、そんなに気軽に C: ドライブをフォーマットなんて出来やしない。

けれどユーザプロファイルそのものを上の方法で D: ドライブに移動してしまえば、C: は晴れてシステム専用ドライブに、というわけ。

ユーザ固有の設定もほとんどユーザプロファイルフォルダに存在するので、OSを再インストールしたとしても、ProfileImagePath を D:ドライブのプロファイルフォルダに改めて向けてやれば、ユーザ設定のかなりの部分はそのまま復元できる。

ついでに、これをやるとプロファイルフォルダのパスの途中にスペース ("Documents_ _and_ _Settings") が入ってしまうことも避けられる。
最近は少なくなったけれど UNIX 系のソフトでパス途中にスペースを含むファイルをちゃんと扱えないケースがままある。そういう場合でも、上のようにしておけばデスクトップに置いたファイルも安心して扱える。

さらに、デスクトップフォルダ ("%USERPROFILE%\デスクトップ") の名前を Expolorer から "desktop" にでもリネームしてやれば、 全角文字も排除できてコマンドシェル等からアクセスするときにも便利になる。

まあ、効能としてはこんなところか。
ちなみに自分はこの方法を WIndows 2000 時代から数年以上にわたって実践してるけれど、この変更に起因するトラブルにあったことはたぶん皆無。だって Microsoft のサポートページにも書いてあるわけだしね。