タイトル【Darwinシリーズ】ボリューム情報からデバイスを推測カテゴリーDarwin, Darwin 1.0
作成日2000/5/5 21:22:20作成者新居雅行
実際に利用しているボリュームの情報を見るのは「df」コマンドだ。dfコマンドの結果を見ると、システム側のデバイス名と、マウントポイントでの名前の対応を取ることができる。

◇ボリューム情報をdfコマンドで参照した
 figs/darwin/DSC00004.JPG

まず、ルートは、「/dev/disk0s7」となっている。起動ディスクのデバイス名は「/dev/disk0sX」となり、2台目のディスクは「/dev/disk1sX」(Xが整数)となっているようだ。つまり「HDD2-1」としてマウントされたディスクは、2台目のディスクであり、そのデバイス名が「dev/disk1s6」であるという点から推測できる。
dfコマンドでは各ボリュームの容量などが参照できるが、メッセージにあるように512KBが1ブロックとなっているようで、たとえば、HDD1-1は2GB程度のサイズで、使用量は1GB程度だということがコマンドから読み取ることができる。
ここで、システムで認識しているデバイスを見て見る。

UNIXでは、デバイスも、1つのディレクトリにあるのだが、dfの結果を見れば明白なように、/devというディレクトリにデバイスが登録されると考えればよい。つまり、/devディレクトリでデバイスが一覧できる。

◇/devディレクトリの内容を一覧した
 figs/darwin/DSC00005.JPG

一覧にある「disk」で始まる項目が、ドライブの存在を示すものである。そして、1つ1つのパーティションが別々のデバイスとして、一覧の中に1つ1つの項目が登場しているのだろう。ただし、HFS+だと最初の5つのパーティションはシステムが利用するので、ボリュームとして利用できる最初のパーティションはdisk1s6となる。1つ目のディスクは3つのパーティションに区切ったが、そうすると、disk1s7、disk1s8が残りのパーティションとなり、disk1s9とdisk1s10はなんだろうかということになる。ドライブ設定は領域を取る時に完全にすべての領域は取らずに少しだけ空き領域を作っているが、それもこのように項目の1つとして出てきているだろう。

ところで、Linuxの場合だと、こうした起動時に自動的にマウントされる設定は、/etc/fstabというファイルに記載されるということになっている。はたして、Darwinの場合はどうだろうか? /etcを見ても、fstabファイルはないものの、fstab.hdなどがある。それを見てみた。「cat fstab.*」でワイルドカードによってfstab.hd、fstab.rd、fstab.sdの各ファイルのそれぞれの中身を表示できる。

◇/etc/fstab.*ファイルは関係がなさそう
 figs/darwin/DSC00006.JPG

このファイルにはデバイスとマウントポイントの対応を書き、起動時にこのファイルを参照して、ボリュームをマウントする。だが、/dev/hd0aなどと存在しないドライブ名が書かれている。つまり、fstab.*ファイルは、Darwin 1.0の既定の状態では参照していないと言えるだろう。
関連リンク