XPとVistaではユーザのフォルダ構成が大幅に変わりました。具体的には…
- ユーザーディレクトリ
- XP
C:¥Documents and Settings¥[ユーザー名] - Vista
C:¥Users¥[ユーザー名] - マイドキュメント
- XP
C:¥Documents and Settings¥[ユーザー名]¥My Documents - Vista
C:¥Users¥[ユーザー名]¥Documents - スタートメニュー
- XP
C:¥Documents and Settings¥[ユーザー名]¥スタート メニュー - Vista
C:¥Users¥[ユーザー名]¥AppData¥Roaming¥Microsoft¥Windows¥Start Menu
のようにです。XPではマイドキュメントを右クリックすることで、簡単に中の全てのファイルを別ドライブに移行することが出来ましたが、Vistaではユーザーディレクトリの中にある「ミュージック」「ビデオ」「ドキュメント」など、Users内の一部フォルダしか別ドライブに移動することが出来なくなっています。
これは、Usersの中にユーザの個人データを一括して保存するようになったためと思われます。
しかし、逆に考えれば、このC:¥UsersごとD:¥Usersに移動できれば、Cドライブは最低限必要なWindowsファイル、プログラムのみが保存されるようになり、ユーザデータとプログラムの分離がXPより明確に行える、と捉えることが出来ます。
そこで、今回はレジストリをいじって、C:¥Usersごと別ドライブ(今回はDドライブ)に移動させる方法をご紹介。
まず、普段使っているユーザ(以後test)でログインし、管理者権限のユーザを1人作成(以後move)します。
次に、moveでログインし、C:¥Usersフォルダごとコピーし、D:¥Usersに貼り付けます。途中、ロックがかかっていてコピーできないファイルがありますが、気にせずスキップしてください。
HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥ProfileList
そして、レジストリエディタを起動、上の位置まで階層を潜っていき「ProfilesDirectory」「Default」「Public」の値のデータを、それぞれ「D¥Users」「D:¥Users¥Default」「D:¥Users¥Public」に変更します。
変更後はこんな感じ。「ProgramData」はUsersフォルダ内に無いので、今回は変更しません。
HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥ProfileList¥S-0-0-00-1234567890-1234567890-123456789-1234
次に、ProfileList内にやたら長いキー名があると思うので、そこに入ります。そして「ProfileImagePath」の値のデータを「D:¥Users¥[ユーザ名]」に変更します。
変更後はこんな感じ。testのユーザデータをD:¥Users¥testに変更しました。
あとは再起動し、testでログイン。すべてのユーザデータがD:¥Usersに移動できていることを確認し、C:¥Usersフォルダと臨時のアカウントmoveを削除します。
ちなみに、これを1アカウント(testのみ)で実行しようとすると、必ず失敗します(私も失敗した…)。
最初のステップでC:¥UsersからD:¥Usersにコピー中、ロックがかかってコピーできないファイルというのは、今ログインしているユーザーのプロファイルデータのことであり、これをコピーできないままレジストリを編集してしまうと、プロファイルデータを見失ってしまうため、Windowsがうまく起動しなくなります。
なので、必ず別ユーザにコピー・レジストリ編集を担当させること。また、今回はユーザーアカウントが1つしかない事例ですので、複数ユーザーが利用している場合は、もう少し編集箇所が増えるかもしれません(未確認)。