連載
» 2007年06月29日 11時00分 UPDATE

サクッとおいしいVistaチップス 14枚め:Vistaのジャンクションを理解する

Vistaでは、Windows XPでおなじみだった「Documents and Settings」が隠しフォルダになっているうえ、表示させてもアクセスできない。これって一体……。

[織田薫,ITmedia]
今回のチップスが使えるエディションは?
エディション Home Basic Home Premium Business Ultimate
対応状況

Vistaで変更されたユーザー用フォルダの位置

 前回紹介した通り、Windows Vistaには、ユーザーのドキュメントを格納する場所として「\Users\<ユーザー名>」フォルダが用意されている。Windows XPでは「\Documents and Settings\<ユーザー名>」というフォルダを利用していたため、フォルダの位置は大きく変更されたことになる。その違いは下表に示した通りだ。

 Windows XPでは、OSをインストールしたドライブの直下に「Documents and Settings」があり、その下にユーザー名の付いたフォルダを用意していた。ユーザー名の付いたフォルダの下には「マイドキュメント」や「お気に入り」「デスクトップ」などのフォルダが設けられ、「マイドキュメント」の下に「マイミュージック」や「マイピクチャ」を配置するといった階層構造になっていた。

 これに対し、VistaではOSをインストールしたドライブの直下に「Users」というフォルダがあり、その下にユーザー名の付いたフォルダが用意される。そして、ユーザー名の付いたフォルダ内に「ドキュメント」をはじめとする各フォルダが並列に並ぶ構造に変更されたため、フォルダの階層が浅くなり、全体が把握しやすくなった。空白が含まれたアクセスの面倒なフォルダ名から、単純なフォルダ名に変更されたのもありがたい措置だ。

Windows XPとWindows Vistaで異なるユーザー用フォルダの位置
フォルダ名 Windows XP Windows Vista
ユーザーディレクトリ \Documents and Settings \Users
ドキュメント(マイドキュメント) \Documents and Settings\<ユーザー名>\My Documents \Users\<ユーザー名>\Documents
ミュージック(マイミュージック) \Documents and Settings\<ユーザー名>\My Documents\My Musics \Users\<ユーザー名>\Musics
ピクチャ(マイピクチャ) \Documents and Settings\<ユーザー名>\My Documents\My Pictures \Users\<ユーザー名>\Pictures
ビデオ(マイビデオ) \Documents and Settings\<ユーザー名>\My Documents\My Videos \Users\<ユーザー名>\Videos
お気に入り \Documents and Settings\<ユーザー名>\Favorites \Users\<ユーザー名>\Favorites
デスクトップ \Documents and Settings\<ユーザー名>\デスクトップ \Users\<ユーザー名>\Desktop
アドレス帳 \Users\<ユーザー名>\Contacts
ダウンロード \Users\<ユーザー名>\Downloads
リンク \Users\<ユーザー名>\Links
検索 \Users\<ユーザー名>\Searches
保存したゲーム \Users\<ユーザー名>\Saved Games
スタートメニュー \Documents and Settings\<ユーザー名>\スタート メニュー \Users\<ユーザー名>\AppData\Roaming\Microsoft\Windows\Start Menu
送る(SendTo) \Documents and Settings\<ユーザー名>\SendTo \Users\<ユーザー名>\AppData\Roaming\Microsoft\Windows\SendTo
ユーザーのデータを格納する場所として、Windows XPでは「Documents and Settings」フォルダを利用していたが、Windows Vistaは「Users」フォルダが設けられた

※記事初出時、Vistaにおける<ユーザー名>フォルダの位置に関する記述と、表中のWindows XPにおけるフォルダ位置に一部誤りがありました。お詫びして訂正させていただきます。

