sd - スペシャルファイル (デバイス)の説明 - Linux コマンド集 一覧表
名前
sd - SCSI ディスクドライブのためのドライバ
書式
#include <linux/hdreg.h> /* for HDIO_GETGEO */ #include <linux/fs.h> /* for BLKGETSIZE and BLKRRPART */
設定
このブロックデバイス (block device) の名前は、次のような形式をとる:
sd
lp,
このうち、
l
は物理ドライブを意味する文字であり、
p
はその物理ドライブ上のパーティション (partition) を意味する数字である。
パーティションナンバー
p
がない場合は、そのデバイスファイルはドライブ全体をさす。
SCSI ディスクはメジャーナンバー 8 を持ち、次のような形式のマイナーナンバー
を持つ。(16 *
drive_number
) +
partition_number
、この
drive_number
は検出された物理ドライブの番号であり、
partition_number
は次のようになる:
パーティション 0 はドライブ全体
パーティション 1 〜 4 は DOS の "基本 (primary)" パーティション
パーティション 5 〜 8 は DOS の "拡張 (extended)" (または、"論理
(logical)") パーティション。
例えば、
/dev/sda
はメジャーナンバー 8 マイナーナンバー 0 を持ち、システムの最初の SCSI
ドライブ全体を参照する。そして、
/dev/sdb3
はメジャーナンバー 8 マイナーナンバー 19 を持ち、システムの二つ目の
SCSI ドライブの三番目の DOS "基本" パーティションを参照する。
現在は、ブロックデバイスだけが提供されている。ロー・デバイス (raw device)
はまだ実装されていない。
説明
次の ioctl が提供されている:
- HDIO_GETGEO
-
次のような構造体を用いて BIOS のディスクパラメータを返す:.ft B struct hd_geometry { unsigned char heads; unsigned char sectors; unsigned short cylinders; unsigned long start; }; .ft R
この構造体へのポインタが ioctl (2) へのパラメータとして渡される。
このパラメータに入れられて返される情報は、 "DOS によって理解されるような" ドライブのジオメトリである。 このジオメトリは、ドライブの物理的なジオメトリ ではない。 この情報はドライブのパーティションテーブルを作成する時に用いられる、 また、 fdisk (1), efdisk (1), lilo (1)の適切な操作に必要である。 もし、ジオメトリの情報が得られなければ、それぞれの値全てにゼロが入れ られて返される。
- BLKGETSIZE
- セクタの数で表したデバイスのサイズが返される。 ioctl (2) のパラメータは、 long へのポインタでなければならない。
- BLKRRPART
-
強制的に、SCSI ディスクのパーティションテーブルの再読み込みを行う。
パラメータは必要ない。
scsi (4)の ioctl (2) 操作も同様にサポートされる。 ioctl (2) のパラメータが必要で、それが NULL ならば、 ioctl (2) は -EINVAL を返す。
ファイル
/dev/sd[a-h]: ドライブ全体
/dev/sd[a-h][0-8]: 個々のブロックパーティション