WindowsXP、Windows2000のジャンクション機能は危険
Windows 2000からファイルシステムがNTFS5となり、リパースポイント機能が追加されました。
これによりジャンクションが使えるようになったのですが、この機能はかなり危険です。
「ジャンクション機能って何?」という人のために説明すると、
ドライブ・ボリューム・フォルダを任意のNTFSフォルダにマウントする機能(シンボリックリンクのようなもの)です。
どういうときに使えるかというと、
DドライブにProgram FilesやDocuments and Settingsの実体をおいて、Cドライブにそのジャンクションをマウントする
webサイトの開発などで、シンボリックリンクの代わりに使う
とか
しかし問題点が多々ある。
フォルダのジャンクションを消すと、実体のファイルが消える
フォルダのジャンクションを作成してマウントしていたとします。
このジャンクションが不要になり削除する場合、ごみ箱に入れるまでは問題がありませんが、
ごみ箱から削除された時点でジャンクションの実体のフォルダ以下のファイルが消えます。
ごみ箱にも残りません。
ディレクトリに対するジャンクションを削除するにはコマンドプロンプトで RD (RMDIR) コマンドを使わないといけません。
間違って DEL コマンドで削除すると、やはり実体のフォルダ以下のファイルが消えます。
実体とは別のドライブにジャンクションを作成するとフォルダが削除できない
実体とジャンクションが別のドライブに分かれているとき、Explorerがジャンクション下のフォルダをごみ箱に入れることができません。
ごみ箱に入れず即座に削除(Shiftを押しながら削除する)することはできます。
WindowsXP SP2のファイヤーウォールが正しく機能しない
WindowsXP SP2よりファイヤーウォール機能が強化されていますが、
『Windows ファイアウォールによるプログラムのブロック時に通知を表示する』にチェックを入れても、
ジャンクション上にあるプログラムに対しては通知を表示しません。
このとき手動でポート設定を追加する必要があります。

WindowsVistaでは、これらは修正されています。
ジャンクション機能自体の不具合ではないですが、それ以外にも問題が生じます。
インストーラがドライブの空き容量を判断できない
インストール対象のドライブの空き容量を調べるインストーラがありますが、別ドライブにジャンクションがあった場合、 正しく空き容量を計算できず、インストールできないことがあります。
アンインストーラがジャンクションを理解できない
ソフトには不要になったときのためにアンインストーラが付いている場合がありますが、 そのアンインストーラの一部にはジャンクションに不具合を起こすものがあります。
スポンサーリンク
関連記事
- Apacheから2GB以上のファイルをダウンロードしようとすると403エラーが出ます
- 1枚のNIC(ネットワークカード)に複数のIPアドレスを設定する方法(Windows)
- WindowsのPCをルータにする方法(DHCP接続)
- memcachedのインストール
- Rubyのインストール
- PostgreSQLのインストール
- Windows版PHPにPEARをインストールする
- 他のパソコンからもApacheなどを閲覧できるようにする方法
- Windows版ApacheでCGI(Perl)を使用する方法 ActivePerl
- Windowsでシンボリックリンクを使う方法
- JDKの常駐ソフトjusched.exeを停止する方法
- ほかのアプリケーションにポートを使用されてApacheが起動できない
- DNSの設定を端末で独自に設定するには
- Windows版PHPのインストール
- Windows Apacheのインストール
- Windows MySQLインストール後の設定
- Windows MySQLのインストール
スポンサーリンク