ジャンクションとは?

 さて、ここで1つ疑問が生じる。Vistaでフォルダの位置が変更されたことで、従来のアプリケーションがこれらのフォルダへアクセスする場合に問題が発生するのではないかという疑問だ。たとえば、既存のアプリケーションが「\Documents and Settings\<ユーザー名>」以下のフォルダに直接アクセスしようとする場合、Vistaでは正常に動作するのだろうか。

 答えを先に言ってしまうと、基本的にはVistaでも正常に動作する。実は、VistaにもWindows XPと同じ位置に隠しフォルダとして「Documents and Settings」が用意されているからだ。ただし「Documents and Settings」は通常のフォルダではなく、「ジャンクション」(接合点)として機能する点に注目したい。

 ジャンクションはNTFSで利用できる機能で、Windows 2000以降のOSに実装されている。通常はユーザーが意識して操作することはないため、なじみのない人も多いだろう。ジャンクションとは、フォルダに対してリンクを作成するもので、異なる名前で同一のフォルダへアクセスさせるための機能と考えればよい。

 たとえば、Vistaの「Documents and Settings」フォルダは、「Users」フォルダへのリンクを持つジャンクションとなっており、「Documents and Settings」以下にアクセスすると自動的に「Users」以下を参照する。今回挙げた例のように、アプリケーションをWindows XPからVistaに移行する場合などで重宝する機能だ。ジャンクションが、どのフォルダにリンクしているのかはエクスプローラ上では分からないが、コマンドプロンプトで「dir /AL」を実行すると、ジャンクションは「JUNCTION」と表示され、そのリンク先を確認できる。

 ちなみにWindowsでは、Windows NTの時代から、1つのファイルに対して複数の名前を付けられる「ハードリンク」の機能が用意されていた。さらに、Vistaではファイルやネットワークドライブにもリンクを作成できる「シンボリックリンク」の機能が追加されている。ハードリンクやシンボリックリンクはUNIXで一般的に利用されている機能で、Windowsで実現できる機能もこれとほぼ同じだ。

Vistaにおける「Documents and Settings」の扱い

 Vistaでは、「Documents and Settings」が隠しフォルダとなっているため、エクスプローラで確認する場合はコントロールパネルにある「フォルダオプション」の「表示」タブで、「すべてのファイルとフォルダを表示する」を選択し、「保護されたオペレーティングシステムファイルを表示しない」のチェックボックスをオフにする必要がある。

tm0706tips11_01.jpgtm0706tips11_02.jpgtm0706tips11_03.jpg コントロールパネルをクラシック表示にして、「フォルダオプション」をクリック(写真=左)。「フォルダオプション」の「表示」タブで、「すべてのファイルとフォルダを表示する」を選ぶ(写真=中央)。そして、「保護されたオペレーティングシステムファイルを表示しない」のチェックボックスをオフにする(写真=右)。この操作により、OSをインストールしたドライブの直下に「Documents and Settings」フォルダが表示されるようになる

tm0706tips11_04.jpg Vistaでは「Documents and Settings」フォルダに直接アクセスできない

 この方法でエクスプローラ上に「Documents and Settings」を表示できるが、直接アクセスすることはできない。これはNTFSのアクセス権の設定により、フォルダを直接参照できないようにしているためだ。「Documents and Settings」のジャンクションが用意されているのは後方互換性のためであり、ユーザーがアクセスするためではないので、ユーザーが直接参照できないように設定されている。

 ただし、「Documents and Settings」フォルダの中に格納されているフォルダやファイルを参照することは可能だ。たとえば、アドレスバーに「\Documents and Settings\<ユーザー名>」と入力してアクセスすると、「\Users\<ユーザー名>」と同じ内容が表示される。つまり、Vistaをサポートしていないアプリケーションが「\Documents and Settings\<ユーザー名>」フォルダ以下にアクセスしようとすると、自動的に「\Users\<ユーザー名>」以下にアクセスするということだ。

tm0706tips11_05.jpgtm0706tips11_06.jpg 「\Documents and Settings\<ユーザー名>」(写真=左)と「\Users\<ユーザー名>」(写真=右)は、どちらも同じ内容になっている。画面でのユーザー名は「karou」

 Vistaのジャンクションは主にアプリケーション開発者にとっての基礎知識だが、エンドユーザーがジャンクションとなっているフォルダとそのリンク先を知っておくことは、Vistaの特殊なフォルダの内容をより深く理解する手助けになるはずだ。

これまで紹介したVistaチップスと各エディションの対応状況
内容 Home Basic Home Premium Business Ultimate
13枚め:Vistaでユーザー用フォルダの参照先を変更する
12枚め:Vistaでファイルやプリンタを共有する
11枚め:Vistaの詳細ブートオプションを利用する
10枚め:Vistaの便利な機能を有効に、不要な機能を無効にする
9枚め:VistaにXP用ドライバを手動でインストールする
8枚め:ファイルとレジストリの仮想化を理解する
7枚め:「システムの復元」と「以前のバージョン」で使う領域を変更する
6枚め:WindowsメールにOutlook Expressの環境を取り込む
5枚め:非対応のWindowsヘルプを利用可能にする
4枚め:間違って削除したファイルを復元する
3枚め:「ファイル名を指定して実行」をスタートメニューに加える
2枚め:アプリケーションを管理者として実行する
1枚め:ユーザーアカウント制御を使いこなす

Copyright© 2016 ITmedia, Inc. All Rights Reserved.