次の方法で共有


ジャンクション ポイント

Windows Vista および Windows Server 2008 では、ユーザー データとシステム データの既定の場所が変更されました。 たとえば、以前に %SystemDrive%\Documents and Settings ディレクトリに格納されていたユーザー データは、%SystemDrive%\Users ディレクトリに格納されるようになりました。 旧バージョンとの互換性を保つために、古い場所には新しい場所を指すジャンクション ポイントがあります。 たとえば、C:\Documents and Settings は C:\Users を指すジャンクション ポイントになりました。 バックアップ アプリケーションは、ジャンクション ポイントをバックアップおよび復元できる必要があります。

これらのジャンクション ポイントは、次のように識別できます。

  • ファイル属性には、FILE_ATTRIBUTE_REPARSE_POINT、FILE_ATTRIBUTE_HIDDEN、FILE_ATTRIBUTE_SYSTEMの属性が設定されています。
  • また、すべてのユーザーへの読み取りアクセスを拒否するようにアクセス制御リスト (ACL) が設定されています。

特定のパスを呼び出すアプリケーションは、必要なアクセス許可を持っている場合、これらのジャンクション ポイントを通過できます。 ただし、ジャンクション ポイントの内容を列挙しようとすると、エラーが発生します。 バックアップ アプリケーションでは、次の 2 つの理由から、これらのジャンクション ポイントを走査したり、その下にあるデータをバックアップしたりしないことが重要です。

  • これにより、バックアップ アプリケーションが同じデータを複数回バックアップする可能性があります。
  • また、循環 (循環参照) につながる可能性もあります。

Per-User ジャンクションとシステム ジャンクション

Windows Vista および Windows Server 2008 でファイルとレジストリの仮想化を提供するために使用されるジャンクション ポイントは、ユーザーごとのジャンクションとシステム ジャンクションの 2 つのクラスに分けることができます。

ユーザーごとのジャンクションは、ユーザー アプリケーションの下位互換性を提供するために、個々のユーザーのプロファイル内に作成されます。 C:\Users\ユーザー名\My Documents を指す C:\Users\ユーザー名\Documents のジャンクション ポイントは、ユーザーごとのジャンクションの例です。 ユーザーごとのジャンクションは、ユーザーのプロファイルの作成時にプロファイル サービスによって作成されます。

その他のジャンクションは、Users\username ディレクトリの下に存在しないシステム ジャンクションです。 システム ジャンクションの例を次に示します。

  • ドキュメントと設定
  • すべてのユーザー、パブリック、および既定のユーザー プロファイル内のジャンクション

システム ジャンクションは、Windows Welcome によって呼び出されたときに userenv.dll によって作成されます (コンピューターの out-of-box-experience または mOOBE とも呼ばれます)。

手記

ユーザーがシステム言語を英語以外の言語に変更すると、ユーザーごとのジャンクション ポイントとシステム ジャンクション ポイントがローカライズされた名前で作成されます。