sd(4) Device Drivers Manual sd(4)

sd - sterownik dysków twardych SCSI

#include <linux/hdreg.h>        /* dla HDIO_GETGEO */
#include <linux/fs.h>           /* dla BLKGETSIZE i BLKRRPART */

Nazwa tego urządzenia blokowego ma następującą postać: sdlp, gdzie l jest literą oznaczającą fizyczny dysk, a p jest cyfrą oznaczającą partycję na tym fizycznym dysku. Często numer partycji p jest opuszczany, jeśli nazwa urządzenia odnosi się do całego dysku.

Dyski SCSI mają główny numer urządzenia równy 8, a numer poboczny w postaci (16 * numer_dysku) + numer_partycji, gdzie numer_dysku jest numerem fizycznego dysku wg kolejności wykrywania, a numer_partycji jest następujący:

partycja 0 to cały dysk
partycje 1–4 to „podstawowe” partycje DOS
partycje 5–8 to „rozszerzone” („logiczne”) partycje DOS

Na przykład /dev/sda ma numer główny 8, poboczny 0 i odnosić się będzie do całego pierwszego dysku SCSI w systemie; /dev/sdb3 ma numer główny 8, poboczny 19 i odnosić się będzie do trzeciej „podstawowej” partycji DOS na drugim dysku SCSI w systemie.

W chwili obecnej, obsługiwane są jedynie urządzenia blokowe. Urządzenia surowe nie zostały jeszcze zaimplementowane.

Obsługiwane są następujące ioctle:

Zwraca parametry dysku z BIOS w następującej strukturze:


struct hd_geometry {
    unsigned char  heads;
    unsigned char  sectors;
    unsigned short cylinders;
    unsigned long  start;
};
Wskaźnik do tej struktury przekazywany jest jako parametr funkcji ioctl(2).
Informacja zwracana do parametru jest geometrią dysku w rozumieniu systemu DOS! Owa geometria nie jest fizyczną geometrią dysku. Jest jednak używana przy konstruowaniu tablicy partycji danego dysku i jest niezbędna dla poprawnego działania programów fdisk(1), efdisk(1) i lilo(1). Jeśli informacja o geometrii jest niedostępna, zwrócona będzie wartość zero dla wszystkich parametrów.
Zwraca rozmiar urządzenia w sektorach. Parametr funkcji ioctl(2) powinien być wskaźnikiem do zmiennej typu long.
Wymusza ponowny odczyt tablicy partycji dysku SCSI. Nie są wymagane żadne parametry.
Operacje ioctl(2) dla SCSI są również obsługiwane. Jeśli wymagany jest parametr funkcji ioctl(2) i ma on wartość NULL, wówczas ioctl(2) zwraca błąd EINVAL.

/dev/sd[a-h]
całe urządzenie
/dev/sd[a-h][0-8]
poszczególne partycje blokowe

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Paweł Olszewski <alder@amg.net.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

2 maja 2024 r. Linux man-pages 6.9.1