名 前
sd − SCSI デ ィ ス ク ド ラ イ ブ の た め の ド ラ イ バ
書 式
#include
<linux/hdreg.h> /* for HDIO_GETGEO */
#include <linux/fs.h> /* for BLKGETSIZE and
BLKRRPART */
設 定
こ の ブ ロ ッ ク デ バ イ ス (block device) の 名 前 は 、 次 の よ う な 形 式 を と る : sdlp, こ の う ち 、 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.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。