EN JA
SD(4)
SD(4) Linux Programmer's Manual SD(4)

名前

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 のディスクパラメータを返す:


struct hd_geometry {
unsigned char heads;
unsigned char sectors;
unsigned short cylinders;
unsigned long start;
};

 

この構造体へのポインタが ioctl(2) へのパラメータとして渡される。

 

このパラメータに入れられて返される情報は、 DOS によって理解されるような ドライブのジオメトリである。このジオメトリは、ドライブの物理的なジオメトリ ではない。 この情報はドライブのパーティションテーブルを作成する時に用いられる、また、 fdisk(1), efdisk(1), lilo(1) の適切な操作に必要である。もし、ジオメトリの情報が得られなければ、それぞれの値全てにゼロが入れられて返される。

BLKGETSIZE
セクタの数で表したデバイスのサイズが返される。 ioctl(2) のパラメータは、 long へのポインタでなければならない。
BLKRRPART
強制的に、SCSI ディスクのパーティションテーブルの再読み込みを行う。パラメータは必要ない。
 
SCSI の ioctl(2) 操作も同様にサポートされる。 ioctl(2) のパラメータが必要で、そのパラメータが NULL の場合は、 ioctl(2) はエラー EINVAL で失敗する。

ファイル

/dev/sd[a-h]: ドライブ全体
 
/dev/sd[a-h][0-8]: 個々のブロックパーティション

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2012-05-03 Linux