概要 †
AppData以下をデフォルトのワークフォルダとするアプリが多い昨今。
そこに膨大なデータを作るアプリもあり(itunesとかitunesとかitunesとか)、CドライブがSSDだと逼迫してしまいます。
とはいえ、各アプリの設定で別ドライブを指定するのは非常に煩わしい。やりたくない。
ということで、C:\Users(とC:\ProgramData)を、OSインストールから相当経過した後に移動してみました。
C:\Usersはアクセス権の絡みで実行時にコピーや削除しずらいため、WindowsPE上で作業します。
C:\Users, C:\ProgramDataの実体をD:\Users, D:\ProgramDataへ移動します。
ちなみに、OSインストール時点でパスを変更したい場合は、
SSDに対して過保護になる
のようなことをすればいけます(これを試したときはWindows7だったので、今は違うかもですが)
手順 †
- WindowsPEがなければ作る
WindowsPE USBメモリを作成する
- WindowsPEを起動
- Users,ProgramDataをコピー
1
2
3
4
5
6
7
8
9
10
11
| -
|
!
-
|
|
!
-
!
|
robocopy <コピー元> <コピー先> /E /COPYALL /R:<リトライ回数(既定値1,000,000)> /W:<リトライ間隔(既定値30秒)> /NP /UNILOG:<ログ出力先>
robocopy "H:\Users" "C:\Users" /E /COPYALL /R:3 /W:3 /NP /UNILOG:users.log
robocopy "H:\ProgramData" "C:\ProgramData" /E /COPYALL /R:3 /W:3 /NP /UNILOG:programdata.log
|
- コピー元のUsers, ProgramDataを削除
1
2
3
4
5
6
7
| -
|
!
-
!
| rmdir /S /Q <対象パス>
rmdir /s /q "H:\Users"
rmdir /s /q "H:\ProgramData"
|
- シンボリックリンク作成
1
2
3
4
5
6
7
| -
|
!
-
!
| mklink /D <シンボリックリンクパス> <実体のパス>
mklink /D "H:\Users" "C:\Users"
mklink /D "H:\ProgramData" "C:\ProgramData"
|
- 再起動して、正常に動くことを確認
検証時の環境 †