Back to the Eight (Again and again)

Windows8のユーザディレクトリを丸ごとDドライブに移動する、のマシな奴

前回、上記のタイトルで投稿したが、その後どれかは不明だが行儀の悪いプログラムのお蔭で、Windows XPのファイルシステムに互換となるよう勝手にシンボリックリンクが張られてシステムがどうにも気に入らない(笑)状態になったので、又もや初期化した。それで当然タイトルの話をも一回やるのだが、今度はスマートで、Win8のセットアップディスクも要らない。
出典はPRASYS'S BLOGである。この記事は本人と愉快な仲間達のコメントにより手順が修正されているが、以下はそれらをまとめたものである。
但し、例によってこの記事によりあなたの何かがどうにかなっても誰も何も補償しないので念のため。

(1) Windows+c → 設定 → PC設定の変更
を選ぶ。この「PC設定の変更」は一番下にひっそりと存在する。

(2) 全般 → 今すぐ再起動する
を選ぶ。この「今すぐ再起動する」も一番下に出る。選択してもまだ再起動は始まらない。

(3) トラブルシューティング → 詳細オプション → コマンドプロンプト
を選ぶ。この最後のアクションにより再起動に入る。

(4) いつもと異なるログイン画面が出るので、スーパーユーザー権限のあるIDをクリックしてパスワード。

(5) コマンドプロンプトのスクリーンが寂しそうに現れる。
ここで、上記記事や他の似たような記事によればスマートなコマンドを使って起動時のCドライブ(起動ドライブであるSSD)とDドライブ(リンク先であるHDD)を見分けるが、まあ、ここはドライブをc:とかd:とかe:とか切り替えながらdirで確認して慣れるのが良いかと思う。*
 私のPCの場合、通常起動時のc:を見ると既存のリンク(何?)のみが見られたが、他のフォルダは見られなかった。その代りe:を覗くとc:にあったフォルダがちゃんとある。一方、通常起動時のd:ドライブはd:のままだった。つまり、私のこの環境では次の手順で再リンクを行うことになる。

・e:\Usersをd:ドライブにコピー(d:\Usersができる)
・e:\Usersを消す。
・d:\Usersへのシンボリックリンクをe:に作る。

これらの作業の後、通常起動すればc:上にd:Usersへのシンボリックリンクができるわけである。シンボリックリンクはあくまでも行儀の悪いアプリケーションのための保険だが。
以下、このドライブ文字で記載を続ける。

(6) robocopy /copyall /mir /xj e:\Users d:\Users
robocopyは途中の出力が省略されているせいか、xcopyを用いた以前のコマンドよりかなり早く感じたが…単にデータ量が少ないだけだったりする。

(7) d:\Usersにコピーされていることを大雑把に確認したら rmdir /S /Q e:\Users でオリジナルを削除。

(8) mklink /J e:\Users d:\Users
で、シンボリックリンクを張る。

後はexitコマンドでも叩けば再起動を選択する画面が出るので、祈りながら結果を見ることになる。*

*後日修正
同じ方法でProgramDataも移動した。移動した直後は使用に問題は発生しなかったが、しばらくしてWindows Updateの特定のパッチがいつまでも失敗して残っていることに気付いた。マイクロソフトサポートに連絡し、ステップバイステップで様々なスタートアップやサービスを殺しながらオフラインインストールをするも改善せず、結局、Usersディレクトリのみを移し、ProgramDataは元の場所のまま、と言うことで事なきを得ている。
また、上記(5)のドライブレターの「化け方」だが、これらの試行の過程で、同じPCでも変化することがあることを確認した。やはり覗いてみながら確認するのが一番安心かと。

因みにProgram Files(特に64bitの)も移動しない方が良いらしい。

以上です。