違い
┌───────────────┬──────────┬──────────┬──────┬───── ───────┬─────┐ ││絶対│相対│ファイル│ディレクトリ│UNC│ ├───────────────┼──────────┼──────────┼──────┼───── ───────┼─────┤ │シンボリックリンク│はい│はい│はい│はい│はい│ │ジャンクション│はい│-│-│はい│-│ └───────────────┴──────────┴──────────┴──────┴───── ───────┴─────┘
シナリオ
リダイレクトを作成するために再解析ポイントを作成していると仮定しましょう C:\SomeDir => D:\SomeDir
このシナリオはローカルの絶対パスのみを必要とするため、ジャンクションまたはシンボリックリンクのいずれかが機能します。この状況で、どちらかを使用する利点はありますか?
下位互換性を無視して、OSにWindows 7を想定します。(Windows XPでシンボリックリンクをサポートするサードパーティのドライバーがありますが、Vistaより前では、シンボリックリンクはネイティブにサポートされていません。)
更新
別の違いが見つかりました。
- シンボリックリンク- リンクのアクセス許可は、リンク自体の削除/名前変更操作にのみ影響します。ターゲットへの読み取り/書き込みアクセスは、ターゲットのアクセス許可によって管理されます。
- ジャンクション- ジャンクションの権限は列挙に影響します。ジャンクションの権限を取り消すと、ターゲットフォルダーに許可されているACLがさらにある場合でも、そのジャンクションを介したファイルリストが拒否されます。
シンボリックリンクを使用すると、レガシアプリケーションが%ProgramFiles%
既存のアクセス許可を変更せずにUACで制限された領域の構成ファイルにアクセスできるようになります。ファイルを制限のない場所に保存し、制限されたディレクトリにシンボリックリンクを作成します。
更新2
Windows 8.1は、Save As...
ダイアログボックスのテキストボックスを介してシンボリックディレクトリリンクに移動すると、シンボリックディレクトリリンクを解決します。ジャンクションは拡張されません。
mount.cifs
場合、symlinksはそのように表示されますが、ジャンクションは通常のディレクトリとして表示されます。 IO解決が発生する場所、つまり Windowsホストでローカルに。