Windows XPでNTFSジャンクションポイントを作成するにはどうすればよいですか?
Windows XPでNTFSジャンクションポイントを作成するにはどうすればよいですか?
回答:
デフォルトでは、Windows XPにはジャンクションポイントを作成するツールがありません。このツール(linkd
)はWindowsリソースキットツールの一部です。
もう1つのツールは、Mark Russinovichによるjunctionです。
Sysinternalsのジャンクションユーティリティをお試しください。W2k+で利用可能です
ジャンクションポイントの定義は、別のディレクトリにハードリンクされているディレクトリですか?
もしそうならそれは簡単です
mklink /J <new directory to be linked> <target directory>
この後、ディレクトリ間の区別はありません。それらは同じMFT_REFを持っています(http://en.wikipedia.org/wiki/NTFS_symbolic_linkから)。
fsutil
再解析ポイントのクエリやハードリンクの作成にも役立ちます。
プログラムでこれを行う方法を知りたい場合は、NTFSストレージドライバーのIOCTL呼び出しでボリュームハンドルを使用できます。しかし、単に電話する方が簡単でしょうmklink
。
ターゲットディレクトリに対する書き込みおよび変更権限が必要であることに注意してください。動作するには、cmd.exeを昇格して実行する必要があります。
mklink
winxpには存在しないと思います。
fsutil reparsepoint delete the_directory-junction_you_made_to_test_this
ます。明確で、おそらく空のディレクトリノードがあります。
Link Shell ExtensionをGUI指向のインターフェイスとして使用することもできます。説明したように木村正敏からNTFS 5フィルタードライバーをインストールすると、Windows XP上でジャンクション、ハードリンク、さらにはシンボリックリンクを作成できます。 http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
これは、junction.exeの「ライブ」リンクです。
接合点を作成します
REPARSE_MOUNTPOINT_DATA_BUFFER* pReparseInfo = // ...
pReparseInfo->ReparseTag = IO_REPARSE_TAG_MOUNT_POINT;
// ...
DeviceIoControl(..., FSCTL_SET_REPARSE_POINTFSCTL_SET_REPARSE_POINT, pReparseInfo, ...
API呼び出し。提供する必要pReparseInfo
があるREPARSE_MOUNTPOINT_DATA_BUFFER
構造を指します。
MSDNの記事では、ページの下部にAPIの使用方法を示すコードスニペットを提供するコミュニティがあります。
NTFSジャンクションは、特別なソフトウェアで作成できます。Link Shell Extension(LSE)をお勧めします。フリーウェアで使いやすいです。また、すべての手順のスクリーンショットを含む優れたドキュメントもあります。