Vista のユーザプロファイルをDドライブに移動する方法

Vista は標準だと %USERPROFILE% が C:\Users\username で、いわゆるマイドキュメントだったものが %USERPROFILE%\Documents なんだけれど、プロファイルを例えば D:\username とかにする方法。

基本的には Windows NT 時代のときからと同じで、プロファイルフォルダを Documents and Settings 以外に変更する方法 - スライムの殻で書いたのと同様にやればよい。

ただし後述するように、IEの保護モードをちゃんと動かすためにもう一手間必要なので、既存のプロファイルをコピーして使いたいケース以外では(つまり新規ユーザのプロファイルをDドライブにしたいときは)、デフォルトのユーザプロファイルルートをDドライブに変更してから新規ユーザを作った方がずっと楽だと思う。

それはさておくと、プロファイルを移したいユーザのユーザ名を USER_A として、

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

Vistaでは、最初に再起動しなくてもユーザレジストリのコピーが失敗しなった(たぶん)。
一方、コピーしただけでは "Mandatory Label" が落ちてしまうので、IEの保護モード(デフォルト)でダウンロードすらできないという問題が発生し、それを直す必要がある。