Windowsの以降のバージョンがシンボリックリンクの代わりにショートカットファイルを使用し続けるのはなぜですか?


68

Windows XP以降では、シンボリックリンクがサポートされています。それでも、Windowsは引き続きショートカットファイル(リンクファイルの場所をテキストとして保存する)を使用し続けます。どうして?


25
Windows(およびOffice)の新しいバージョンがUTF-8ではなくANSI形式でテキストファイルを保存するのはなぜですか?いずれかの非互換性とunreasonabilityを犯すしたり、レガシーシステムをサポートするために...
retrography

9
Windows XP以降では、特定のファイルシステムでシンボリックをサポートしています。シンボリックリンクはハードディスク上のNTFSファイルシステムで機能しますが、通常のFAT 32形式のUSBスティックまたはUDF形式のCD-ROMにコピーした場合は機能せず、ネットワークサーバーにコピーした場合は機能しません(多くの場合、リモートサーバーで使用されているOSまたはファイルシステムが不明です。LNKショートカットファイルは喜んでコピーされ、それらすべてで機能します。
GAThrawn

12
Windows .lnkファイルは.desktop、シンボリックリンクよりもLinux ファイルに似ています。
アルトゥーロトーレスサンチェス

3
シンボリック
リンク

2
それでは、NTFSが登場したときにブラウザでブックマークの使用をやめましたか?それはばかげた比較のように聞こえるかもしれませんが、ショートカットがファイルへのポインタに過ぎないと考える場合にのみ-単にそうではありません。
ルアーン

回答:


106

いくつかの理由、私は推測する

  1. ファイルシステムではなくシェルによって解釈されるため、同じEXEへのいくつかの異なるショートカットに対する異なるレベルの互換性を保存できます。
  2. 特定のショートカットリンクは、実際にはファイルシステムに存在しません。それらのいくつかは、GUIDへの単なる参照、またはシェルによって解釈される特別な文字列です。
  3. シンボリックリンクにスイッチを含めることはできません。確かにEXEを指すことはできますが、そのEXEにそれ以上の引数を伝えることはできません。
  4. シンボリックリンクのアイコンを選択することはできません。
  5. シンボリックリンクで作業するディレクトリを選択することはできません。
  6. ショートカットファイルはファイルを指すだけでなく、ハイパーリンクまたはプロトコルリンク(.URLファイルの場合)でもかまいません。
  7. LNKファイルは任意のファイルシステムに存在できます。シンボリックリンクは、Windowsの場合、NTFSの場合、ファイルシステム自体によって処理されます。
  8. それらを置き換える必要はありません。これらは機能しますが、小さいため、上記にリストされている機能よりも多くの機能を追加する必要がある場合は、将来的に拡張できます。
  9. シンボリックリンクを作成するには管理者権限が必要です(正当な理由により、無害なファイルから悪意のあるファイルへのリダイレクトはほとんど作業なしで実行できます)

そここれ以上の理由が、私はそれはあなたが:)始めるには十分だと思うだろう- @grawityによって提供されるリンクがありますここでは、このトピックの部分にさらにいくつかの読書を与えるだろう。


2
さらに、ファイルショートカットはターゲットに関する特定のメタデータをキャッシュし、シェルレベルで解釈されると、ターゲットが移動された場合にシェルによってショートカットが更新され、シンボリックリンクでは困難になります。一般に、ショートカット機能に関するさまざまな興味深い点については、Old New Thingをもう一度参照してください。
grawity

5
@grawityしかし、これらをファイルシステムによって処理されるように移行することには大きな利点がありますか?.lnkファイルには、下位互換性を維持しながら、必要に応じてさらに機能を拡張する無限の余地があると思いますが、オーバーヘッドはあまりありません。これをファイルシステムに移動するのは、おそらく少し過剰に設計されているでしょうか?しかし、私は決してファイルシステムの内部動作の専門家ではありません。
on野16

3
確かに、FS自体はこの情報のほとんどを使用できません。多くの.lnk機能は実際にはエクスプローラー固有であるため、ファイルではなく再解析ポイントとしてすべてを保存するのはやり過ぎです。
grawity

3
ただ指摘したかったのですが、LNKファイルは、私の知る限り、URL(ハイパーリンク)をターゲットにするために使用することはできません。Windowsで同じショートカット作成機能を使用してURLへのショートカットを作成できますが、最終結果は.LNKファイル(バイナリ)ではなく.URLファイル(プレーンテキスト、基本的にはINIファイル)になります。
マイケルベッカー

3
またはstart http://superuser.com、URLへの実際のショートカットが行うように、デフォルトのブラウザを選択します。つまり、.LNKファイルがURLを指すようにすることができます。最終的に、それらは「シリアル化されたCOMモニカ」であり、COMシステムは新しいモニカタイプで拡張できます。
MSalters

6

シンボリックリンクは、ほんのわずかなファイルシステムの魔法に包まれたパスに過ぎません。無効(「破損」)になる可能性のある方法はいくつもありますが、そのほとんどは1つ以上のファイルまたはディレクトリの名前が変更されます。Windowsは一般消費者向けソフトウェアであるため、「典型的な」インストールで実行される非常に設計が不十分なプログラムが多数ある場合があります。結果として、この種の破損は、(理論上)ディスクに触れるすべてのプログラムが既知の量であるサーバー上よりも回避するのがはるかに困難です。

ショートカットは、パスとは無関係にターゲットを追跡するため、ほとんどの形式の破損の影響を受けません。これにより、ユーザーフレンドリーになります。それらは消費者向けに特別に設計されており、「詳細を気にせず、私が意味することをやるだけ」というアプローチです。

現在、そのためにハードリンクを(ある程度まで)使用できますが、ハードリンクには多くの複雑なプロパティがあり、消費者の使用には不適切です。特に、ファイルは新しいiノード番号を完全に簡単に取得し、一部のバックアップソフトウェアは、ハードリンクに直面すると、かなり見事に壊れます。前者は(おそらく)ファイルシステムトンネリング(これはショートカットが関連する問題を解決する方法です)で解決できますが、後者ははるかに難しい問題です。

(おそらく、「失われた」メタデータを再添付するだけの問題ではないため、トンネリングによる「解決」ハードリンクは明らかに自明ではないことに注意する必要があります。事実に基づいて、かなりのレッグワークなしでそれらを再割り当てします。ショートカットは、作成時間など、簡単にトンネリングできる他のメタデータを使用するため、この問題はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.