SSブログ

Windows 7 (RC版)でユーザプロファイルをCドライブ以外に置きたい [Windows]

ユーザプロファイル(マイドキュメント・ブックマークなどの各ユーザ所有のファイルや設定)のデフォルトの位置は、Windows2000やXPはC:\Documents and Settings以下、VistaやWindows 7はC:\ユーザ(C:\Users)以下となっている。

しかしながら、システムがインストールされるCドライブにユーザプロファイルがあることで以下のような問題が起きうる。
・システムドライブの容量の圧迫
・システムとデータが同時アクセスされることでの体感パフォーマンス低下やディスク断片化、寿命への影響
・システムのリストア(再インストール)時の退避作業の煩雑さ

これを嫌って、Cドライブ以外にユーザプロファイルを置くようにする人も少なくない。
かくいう私もその一人でして、XPでの方法は様々なサイトで取り扱われていて情報も豊富。
ところが、VistaやWindows 7についてはまだまだ情報も不足気味かなという感じ。

以下、いろいろと調査や試行したものについて簡単にまとめた。

1. インストール時の無人インストール機能を使う
Autounattend.xml ファイルにユーザプロファイルの位置を指定しておくことで最初から指定の場所がユーザプロファイルの格納場所になる。
最初からシステムを構築するのであれば選択肢としてはベストかと思うが、WindowsAIKやインストール時のドライブの認識など何かと高度な知識が要求されるケースもある。

2. プロパティで変更する
C:\Users\[ユーザ名] にはそのユーザのプロファイルフォルダが並んでおり、それぞれの「プロパティ」→「場所」で好きな場所に移動させることができる。
データの種類によってドライブや場所を好きに選べるので、場合によってはかなり便利かもしれない。
しかしながら、この方法ではOSで保護されているものは移動させることができないため、すべてのプロファイルをCドライブから追い出すことができない。

3.別ドライブに作成してリンクする
ユーザー名がchonaso、ユーザープロファイルをD:\Users以下に作りたい場合。
(1) フォルダー D:\Users を作成する。
(2) レジストリエディターで HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListにあるProfilesDirectoryの値を、「%SystemDrive%\Users」から「D:\Users」に変更する。
(3) Administrator権限を持つ新規ユーザー(この場合chonaso)を作成する。
(4) OSを再起動(おそらくログオフでも大丈夫だけど、念のため)
(5) chonasoでログオンする。この時点でD:\Users\chonasoが作成される。
(6) セーフモードで再起動する。
(7) chonasoでログインし、コマンドプロンプトでジャンクションを作成する(下記のコマンドを実行)。
mklink /J C:\Users\chonaso D:\Users\chonaso

(8) レジストリエディターで HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListにあるProfilesDirectoryの値を、「D:\Users」から「%SystemDrive%\Users」に変更する。(つまり元に戻す)
(9) 再起動する。
これによって一見、C:\Usersにプロファイルがあるようだが物理的にはD:\Users以下にある状態となる。

実際のところ、ユーザープロファイルの位置がC:\Usersにあると決め打ちされてるアプリケーションもあるようなので、物理的にCドライブ以外にあったとしても、Cドライブにあるように見せて予期せぬトラブルを未然に防いで置いたほうがよさそうだ。


結局10回くらいWindows 7をインストールしなおして、最終的に私は3.を採用した。
試すときは各自の責任において実施してください。
タグ:Windows7 Windows
nice!(0)  コメント(9)  トラックバック(1) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 9

チョリソー

大変ためになりました。
by チョリソー (2009-05-07 16:29) 

どんどこ

私がやっている方法でWindows Vistaでの方法ですが、たぶん7でもできると思います。

ディスクの管理でドライブレターを設定することができます。
この画面では、ひとつのドライブに複数のドライブレターとパスを設定すことができます。

!!!パスを設定できるんです!!!

なので、C:\Users\をDドライブに設定することもできます。
つまり、C:\Users\を開くとDドライブにつながっていると言う状態になります。Linuxのマウントのイメージですね。

この方法だとレジストリをいじったりしなくても、一切合財Cドライブ以外にデータを移行できます。

アプリケーションは、にC:\Users\が決めうちされていてもC:\Users\は確実に存在するのでで変なエラーがでることもありません。

しかもDドライブとしてもアクセスできるます。

Cygwinなどを入れても、CygwinのhomeもDドライブにつなげちゃいます。

個人的には、ベストな回答だとおもっています。

by どんどこ (2009-09-07 20:23) 

ちょなそ

コメントありがとうございます。
おそらく原理はほぼ一緒かな、と思います。
フォルダへのマウントの場合ですとルートディレクトリをマウントすることになってしまうのでディレクトリ単位でマウントを行うためにジャンクションを使う、というのが違いでしょうか。
ちなみにレジストリ変更を行うのは移行を安全に行うためです。

by ちょなそ (2009-09-07 21:15) 

エメット

とても参考になりました。

Windows 7でのUsersフォルダの移動方法を調べていたら、ちょなそさんのページにたどり着きました。
Vistaのころは、2番の方法で妥協していたのですが、3番の方法が正に自分が求めていた方法でした。
ありがとうございます!

今は3番の方法をちょっと改良させていただいて、
Usersフォルダのジャンクションを作成して運用しています。新規ユーザを作った場合もDドライブにプロファイルが作られるので、便利です。




by エメット (2009-11-03 08:38) 

ちょなそ

コメントありがとうございます。
今思えば、
> Usersフォルダのジャンクションを作成して運用しています。
こちらの方が至極自然なのに、なぜ特定ユーザだけ移したんだっけ?というのが思い出せません(にがわら)。
by ちょなそ (2009-11-03 12:08) 

ニル

質問なのですが

C:\Users\Nil\aaa.txt

が有る状態で、D:\Users\Nil\aaa.txtをコピーして作り、

mklink /J C:\Users D:\Users

とした後なのですが、C:\Users の下にあるユーザフォルダは全て削除しちゃって良いのでしょうか?

それとも、リンクされているので(物理的にはD:\にあるけど)C:\に見えてる状態なので、消すのはまずいのでしょうか?

すみませんが教えてください(;-;
by ニル (2009-11-25 15:40) 

ちょなそ

コメント遅くなりまして申し訳ありません。

どうも要領を得ないのですが、
> C:\Users\Nil\aaa.txt
これが存在する状態で
> mklink /J C:\Users D:\Users
これが実行できるものなんでしょうか?

手元のWindows7環境で同様のことを行うと、
「既に存在するファイルを作成することはできません。」
と怒られてしまいます。

的外れな確認でしたらごめんなさい。
by ちょなそ (2009-12-07 00:15) 

ユイ

もしかしたら・・見ている人がいるかもしれないということで・・。
いじくるつくーるというものが便利です。
マイドキュメントとか全部移動できます。

あとはそのドキュメントフォルダのプロパティで、
移動、Dを選択、みたいにすれば移動できるようです。

さらに、
SSDを起動ディスクにして、64bitのwin7を入れるとぶち当たる壁・・。
インストール時に指定しても、program(x86)というところにインストールされてしまう。
(そういう設定になっているらしい)
Cがどんどん圧迫されていく・・・。

なので、インストールしたプログラムをそのまま安全に行こうしてくれるプログラムもあります。
FolderMover
http://www.forest.impress.co.jp/article/2000/08/07/foldermover.html

自己責任で。
by ユイ (2011-04-10 00:24) 

kawausokick

とても参考になりました!このとおりで成功しました。感謝です!
by kawausokick (2011-09-10 18:24) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 1

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。