2006 年 10 月 25 日 23 時 56 分

ディスクの管理とボリューム識別子


このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。


Windows 2000 以降の NT 系では、
ディスクの管理機能が強化され、
ディスク構成の変更に非常に強くなっている。

ハードディスクのパーティションや、
CD-ROM ドライブ、外付けドライブなどは、
ボリューム、又はディスクボリュームと呼ばれているが、
従来はドライブ名によってこれを識別した。

Windows 2000 では、ドライブ名の代わりに、
ボリュームを一意に識別できる GUID を持っている。
この識別子はボリューム識別子と呼ばれる。

OS 内部ではボリューム識別子が使われており、
ドライブ名はボリューム識別子の別名として機能する。

以前、ネットワークドライブやローカルパスに、
ドライブ名を割り当てる機能を説明したが、
通常のドライブも、ボリュームへのリンクに過ぎないのだ。

そのため、Windows 2000 以降の NT 系では、
MS-DOS 時代から縛られてきたドライブ名の制約がゆるく、
ボリュームに自由なドライブ名を割り当てることができる。

従来の OS は、ディスクの物理接続位置と、
パーティションの番号でボリュームを識別していたので、
パーティションが変わったり、ディスクを増設したりすると、
ドライブ名が変わってしまうことがあり、
最悪起動すらできない状況になることがあった。

Windows 2000 以降の NT 系では、
OS はボリューム識別子とドライブ名の関連を記憶し、
物理的な位置は利用していない。

ハードディスクのボリュームの識別子は、
ハードディスク自身に書き込まれているため、
ディスク構成が変わっても、
ドライブ名を維持することができるというわけだ。

因みに、ドライブ名を割り当てること自体は必須ではない。
ボリュームには、識別子を使ってアクセス可能であるからだ。

しかしながら、ローカルパスや UNC と違い、
識別子を使ったパスは通常のファイルパスではないため、
一般のプログラムでは利用できない。

そのため、ドライブ名を割り当てておかないと、
利用者からは事実上使用する方法がない。

やはり Windows とドライブ名は切れない関係のようだ。
プログラムのドライブ名への依存性は、
まだまだ解消できそうにない。



Copyright (c) 1994-2007 Project Loafer. All rights reserved.