kazmax - Linux で自宅サーバー

sd - スペシャルファイル (デバイス)の説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 設定
  4. 説明
  5. ファイル

名前

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]: 個々のブロックパーティション