- 締切済み
フォルダが自己再帰的にJunctionされている
Win7で、動作遅い・HDD使用領域が異様に大きい事から調べたところ、 Users\<User名>\AppData\Local\Applicatin Data のフォルダが、自分自身を再帰的に junctionで繋いでいる事が判りました。 対応・原因・対策など知見のある方がいらっしゃいましたら、教えて頂けますでしょうか? フォルダの状況をフリーツール Filesumや、dir /A:H で追ったりすると 10階層繋がっていました。 ------ Users\<User名>\AppData\Local +\Applicatin Data ←1階層目 +\Application Data ←2階層目 +Application Data ←3階層目 : +Application Data ←10階層目 +Microsoft : +\Microsoft : ------- > dir /A:H 2012/05/08 hh:mm <JUNCTION> Application Data[C:\Users\<User名>\AppData\Local] * 最下段のApplication DataフォルダのみJunction 先は [.] ------- "c:\users\<user名>\AppData\Local"にJunction している "c:\users\<user名>\Local Settings"の 下も当然ですが同様に再帰的Junctionされています。 ------- 具体的に困っている症状としては、 ○Windowsの起動・終了(特にShutdown)が遅い(数分掛かる) ○Applicationの起動が遅い(Excel 2010の起動に1分ほど) ○Applicationの実行が遅い - 特にその操作が起動後最初の時、良く"応答なし"になる - "名前をつけて保存"の時、ファイラーが開く・操作可能になるのに時間が掛かる ○エクスプローラがよく落ちる "動作を停止しました"が出る ○エクスプローラでの検索が遅い 等です。 ドライブ(C:\)の使用量も 容量222GBに対して202GBです。(ドライブのプロパティでの表示) 下の階層のサイズをどんどん重複してカウントするのでそのようになるようです。 (上の階層に行くと加速度的にサイズが増える) (因みにFilesumでの、 Application Dataフォルダのサイズは 何故か 850GB!) ●どなたかこの様な症状の、対応・原因・対策について経験・知見のある方いらっしゃいますでしょうか? 原因として、エクスプローラでコピーの誤操作でもしたかもしれませんが、自分にcopyは出来ないかと。 対策としても、Junctionなので、rmdir で削除するのでしょうが、副作用が怖くて実行していません。 尚、環境は以下の通りです。 - Windows 7 professional Service Pack 1 - Toshiba Dynabook B553 Core i3 2.53GHz 32bit System メモリ 2.0GB (1.8GB使用可能) - メモリ使用量は、800M~1.7GB位(1.5G位の時が多い) - CPU使用率は、何もしていなければ 数%程度 以上、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Gotthold
- ベストアンサー率47% (396/832)
> (一方、フォルダのプロパティでは見かけ上容量が増えて見えると思います。) すいません、これは増えないみたいですね。(少なくともWin8.1では容量は重複カウントされなかった。一種のショートカット扱いのようですね。) ハードリンクの容量が重複カウントされることと混同していました。
- Gotthold
- ベストアンサー率47% (396/832)
> 但し、このJunctionに cdして dir /A:H すると、 > "ファイルが見つかりません" > となります。 先の回答でも少し触れましたが、このジャンクションは通常は アクセス権がEveryoneに対して「フォルダーの一覧/データの読み取り」拒否になっているため、中身を閲覧することは出来ません。 (一覧表示が出来ないだけなので、中にあるはずのファイルパスを直接指定して開くことは可能です。このアクセス権設定は、互換性目的でファイルパスを直接指定するプログラム等からはアクセス可能にし、人間からは見えなくしたい場合に使われているようです。) このアクセス権が外れているからと言って中身が見えてしまう以上の副作用はおそらくないと思うのですが、 再帰的Junctionの存在を考慮してないソフトウェアがファイル走査する際に処理が終わらずに動作がおかしくなっているのかもしれません。 正常なPCを参考にアクセス権を設定してみてはどうでしょうか? なお、再帰的Junctionのせいでドライブの実使用量(ドライブのプロパティで表示される使用容量)が増えることはないので、 使用量が多い問題は別途調査の必要があるでしょう。 (一方、フォルダのプロパティでは見かけ上容量が増えて見えると思います。) 不明な容量は、経験上「System Volume Information」フォルダ(システムの復元やシャドーコピーの保管場所)が原因のことが多いように思います。 (このフォルダはアクセス権の設定が中身が見られないので、中身があっても容量0に見えます。)
- Gotthold
- ベストアンサー率47% (396/832)
Windows Vista/7/8.1/10で確認してみましたが、 そのジャンクションはいずれのWindowsにも存在していました。 (アクセス権で「フォルダーの一覧/データの読み取り」が拒否設定されていて、そのままでは開けないようにはなっていましたが。) そのため、そのジャンクションの存在自体は異常ではないと思います。
補足
Gottholdさん、回答有難う御座います。 確かに、他の"正常な(?)"Win7の数台についてみたところ、 c:\users\<user名>\AppData\Local で dir /A:H すると <Junction> Application Data [c:\users\<user名>\AppData\Local] が出てきます。 このレベルでの Junctionがあるのは正常かと思います。 但し、このJunctionに cdして dir /A:H すると、 "ファイルが見つかりません" となります。 一方とらぶっているPCでは、 <Junction> Application Data [c:\users\<user名>\AppData\Local] が、出てきます。 そこにcdして dir /A:Hすると、更に、 <Junction> Application Data [c:\users\<user名>\AppData\Local] つまり、再帰的にJunctionが10階層まで繋がっています。 このように何段も Application Dataフォルダが Junction されているのは 正常なのでしょうか? 他のPCではFilesumでも1階層しか見えていませんし、上記のように "ファイルが見つかりません" となって、勿論cd出来ないのですが。
補足
Gottholdさん、 追加の回答有難う御座います。 アクセス権ですか、調べてみます。 確かに"正常な"PCでは、 appdata\local\application data の下は、dir /a:h では何も見えませんが、>cd application data で降りられますね。 12階層まで降りられました。(それ以降は"ファイル名、または拡張子が長すぎます"でダメでした) ファイル容量の件も有難う御座います。 こちらも調べます。 いきなり、rmlinkしなくて良かったです。