二つのドライブの間でファイルの移動ができない

Windows XP マシンで発生した、二つのドライブの間でファイルの移動ができないトラブルの対処例。

症状の詳細

例えば D ドライブでファイルを切り取り、そのファイルを C ドライブに貼り付けようとすると、両方のドライブにファイルが存在する状態になり、どちらもロックがかかって削除できない。しかも、Unlocker で「全ロック解除」したあとも削除できない。再起動すると削除できる状態になる。

切り取り&貼り付けの代わりに、コマンドライン上で move コマンドを実行しても同じである。

ちなみに、以下の操作は可能である。

  • 同一ドライブ内のファイルの切り取り&貼り付け。
  • ファイルの単なる削除。
  • 同一ドライブ内および二つのドライブ間のファイルコピー。

このトラブルの不思議なところは、例えば D ドライブから C ドライブへファイルをコピーしたのち、D ドライブにあるもとのファイルを削除するという操作 (実質的に D ドライブから C ドライブへファイルを移動している) は行える点である。

対処例

試行錯誤の末、TrkWks (Distributed Link Tracking Client) が原因であることがわかった。そこで、このサービスを無効化した。具体的な設定手順は次のとおり:

  1. 「スタート」→「ファイル名を指定して実行」。
  2. msconfig コマンドを入力。すると、「システム構成ユーティリティ」が起動する。
  3. 「サービス」タブを選択。
  4. 「Distributed Link Tracking Client」のチェックを外す。

※ この対処法で、私個人の PC 環境では症状が出なくなったが、これが最良の方法かどうかはわからない。

原因特定までの経緯

まず、ハードウェアあるいは OS の破損によるものか、そうでないかを切り分けるために、セーフモードで起動 (電源投入後に F8 キーを押す) してみた。すると、セーフモードでは二つのドライブの間でファイル移動が問題なく行える。なので、何らかのアプリケーションもしくはサービスが原因であろうと推測した。

各々のアプリケーションの常駐やシェル拡張を無効にしてみたが、症状は変わらなかった。同時並行で Unlocker で適当に「ロック解除」や「プロセス停止」を試していたら、ある特定のドライブ上で svchost を「プロセス停止」すると症状が出なくなることを発見した。

svchost によって制御されているサービスを特定するために、コマンドラインで tasklist コマンドを実行した。

> tasklist /fi "imagename eq svchost.exe" /svc

Unlocker によって表示される svchost の PID (プロセス ID) と照合して、以下の情報を得た。

svchost.exe                  944 AudioSrv, BITS, Browser, CryptSvc, Dhcp,
                                 dmserver, ERSvc, EventSystem,
                                 FastUserSwitchingCompatibility, helpsvc,
                                 LanmanServer, lanmanworkstation, Netman,
                                 Nla, RasMan, Schedule, seclogon, SENS,
                                 SharedAccess, ShellHWDetection, TapiSrv,
                                 Themes, TrkWks, W32Time, winmgmt, wscsvc,
                                 wuauserv, WZCSVC

※ PID (上の例の 944) は、一定の値ではなく、PC を起動するたびに変わる。

Unlocker で svchost を停止させると、右の 28 個のサービスが一斉に強制的に停止状態になる。そのあと、「net start コマンドでサービスを 1 個起動させる→ファイルの切り取り&貼り付けを試す」という手順を繰り返す。もし症状が再発すれば、その直前で起動したサービスが犯人だ。

なお、net start コマンドは、以下のように使用する。

> net start "AudioSrv"

こうして、TrkWks (Distributed Link Tracking Client) が原因であることを突き止めた。

【theme : Windows 全般
【genre : コンピュータ

プロフィール

よしいず

Author:よしいず
MATHEMATICS.PDFというウェブサイトを運営しています。

管理の都合上、トラックバックとコメントはオフにしてあります。ブログ経験者なら分かっていただけると思いますが、スパム(アダルトやその他の宣伝)ばかりなのが現実です。

リンクは自由です。当サイトの記事に対する間違いの指摘・意見・感想などを述べた記事からのリンクは歓迎です。ただし、ブログ記事アップ直後はミスが多く、頻繁に修正します。場合によっては削除する可能性もあります。その際、何も断りもなく修正・削除しますがご了承ください。内容を参考にする場合には投稿後一週間ほど様子を見てからにしてください(笑)。

記事の間違いを指摘するときは、その具体的箇所、理由(仕様に反するなど)・根拠(参考にした文献など)、代替案(同じ結果を得るための正しいやり方)も教えてください。そうしないと、(指摘される側および第三者はその時点では無知の状態なので、)どこが間違いなのか分かりませんし、本当に間違っているのかどうかが判断・検証できません。実際、間違いだと指摘されたことが結局は正しかったというケースもありますので。

このブログのタイトル一覧

リンク
月別アーカイブ
カテゴリ
最新記事
検索フォーム
RSSリンクの表示