C:\Users\ユーザ名を別ドライブに出来ないのか?
2015-11-14 と関連する話。
結論:無理・゚・(ノД`)・゚・
んでは、以下、足掻いた結果です。
使用中のユーザで試すのは怖いので、新規ユーザ TESTを作成して、ログインしてすぐにログアウト。
その1:HOMEDRIVE を上書き
TESTでログイン後、PowerShellで、
> dir env:
とすると、環境変数がわらわらと出てくるわけだけど、
そこに、HOMEDRIVE と HOMEPATH が、あります。
HOMEDRIVE C: HOMEPATH \Users\TEST
なので、「$HOMEDRIVE を別のドライブに変更したらええやん。」と考えた。
ただ、システムの環境変数を変更するのは影響度がデカすぎるので、ユーザ環境変数で定義。
ついでに、C:\Users\TEST へ向いている環境変数をすべて、別ドライブに置き換え。
APPDATA I:\Users\%USERNAME%\AppData\Roaming HOMEDRIVE I: HOMEPATH \Users\%USERNAME% LOCALAPPDATA I:\Users\%USERNAME%\AppData\Local USERPROFILE I:\Users\%USERNAME%
再度、TESTでログインして、PowerShellで環境変数をチェックしたが、
上記で設定したユーザ環境変数は反映されていなかった。
失敗 orz
その2:$HOMEDRIVE$HOMEPATH をmklinkで別のドライブにしてしまう
事前に、下記を実行して、Administratorログイン出来るようにする。
net user administrator password /active:yes
以後は、Administratorでログインして操作。
ユーザフォルダ(C:\Users\TEST)を 別ドライブにユーザフォルダごと (I:\home\TEST)をコピー。
下記の様にして、シンボリックリンクを作成
mklink /d "C:\Users\TEST" "I:\home\TEST"
んで、TESTでログインしてみた。
しかし、ログイン時にプロファイルが正しく読めないとか警告がでて、TEMPってフォルダを C*\Users の下に作成して起動していた。。。
失敗 orz
おわりに
たぶんだけど、その1での変更をシステム環境変数で設定すれば行けるかもしれない。たぶん。きっと。おそらく。
ただ、失敗すると影響大過ぎるので恐ろしくて出来ない。
仮想PCで試しにやっても良いかもしれないが、これ以上はしんどいのでやめ。
追記
下記を見て驚愕。
引用
最終的なProcess環境変数VARの値は"system->user->volatile"となる。
APPDATA、HOMEDRIVE、HOMEPATH、LOCALAPPDATA、USERNAME、USERPROFILE は、
HKEY_CURRENT_USER\Volatile Environment に定義されていたので、おそらく volatile 。
ってことは、後からバンバン変えられるから、System or User環境変数に設定したとしても
後続のプロセス(きっとOSのシステム系のexe)で上書きされるから、定義しても無駄な臭いしかしない。。。
だから、User環境変数で設定してもだめっだったのか。。。
しっかり諦めがついた。
仮想PCで開発環境作るしかないね。
Linux(CentOSとかUbuntu)がデフォルトで入っていて、Surface Pro4 と同程度のスペックのノートブックが欲しい人生だった。。。