Provided by: manpages-pl_4.26.0-1_all 

NAZWA
hdparm - pobiera/ustawia parametry dysku SATA/IDE
SKŁADNIA
hdparm [opcje] [urządzenie ...]
OPIS
Program hdparm udostępnia interfejs wiersza poleceń do różnych interfejsów jądra, obsługiwanych przed
linuksowy podsystem SATA/PATA/SAS "libata" i starszy podsystem sterownika IDE. Wiele nowszych (z roku
2008 i nowszych) urządzeń USB obsługuje również "SAT" (SCSI-ATA Command Translation) i dlatego może
również działać z hdparm. Dotyczy to na przykład nowszych modeli dysków zewnętrznych WD "Passport" i
NexStar-3. Część opcji może działać poprawnie tylko z najnowszymi jądrami.
OPCJE
Gdy nie podano opcji, zakłada się -acdgkmur. W przypadku opcji "pobiera/ustawia", odpytanie bez
opcjonalnego parametru (np. -d) odpyta (pobierze) stan urządzenia, a z parametrem (np. -d0) ustawi stan
urządzenia.
-a Pobiera/ustawia wskaźnik odczytu z wyprzedzeniem (read-ahead) systemu plików. Jest to używane do
zwiększania wydajności w sekwencyjnych odczytach dużych plików poprzez pobieranie dodatkowych
bloków, w nadziei, że będą potrzebne danemu zadaniu. Wiele sterowników IDE ma także wbudowane
oddzielne funkcje tego typu, które w wielu sytuacjach niwelują potrzebę odczytu z wyprzedzeniem
przez system plików.
-A Pobiera/ustawia właściwość odczytu wyprzedzającego (read-lookahead) napędu IDE (zwykle domyślnie
ON -- włączoną). Użycie: -A0 (wyłącza) lub -A1 (włącza).
-b Pobiera/ustawia stan magistrali.
-B Pobiera/ustawia właściwości zaawansowanego zarządzania energią (APM), o ile napęd ją obsługuje.
Mała wartość oznacza agresywne zarządzanie energią, a duża - wyższą wydajność. Możliwe wartości
obejmują zakres od 1 do 127 (która pozwala na zatrzymanie talerzy - "spin-down") i wartości od 128
do 254 (która na to nie pozwala). Najwyższy stopień zarządzania energią jest ustawiany wartością
1, a najwyższa wydajność wejścia/wyjścia wartością 254. Wartość 255 nakazuje hdparm wyłączyć
zaawansowane zarządzenia energią (nie wszystkie dyski potrafią ją wyłączyć, ale większość tak).
-c Pobiera/ustawia obsługę 32-bitowego wejścia/wyjścia w (E)IDE. Można użyć numerycznego parametru
włączającego/wyłączającego obsługę. Obecnie obsługiwane wartości obejmują 0 dla wyłączenia obsługi
32-bitowego I/O, 1 dla włączenia 32-bitowej transmisji danych, 3 dla włączenia 32-bitowej
transmisji danych ze specjalną sekwencją sync wymaganą przez wiele chipsetów. Wartość 3 działa z
prawie wszystkimi 32-bitowymi chipsetami IDE, lecz naraża na dodatkowe koszty. Zauważ, że "32-bit"
odnosi się do transmisji poprzez magistralę PCI lub VLB, ale tylko do karty interfejsu; wszystkie
napędy (E)IDE mają wciąż tylko 16-bitowe połączenie z kartą interfejsu.
-C Sprawdza obecny stan trybu zasilania IDE. Jest on zawsze jednym z: unknown (dysk nie obsługuje
tego polecenia), active/idle (normalne działanie), standby (tryb oszczędzania energii, dysk się
zatrzymał), lub sleeping (najniższy tryb oszczędzania energii, dysk jest całkowicie wyłączony).
Za pomocą opcji -S, -y, -Y, i -Z można manipulować trybami zasilania IDE.
-d Pobiera/ustawia flagę "using_dma" (używający DMA) dla tego napędu. Opcja ta działa tylko z kilkoma
kombinacjami napędów i interfejsów, które obsługują DMA, i które są znane sterownikowi IDE.
Dobrym pomysłem jest również użycie odpowiedniej opcji -X w połączeniu z -d1 aby zapewnić, że sam
napęd jest zaprogramowany odpowiedni tryb DMA, choć wiele BIOS-ów powinno zrobić to za użytkownika
podczas uruchamiania komputera. Używanie DMA prawie zawsze powoduje zwiększenie wydajności i
przepustowości oraz zmniejsza zużycie procesora. Lecz jest co najmniej kilka zestawień chipsetów i
dysków, dla których użycie DMA nie zrobi większej różnicy, lub nawet spowolni dysk (na naprawdę
spapranym sprzęcie). Ale to zależy.
--dco-freeze
DCO to skrót od Device Configuration Overlay (nakładka konfiguracji urządzeń), sposobu, w jaki
dostawcy selektywnie wyłączają określone funkcje napędu. Opcja --dco-freeze zamraża/blokuje
bieżącą konfigurację napędu, uniemożliwiając w ten sposób oprogramowaniu (lub malware), zmieniać
ustawienia DCO po następnym ponownym uruchomieniu urządzenia.
--dco-identify
Odpytuje i zrzuca informacje na temat ustawień konfiguracji urządzenia, które mogą być wyłączone
przez dostawcę lub instalatora OEM. Te ustawienia pokazują możliwości napędu, które mogły zostać
wyłączone przez dostawcę, w celu "rozszerzonej kompatybilności". Gdy są wyłączone, są one ukryte
nie będą pokazywane w wyniku polecenia -I. Na przykład, dostawcy systemu czasami wyłączają
48-bitowe adresowanie na dużych napędach, z powodów kompatybilności (lub jej utraty) z określonym
BIOS-em. W takich przypadkach --dco-identyfy pokaże, że napęd posiada opcję 48_bit, ale -I nie
pokaże jej, ani napęd nie będzie akceptować poleceń 48_bit.
--dco-restore
Resetuje wszystkie ustawienia, funkcje i dostępne możliwości napędu do wartości fabrycznych i
pełnych możliwości. Polecenie zawiedzie, jeśli DCO zostało zamrożone/zablokowane, lub gdy
ustawiono również maksymalne ograniczenie rozmiaru -Np. Jest to NIEZWYKLE NIEBEZPIECZNE i
prawdopodobnie spowoduje poważną utratę danych. Proszę NIE UŻYWAĆ TEGO POLECENIA.
--direct
Używa flagi "O_DIRECT" jądra podczas przeprowadzania pomiarów czasów -t. W ten sposób ominięta
jest pamięć podręczna strony, powodując bezpośredni odczyt z napędu do buforów hdparm, używając
tzw. "surowego" wejścia/wyjścia. W wielu przypadkach może to dać znacznie szybsze odczyty niż
zwykła metoda stronicowanej pamięci podręcznej, dając lepszy wskaźnik surowej wydajności
urządzenia i sterownika.
--drq-hsm-error
BARDZO NIEBEZPIECZNE, PROSZĘ NAWET NIE MYŚLEĆ O UŻYWANIU TEJ OPCJI. Opcja powoduje wydanie przez
hdparm do jądra, niepoprawnie oznaczonego jako "non-data", polecenia IDENTIFY. Powoduje to
pozostawienie sterownika z jego wierszem dataReQuest(DRQ) w stanie "utknięcia". Dezorientuje to
sterowniki jądra i może spowodować natychmiastową awarię systemu łącznie z poważną utratą danych.
Opcja istnieje w celu pomocy w testowaniu i zabezpieczaniu jądra przed rzeczywistymi błędami
napędów. BARDZO NIEBEZPIECZNE, NIE UŻYWAĆ!
-D Włącza/wyłącza wbudowaną w napęd właściwość zarządzania uszkodzeniami, za pomocą której jego
firmware próbuje automatycznie zarządzać uszkodzonymi sektorami, przenosząc je na sektory
"zapasowe", zarezerwowane fabrycznie do tego celu. Kontrolowanie tej funkcji za pomocą opcji -D
nie jest obsługiwane przez większość współczesnych napędów od ATA-4; w związku z tym, to polecenie
może się nie powieść.
-E Ustawia szybkość napędu CD/DVD. NIE jest to konieczne do normalnego działania, gdyż napęd
automatycznie sam przełącza prędkości. Jednak jeśli chcesz się nim bawić, podaj po tej opcji
wartość szybkości, zwykle liczbę taką jak 2 lub 4. Może być to niekiedy przydatne, np. aby
odtwarzanie filmów z DVD stało się płynniejsze.
-f Synchronizuje (sync) i opróżnia (flush) bufory podręczne urządzenia przy wyjściu. Operacja ta
jest również wykonywana jako część pomiarów -t, -T i innych opcji.
--fallocate
Opcja działa obecnie jedynie w systemach plików ext4 i xfs. Gdy zostanie użyta, musi być jedyną
podaną opcją. Wymaga dwóch parametrów: oczekiwanej wielkości pliku w kibibajtach (liczba bajtów
podzielona przez 1024), a po niej ścieżki nowego pliku. Utworzy ona nowy plik o określonym
rozmiarze, bez zapisywania jakichkolwiek danych do pliku. Jest to zwykle bardzo szybkie i nie
obciąża urządzenia dyskowego.
Przykładowo: utworzenie pliku o rozmiarze 10 kibibitów: hdparm --fallocate 10 plik_tymczas
--fibmap
Gdy zostanie użyta, musi być jedyną podaną opcją. Wymaga ścieżki pliku jako parametru i powoduje
wypisanie listy ekstentów (zakresów sektorów) bloków zajętych przez plik na dysku. Numery sektorów
są podane jako absolutne numery LBA, odnoszące się do sektora 0 fizycznego urządzenia, a nie do
partycji czy systemu plików. Ta informacja może być następnie użyta do wielu celów, takich jak
sprawdzanie stopnia fragmentacji większych plików, czy określanie poprawnych sektorów w celu
rozmyślnego uszkodzenia podczas procedur testowych wstrzykiwania błędów.
Opcja używa nowej FIEMAP (file extent map - mapy ekstentów pliku) ioctl(), jeśli jest dostępna lub
wykorzystuje starszą FIBMAP (file block map - mapa bloków pliku) ioctl() w przeciwnym wypadku.
Proszę zauważyć, że z powodu wykorzystywania 32-bitowego interfejsu liczb bloków, FIBMAP nie
działa powyżej 8 TB lub 16 TB. FIBMAP jest również bardzo wolna i nie działa dobrze z
zaalokowanymi wstępnie ekstentami w systemach plików ext4/xfs, chyba że wykonano sync() przed
użyciej tej opcji.
--fwdownload
Gdy zostanie użyta, powinna być jedyną podaną opcją. Wymaga podania bezpośrednio po opcji ścieżki
pliku, z której powinno być odczytane nowe firmware napędu. Zawartość pliku zostanie wysłana do
napędu przy użyciu polecenia DOWNLOAD MICROCODE (S)ATA, używając albo protokołu transferu 7 (cały
plik na raz), albo, jeśli napęd to obsługuje, protokołu transferu 3 (pobieranie we fragmentach).
Polecenie to jest NIEZWYKLE NIEBEZPIECZNE i może zniszczyć zarówno napęd, jak i jego wszystkie
dane. Proszę NIE UŻYWAĆ TEGO POLECENIA. Odmiany --fwdownload-mode3 , --fwdownload-mode3-max i
--fwdownload-mode7 pozwalają na przesłonięcie automatycznie wykrytego protokołu, wymuszając na
hdparm użycie określonego protokołu transferu (jedynie do celów testowych).
-F Opróżnia bufory zapisu dysku (starsze napędy mogą nie implementować tej funkcji).
-g Pokazuje geometrię dysku (cylindry, głowice, sektory), rozmiar (w sektorach), a także przesunięcie
(w sektorach) początku urządzenia, poczynając od początku napędu.
-h Pokazuje krótką informację o użyciu (pomoc).
-H Odczytuje temperaturę niektórych dysków (głównie Hitachi). Informuje również, czy temperatura
znajduje się w zalecanym przedziale wartości (może nie być to wiarygodne). Nie powoduje to
rozkręcenia talerzy napędu, jeśli znajduje się w stanie bezczynności.
-i Pokazuje informacje identyfikacyjne, które sterowniki jądra (IDE, libata) pobrały z napędu podczas
startu/konfiguracji, o ile są one dostępne. Rezultaty mogą się różnić od bieżących informacji
pozyskiwanych bezpośrednio ze sterownika opcją -I. Zwracane dane mogą nie być aktualne, zależnie
od czynności wykonanych po uruchomieniu systemu. Dla dokładniejszej interpretacji informacji
identyfikacyjnych, odsyłamy do AT Attachment Interface for Disk Drives (ANSI ASC X3T9.2 working
draft, revision 4a, April 19/93 i późniejsze edycje).
--idle-immediate
Wykonuje polecenie ATA IDLE_IMMEDIATE, powodując przejście napędu w niższy stan zasilania. Z
reguły talerze napędu nie ulegają zatrzymaniu.
--idle-unload
Wykonuje polecenie ATA IDLE_IMMEDIATE_WITH_UNLOAD, powodując odłączenie lub zaparkowanie głowic i
przejście napędu w niższy stan zasilania. Z reguły talerze napędu nie ulegają zatrzymaniu.
-I Żąda informacji identyfikacji bezpośrednio od napędu. Informacja jest wyświetlana w nowym,
rozszerzonym formacie z większą ilością szczegółów, niż przy starszej opcji -i.
--Iraw ścieżka
Opcja zrzuca informacje identyfikujące w surowym formacie binarnym do podanego pliku.
--Istdin
Jest to specjalna odmiana opcji -I, która akceptuje blok identyfikacyjny dysku jako standardowe
wejście zamiast używania parametru /dev/hd*. Format tego bloku musi być dokładnie taki sam jak w
"plikach" /proc/ide/*/hd*/identify lub utworzony za pomocą opcji --Istdout opisanej poniżej. Ta
odmiana jest przeznaczona do użytku z "bibliotekami" informacji identyfikacyjnych dysku, oraz z
dyskami ATAPI, dla których standardowe mechanizmy mogą działać błędnie. Gdy używana jest opcja
--Istdin, musi być ona *jedynym* podanym parametrem. Proszę zauważyć, że niektóre informacje mogą
być niekompletne, ponieważ strony dziennika napędu są niedostępne gdy użyto opcji --Istdin.
--Istdout
Opcja zrzuca informacje identyfikacyjne dysku w zapisie szesnastkowym na standardowe wyjście, w
formacie podobnym do /proc/ide/*/identify i odpowiednim do późniejszego użycia z opcją --Istdin.
-J Pobiera/ustawia wartość czasu oczekiwania "idle3" dysków Western Digital (WD) Green Drive. Czas
ten kontroluje częstość parkowania głowic dysku i przejścia w niższy stan zasilania. Ustawieniem
fabrycznym jest osiem (8) sekund, co jest bardzo kiepskim wyborem do systemu Linux. Pozostawienie
wartości domyślnej, powoduje setki lub tysiące cykli ładowania/odłączenia głowic w bardzo krótkim
czasie. Mechanizm dysku został zaprojektowany na 300 000 do 1 000 000 cykli, tak więc
pozostawienie wartości domyślnej może spowodować przedwczesne zużycie dysku, nie wspominając o
wpływie na wydajność, gdy napęd często musi się wybudzić przed wykonaniem operacji
wejścia/wyjścia.
Firma WD dostarcza DOS-owe narzędzie WDIDLE3.EXE do zmiany tego ustawienia i powinno się go użyć
zamiast hdparm, gdy tylko to możliwe. Implementacja w hdparm, uzyskana za pomocą inżynierii
wstecznej nie jest tak kompletna jak oryginalny i oficjalny program, nawet jeśli wygląda na
działającą na przynajmniej kilku sztukach tych dysków. Aby zmiana w ustawieniach zadziałała,
potrzebny jest pełny cykl zasilania (włączenie i wyłączenie), niezależnie od tego, który program
zostanie użyty do zmiany ustawień.
Zaleca się ustawienie wartości 30 sekund do użycia z Linuksem. Dozwolonymi wartościami jest 8 do
12 sekund, a następnie 30 do 300 sekund w 30 sekundowych odstępach. Podanie wartości zero (0)
wyłączy całkowicie czas idle3 dysków WD (NIE ZALECANE!).
-k Pobiera/ustawia flagę "keep_settings_over_reset" (zachowaj ustawienia po resecie). Gdy ta flaga
jest ustawiona, sterownik będzie chronił opcje -dmu po miękkim resecie (wykonanym np. podczas
sekwencji odzyskiwania po błędzie). Flaga ta domyślnie jest wyłączona, aby uchronić napęd przed
pętlami resetowań, które mogłyby być spowodowane kombinacjami ustawień -dmu Opcja -k powinna więc
być ustawiana tylko gdy jest się przekonanym, że to co robisz jest dobre. Praktycznie, wszystko co
trzeba zrobić aby przetestować konfigurację (przed użyciem -k) to sprawdzenie czy napęd daje się
odczytać/zapisać i czy proces nie generuje błędów w logach (komunikaty jądra) (w większości
systemów należy zajrzeć do /var/log/messages).
-K Ustawia flagę "keep_features_over_reset" (zachowaj właściwości po resecie). Jej ustawienie
powoduje, że napęd odzyskuje po miękkim resecie ustawienia dla -APSWXZ. Nie wszystkie napędy
obsługują tę właściwość.
-L Ustawia flagę blokowania drzwiczek (doorlock flag). Wartość 1 spowoduje zablokowanie drzwiczek
niektórych wymiennych dysków twardych (np. Syquest, ZIP, Jazz...). Z kolei wartość 0 spowoduje
odblokowanie drzwiczek. Normalnie Linux automatycznie zarządza mechanizmem blokowania drzwiczek, w
zależności od eksploatacji dysku (zablokowane, gdy system plików jest zamontowany). Lecz podczas
zamykania systemu może być to uciążliwe, gdy główna partycja znajduje się na dysku wymiennym, gdyż
partycja ta pozostaje zamontowana (w trybie tylko-do-odczytu) po zamknięciu systemu. Dzięki użyciu
tej opcji po przemontowaniu głównego systemu plików w trybie tylko-do-odczytu możliwe jest wyjęcie
kasety ze stacji po zamknięciu systemu.
-m Pobiera/ustawia licznik sektorów dla wielosektorowego I/O w napędzie. Ustawienie 0 wyłącza tę
właściwość. Tryb ten (inaczej znany jako IDE Block Mode) jest właściwością większości nowoczesnych
dysków twardych IDE, zezwalającą na transfer wielu sektorów na przerwanie I/O, w przeciwieństwie
do tradycyjnego jednego sektora. Gdy włączona jest ta właściwość, zazwyczaj obciążenie I/O przez
system zmniejsza się o 30–50%. W wielu systemach powoduje to także zwiększenie przepływu danych o
5% do 50%. Mimo to, niektóre napędy (najbardziej zauważalnie seria WD Caviar), wydają się działać
wolniej w tym trybie. Różnie to jednak bywa. Większość napędów wspiera minimalny zestaw ustawień
obejmujący 2, 4, 8 i 16 (sektorów). Dla niektórych dysków możliwe są także większe wartości.
Ustawienie 16 lub 32 wydaje się optymalnym dla wielu systemów. Western Digital zaleca niższe
ustawienia od 4 do 8 na wielu z ich dysków, a to z powodu małych (32 KiB) buforów w napędach i
niezoptymalizowanych algorytmów buforowania. Opcja -i może służyć do znajdywania maksymalnej
wspieranej wartości zainstalowanego napędu (szukaj MaxMultSect na wyjściu). Niektóre napędy
twierdzą, że wspierają ten tryb, lecz tracą dane przy niektórych ustawieniach. W rzadkich
wypadkach, takie błędy mogą spowodować poważne uszkodzenie systemu plików.
--make-bad-sector
Celowo tworzy uszkodzony sektor (bad sector, media error) na dysku. NIEZWYKLE NIEBEZPIECZNE, NIE
UŻYWAĆ TEJ OPCJI!. Może być to przydatne przy testowaniu mechanizmów odzyskiwania błędów
urządzenia/RAID. Numer sektora jest podany jako (dziesiątkowy) parametr po opcji. W zależności od
urządzenia, hdparm wybierze jedno z dwóch dostępnych poleceń ATA do uszkodzenia sektora.
WRITE_LONG działa w przypadku większości urządzeń, lecz jedynie do granicy 28-bitów. Część
najnowszych napędów (2008) może obsługiwać nowe polecenie WRITE_UNCORRECTABLE_EXT, które działa na
wszystkich sektorach LBA48. Jeśli jest ono dostępne, hdparm użyje go zamiast WRITE_LONG. Samo
polecenie WRITE_UNCORRECTABLE_EXT prezentuje wybór jak nowy uszkodzony sektor powinien się
zachowywać. Domyślnie, wygląda on jak każdy inny uszkodzony sektor i napędowi może zająć nieco
czasu aby wykonać kolejne ponowne i nieudane próby odczytu (READ) sektora. Jeśli jednak poda się
pojedynczą literę f bezpośrednio przed pierwszą cyfrą parametru numeru sektora, to hdparm wykona
"flagowane" WRITE_UNCORRECTABLE_EXT, które powoduje, że napęd oznacza sektor jako uszkodzony
(zamiast rzeczywiście go uszkadzać), dzięki czemu próby odczytu (READ) sektora natychmiast się nie
powiodą (zamiast po kilku kolejnych próbach). Proszę zauważyć, że opcja --repair-sector może być
użyta aby odzyskać (każdy) uszkodzony sektor, gdy nie jest on dłużej potrzebny, włączając w to
również sektory rzeczywiście uszkodzone (napęd prawdopodobnie przemapuje je do przestrzeni
zapasowej dysku).
-M Pobiera/ustawia wartość Automatycznego Zarządzania Głośnością (Automatic Acoustic Management -
AAM). Większość nowych dysków ma możliwość zwolnienia obrotów głowicy aby zredukować poziom
hałasu. Wartości mogą być z przedziału od 0 do 254. 128 jest najcichszym (a zatem najwolniejszym)
ustawieniem, a 254 najszybszym (i najgłośniejszym). Niektóre dyski mają tylko dwa poziomy (cichy /
szybki), a inne mogą przyjmować wszystkie wartości od 128 do 254. W tej chwili, większość napędów
obsługuje jedynie 3 opcje: wyłączone, cichy i szybki. Można im przypisać obecnie, odpowiednio,
wartości 0, 128 i 254, ale pozostałe wartości zostały przeznaczone do przyszłych rozszerzeń, więc
może to ulec zmianie.
-n Pobiera lub ustawia flagę "ignore_write_errors" (ignoruj błędy zapisu) w sterowniku. NIE baw się
tym bez uprzedniego zapoznania się z kodem źródłowym sterownika.
-N Pobiera/ustawia maksymalną widzialną liczbę sektorów, znaną również jako ustawienie Host Protected
Area. Bez parametru, -N wyświetla bieżące ustawienie, które jest wyświetlane jako dwie wartości:
pierwsza określa bieżące maksymalne ustawienie sektorów, druga pokazuje natywny (rzeczywisty)
limit sprzętowy dysku. Różnica pomiędzy tymi dwiema wartościami wskazuje na liczbę sektorów, które
są aktualnie ukryte dla systemu operacyjnego w formie Host Protected Area (HPA). Obszar ten jest
często używany przez osoby składające komputer do przechowania oprogramowania diagnostycznego
i/lub kopii oryginalnego systemu operacyjnego w celach odzyskiwania. Innymi możliwymi powodami
mogą być ukrycie rzeczywistej pojemności bardzo dużego dysku dla BIOS-u/systemu, który nie może
normalnie funkcjonować z dyskami tego rozmiaru (np. obecnie (2010) BIOS-y nie potrafią poradzić
sobie z dyskami o rozmiarze przekraczającym 2 TB, a HPA może być użyte do raportowania przez dysk
o pojemności 3 TB, że ma 2 TB). Aby zmienić bieżące maksimum (BARDZO NIEBEZPIECZNE, UTRATA DANYCH
JEST NIEZWYKLE PRAWDOPODOBNA), nowa wartość powinna być dostarczona (dziesiątkowo) zaraz po opcji
-N. Wartość ta jest określona jako liczba sektorów, zamiast "maksymalny adres sektora" dysku.
Napędy korzystają z pomysłu tymczasowych (ulotnych) ustawień, które są tracone przy następnym
resecie sprzętowym oraz bardziej stałej (nieulotnej) wartości, która nie jest zmieniana w czasie
resetów i kolejnych cykli zasilania. Domyślnie, -N zmienia jedynie ustawienie tymczasowe (ulotne).
Aby zmienić wartość stałą (nieulotną), proszę poprzedzić pierwszą cyfrę wartości początkowym
znakiem p. Napędy są zaprojektowane na pozwolenie na tylko jedną zmianę wartości stałem w sesji.
Przed kolejną, permanentną operacją -N konieczny jest reset sprzętowy (lub wyłączenie i
włączenie). Proszę zauważyć, że każda próba zmienienia tej wartości może zawieść, jeśli dysk jest
dostępny dla innego programu w tym samym czasie. Jest tak, ponieważ ustawienie wartości wymaga
wymiany pary poleceń dyskowych, ale nie ma sposobu na zapobiegnięcie wstawienia pomiędzy nie
innych poleceń przez jądro. Jeśli więc zmiana początkowo się nie powiedzie, proszę po prostu
spróbować ponownie. Obsługa opcji -N przez jądro jest błędna dla wielu typów adapterów przez w
wielu wersjach jądra. Raportowana jest wówczas niekiedy nieprawidłowa (zbyt mała) wartość
maksymalnego rozmiaru. Obecnie (jądro 2.6.27) wygląda na to, że w końcu działanie powinno być
poprawne w przypadku większości sprzętu.
--offset
Przesuwa (offset) do podanego numeru GiB (1024*1024*1024), podczas przeprowadzania pomiarów czasu
-t odczytu urządzenia. Szybkość zmienia się (około dwukrotnie) w przypadku wielu dysków
mechanicznych. Z reguły, choć nie zawsze, największa jest na początku dysku. Napędy solid-state
drive (SSD) powinny wykazywać podobne czasy niezależnie od przesunięcia.
-p Próbuje przeprogramować chipset interfejsu IDE na określony tryb PIO, lub próbuje automatycznie
dostosować się do "najlepszego" trybu PIO obsługiwanego przez napęd. Właściwość ta jest
obsługiwana w jądrze tylko dla kilku "znanych" chipsetów i nawet ta obsługa jest co najwyżej
niepewna. Niektóre chipsety IDE nie są w stanie zmienić trybu PIO dla pojedynczego napędu; wówczas
opcja ta może spowodować ustawienie trybu PIO dla obydwu napędów. Wiele chipsetów IDE wspiera albo
mniej, albo więcej niż standardowe 6 (od 0 do 5) trybów PIO, więc dokładne ustawienie szybkości,
które właściwie jest zaimplementowane, będzie różnić się zależnie od wyrafinowania
chipsetu/sterownika. Używaj z wielką ostrożnością! Właściwość ta nie chroni przed nierozwagą, a
niepomyślne działanie może spowodować poważne uszkodzenie systemu plików!
-P Ustawia maksymalny licznik sektorów dla wewnętrznych mechanizmów preodczytu napędu. Nie wszystkie
napędy obsługują tę właściwość i została ona usunięta z oficjalnej specyfikacji od ATA-4.
--prefer-ata12
W czasie używania protokołu SAT (SCSI ATA Translation), hdparm zwykle preferuje użycie poleceń
16-bajtowych gdzie to tylko możliwe. Część napędów zewnętrznych USB nie działa poprawnie z
poleceniami 16-bajtowymi. Opcja może zostać użyta do wymuszenia mniejszego, 12-bajtowego formatu
poleceń do takich napędów. Program hdparm wciąć będzie używał poleceń 16-bajtowym do rzeczy, które
nie mogą być wykonane przy użyciu formatu 12-bajtowego (np. sektory wykraczające poza format
28-bajtowy).
-q Obsługuje następną opcję cicho, nie wydając zwykłych komunikatów (nie dotyczy do komunikatów o
błędach) na wyjście. Jest to przydatne do zmniejszenia zamieszania na ekranie w wypadku
uruchamiania ze skryptów startowych. Nie można stosować do opcji -i, -v, -t, oraz -T.
-Q Pobiera lub ustawia queue_depth poleceń urządzenia, jeśli jest to obsługiwane przez sprzęt. Opcja
działa tylko z jądrami 2.6.xx (i nowszymi) i jedynie z kombinacją urządzeń i sterownika, która
obsługuje zmianę queue_depth. W przypadku dysków SATA jest to głębokość kolejki Native Command
Queuing (NCQ).
-r Pobiera/ustawia flagę read-only (tylko do odczytu) urządzenia. Gdy jest ustawiona, Linux nie
pozwala na operacje zapisu na tym urządzeniu.
-R Pobiera/ustawia funkcję Write-Read-Verify, jeśli napęd ją obsługuje. Użycie: -R0 (wyłączone) lub
-R1 (włączone). Funkcja przeznaczona jest do automatycznego ponownego odczytania przez firmware
dysku danych, które zostały zapisane przez oprogramowanie, w celu weryfikacji, czy zapis odbył się
poprawnie. Ogólnie rzecz biorąc jest to zachowanie przesadne, które może spowolnić zapis na dysk
dwukrotnie (lub jeszcze bardziej).
--read-sector
Odczytuje z określonego numera sektora i zrzuca jego zawartość w zapisie szesnastkowym na
standardowe wyjście. Sektor wiersza musi być podany (dziesiętnie) po opcji. Program hdparm wykona
niskopoziomowy odczyt (kompletnie omijając zwykłą warstwę blokową mechanizmów odczytu/zapisu)
podanego sektora. Można użyć tej opcji do definitywnego rozstrzygnięcia czy dany sektor jest
uszkodzony (bad sector, media error) czy też nie (uczynienie tego za pomocą zwykłych mechanizmów
może niekiedy dać fałszywe alarmy).
--repair-sector
Jest to alias BARDZO NIEBEZPIECZNEJ opcji --write-sector.
-s Włącza/wyłącza funkcję zasilania w trybie gotowości, jeśli jest obsługiwana przez napęd.
BARDZO NIEBEZPIECZNE. Proszę jej nie używać, chyba że jest się absolutnie pewnym, że zarówno
systemowy BIOS (lub firmware) jak i jądro systemu operacyjnego (Linux >=2.6.22) obsługuje
próbkowanie urządzenia w celu użycia tej funkcji. Gdy jest włączona, napęd jest zasilany w trybie
standby (gotowości), pozwalając kontrolerowi na uruchomienie urządzeń po kolei, redukując chwilowy
pobór energii, gdy wiele napędów jest podłączonych do tego samego zasilacza. Przydatne głównie do
dużych zestawów RAID. Funkcja jest zwykle wyłączona, a napęd jest zasilany, gdy jest w trybie
active - aktywnym (patrz powyżej, opcja -C). Proszę zauważyć, że napęd może również pozwalać na
włączenie tej opcji za pomocą zworki. Część dysków SATA obsługuje kontrolę tej funkcji za pomocą
pinu 11. w złączu zasilania SATA. W takich przypadkach, polecenie może nie być obsługiwane, lub
może być ignorowane.
-S Ustawia napęd w trybie idle (niższego niskiego poboru energii), ustawia również czas oczekiwania
standby (zatrzymania dysku). Wartość ta jest używana przez napęd w celu uzyskania informacji o
tym, jak długo oczekiwać (bez aktywności dyskowych) przed wyłączeniem silnika w celach
oszczędności mocy. W takich warunkach, dysk może potrzebować do 30 sekund aby odpowiedzieć na
nagłe odwołanie, choć większość napędów robi to znacznie szybciej. Odczytanie wartości czasu
oczekiwania jest nieco osobliwe. Wartość 0 oznacza "czasy oczekiwania są wyłączone": napęd nie
przejdzie do trybu standby w sposób automatyczny. Wartości od 1 do 240 określają wielokrotności 5
sekund, czyli dają czasy oczekiwania od 5 sekund do 20 minut. Wartości od 241 do 251 określają od
1. do 11. jednostki po 30 minut dla czasów od 30 minut do 5,5 godzin. Wartość 252 oznacza czas
oczekiwania 21 minut, 253 ustawia czas oczekiwania zdefiniowany przez dostawcę, zamykający się
między 8 a 12 godzinami, a wartość 254 jest zarezerwowana. 255 jest interpretowane jako 21 minut
plus 15 sekund. Proszę zauważyć, że część starszych napędów może intepretować te wartości w
całkowicie inny sposób.
--set-sector-size
Przypadku urządzeń obsługujących zmianę konfiguracji rozmiaru sektora logicznego, tą flagą można
podać żądany nowy rozmiar sektora w bajtach. BARDZO NIEBEZPIECZNE. Najprawdopodobniej zniszczy
wszystkie dane na dysku. Podany rozmiar musi być jednym z następujących: 512, 520, 528, 4096, 4160
lub 4224. Jedynie kilka napędów obsługuje wartości inne niż 512 i 4096. Przykład: hdparm
--set-sector-size 4096 /dev/sdb
-t Dokonuje pomiarów czasu odczytów z urządzenia dla celów porównawczych i testów wydajnościowych.
Aby uzyskać miarodajne wyniki, operacja ta powinna być powtarzana 2–3 razy na nieaktywnym pod
innymi względami systemie (bez innych aktywnych procesów) z przynajmniej kilkoma megabajtami
wolnej pamięci. Wyświetlana jest szybkość odczytu poprzez bufory cache z dysku, bez wcześniejszego
cache'owania danych. Wartość ta jest miarą szybkości, z jaką napęd jest w stanie obsługiwać
liniowe odczyty danych pod Linuksem bez obciążenia związanego z systemem plików. Aby zapewnić
dokładne pomiary, cache jest opróżniany za pomocą ioctl BLKFLSBUF.
-T Dokonuje pomiarów czasu odczytów z cache dla celów porównawczych i testów wydajnościowych. Aby
uzyskać miarodajne wyniki, operacja ta powinna być powtarzana 2–3 razy na nieaktywnym pod innymi
względami systemie (bez innych aktywnych procesów) z przynajmniej kilkoma megabajtami wolnej
pamięci. Wyświetlana jest szybkość odczytu bezpośrednio z linuksowych buforów cache, bez dostępu
do dysku. Wartość ta jest wskaźnikiem przepływu danych między procesorem, cache i pamięcią
systemu.
--trim-sector-ranges
Do napędów Solid State Drive (SSD). NIEZWYKLE NIEBEZPIECZNE. NIE UŻYWAĆ TEJ OPCJI! Nakazuje
firmware dysku odrzucać niepotrzebne sektory danych, niszcząc wszelkie dane, które mogą one
zawierać. W tej sposób sektory te są dostępne do natychmiastowego użycia przez mechanizm
odśmiecania pamięci (garbage collection) firmware, w celu poprawy równomiernego poziomu zużycia
komórek flash. Opcja oczekuje podania jednego lub więcej par zakresów zaraz po niej w formie:
początek adresu LBA, dwukropek i liczba sektorów (maksymalnie 65535) bez spacji w pojedynczym
zapisie. NIEZWYKLE NIEBEZPIECZNE. NIE UŻYWAĆ TEJ OPCJI!
Przykład: hdparm --trim-sector-ranges 1000:4 7894:16 /dev/sdz
--trim-sector-ranges-stdin
Identyczne do --trim-sector-ranges powyżej, z wyjątkiem tego, że lista par lba:liczba jest czytana
ze standardowego wejścia, zamiast być podaną w wierszu poleceń. Można wykorzystać tę opcję do
uniknięcia problemów z wyjątkowo długimi wierszami polecenia. Pozwala to również na skumulowanie
wielu więcej zakresów sektorów w jedno polecenie, aż do aktualnie skonfigurowanego limitu
transferu (max_sectors_kb).
-u Pobiera/ustawia flagę interrupt-unmask napędu. Ustawienie 1 zezwala sterownikowi na niemaskowanie
innych przerwań podczas przetwarzania przerwania dyskowego, co w znaczącym stopniu zmniejsza czas
reakcji na Linuksa na polecenia użytkownika i eliminuje błędy "serial port overrun". Używając tej
opcji nleży zachować ostrożność: niektóre kombinacje napędu/kontrolera nie radzą sobie dobrze z tą
właściwością, co może spowodować poważne uszkodzenie systemu plików. W szczególności, interfejsy
CMD-640B i RZ1000 (E)IDE mogą być niestabilne (z powodu usterek sprzętowych) gdy opcja ta jest
używana z wersjami jądra wcześniejszymi niż 2.0.13. Wyłączenie właściwości IDE prefetch tych
interfejsów (zwykle ustawienie BIOS/CMOS) daje bezpieczne rozwiązanie tego problemu dla
wcześniejszych jąder.
-v Wypisuje niektóre podstawowe ustawienia, tak jak -acdgkmnru dla IDE. Jest to też domyślne
zachowanie, kiedy nie poda się żadnych opcji.
-V Wyświetla wersję programu i natychmiast kończy pracę.
--verbose
Wyświetla dodatkowe informacje diagnostyczne w przypadku niektórych poleceń.
-w Resetuje urządzenie (NIEBEZPIECZNE). NIE używaj tej opcji. Jest ona tylko do użytku w
nieoczekiwanych sytuacjach, gdy dla przywrócenia dysku do stanu używalności i tak może być
konieczne przeładowanie systemu.
--write-sector
Zapisuje zera do podanego numeru sektora. BARDZO NIEBEZPIECZNE. Numer sektora musi zostać podany
(dziesiątkowo) po opcji. Program hdparm wykona niskopoziomowy zapis (całkowicie omijając zwykłą
warstwę blokową mechanizmów odczytu/zapisu) do określonego sektora. Może to zostać wykorzystane do
wymuszenia na napędzie naprawę uszkodzonego sektora (bad sector, media error).
-W Pobiera/ustawia funkcję pamięci podręcznej zapisu (write-caching) napędów IDE/SATA.
-X Ustaw tryb transferu IDE dla nowszych napędów (E)IDE/ATA. Jest to zazwyczaj używane łącznie z -d1
gdy włącza się DMA do/z napędu na wspieranym chipsecie interfejsu, przy czym -X mdma2 służy do
wyboru trybu transferów multiword DMA mode2 a -X sdma1 do wyboru prostego trybu mode1 transferów
DMA. Na systemach, które wspierają UltraDMA użycie -X udma2 służy do ustawiania trybu transferów
UltraDMA mode2 (będziesz musiał przygotować wcześniej chipset do użycia UltraDMA). Poza tym,
użycie tej opcji jest rzadko potrzebne gdyż większość/wszystkie nowoczesne napędy IDE domyślnie
ustawiają się w najszybszym ze swoich trybów PIO przy włączaniu. Manipulowanie tym może być
bezcelowe i ryzykowne. Na dyskach, które wspierają alternatywne tryby transferu, -X może służyć do
przełączania tylko trybu napędu. Przed zmianą trybu transferu, interfejs IDE powinien być
ustawiony za pomocą zworek lub zaprogramowany (zobacz opcję -p) do nowego trybu, aby zapobiec
utracie i/lub zniszczeniu danych. Używaj tego ze szczególną uwagą! Dla trybów transferu PIO
(Programmed Input/Output), używanych przez Linuksa, wartość ta jest zwyczajnie oczekiwanym numerem
trybu PIO plus 8. Dlatego wartość 09 ustawia tryb PIO mode1, 10 PIO mode2, a 11 wybiera PIO mode3.
Ustawienie 00 odtwarza "domyślny" tryb PIO dysku, a 01 wyłącza IORDY. W przypadku trybu multiword
DMA, używaną wartością jest oczekiwany tryb DMA plus 32. Dla UltraDMA wartością jest oczekiwany
numer trybu UltraDMA plus 64.
-y Zmusza napęd IDE do natychmiastowego przejścia w tryb mniejszego zużycia energii: standby. To
najczęściej powoduje zwolnienie pracy dysku. aktualny tryb może być sprawdzony dzięki opcji -C.
-Y Zmusza napęd IDE do natychmiastowego przejścia w tryb najmniejszego zużycia energii: sleep. To
kompletnie wyłącza napęd. Aby napęd był dostępny ponownie potrzebny jest twardy lub miękki reset
(sterownik IDE Linuksa automatycznie wykona reset gdy będzie potrzebny). Aktualny tryb może być
sprawdzony dzięki opcji -C.
-z Zmusza jądro do ponownego odczytu tablicy partycji podanych urządzeń.
-Z Wyłącza automatyczne funkcje oszczędzania energii w niektórych napędach Seagate (modelach ST3xx?),
aby uchronić je od wyłączania się w nieoczekiwanych momentach.
Zestaw funkcji bezpieczeństwa ATA
Eksperymenty z poniższymi przełącznikami są NIEBEZPIECZNE i mogą nie działać z niektórymi jądrami. UŻYCIE
NA WŁASNE RYZYKO.
--security-help
Wyświetla krótką informację o użyciu na temat wszystkich opcji --security-*.
--security-freeze
Zamraża ustawienia bezpieczeństwa napędu. Napęd nie akceptuje żadnych poleceń bezpieczeństwa do
kolejnego resetu przy podłączeniu zasilania. Proszę użyć tę funkcję w kombinacji z
--security-unlock do zabezpieczenia dysku przed jakimikolwiek próbami ustawienia nowego hasła.
Może również zostać użyta samodzielnie. Z tą opcją nie można podać w wierszu poleceń żadnych
innych opcji.
--security-prompt-for-password
Pyta o HASLO do opcji --security zamiast uzyskiwać go z argumentów podanych w wierszu poleceń. W
ten sposób unika się ujawniania haseł w historii powłoki lub w /proc/self/cmdline podczas
wykonywania operacji.
--security-unlock HASLO
Odblokowuje napęd, używając hasła HASLO. Hasło jest podane jako łańcuch ASCII i jest uzupełniane
znakami NUL do wielkości 32 bajtów. Odpowiednie hasło napędu jest wybierane przełącznikiem
--user-master (domyślnie jest to hasło użytkownika - "user"). Z tą opcją w wierszu poleceń nie
można podać żadnych innych.
--security-set-pass HASLO
Blokuje napęd, używając hasła HASLO (ustawia hasło) (NIEBEZPIECZNE). Hasło jest podane jako
łańcuch ASCII i jest wyrównany znakami NUL do wielkości 32 bajtów. Użycie hasła specjalnego NULL
ustawia puste hasło. Odpowiednie hasło napędu jest wybierane przełącznikiem --user-master
(domyślnie jest to hasło użytkownika - "user"), a odpowiedni tryb bezpieczeństwa jest wybierany
przełącznikiem --security-mode. Z tą opcją w wierszu poleceń nie można podać żadnych innych.
--security-disable HASLO
Wyłącza blokowanie napędu, używając hasła HASLO. Hasło jest podane jako łańcuch ASCII i jest
uzupełniane znakami NUL do wielkości 32 bajtów. Odpowiednie hasło napędu jest wybierane
przełącznikiem --user-master (domyślnie jest to hasło użytkownika - "user"). Z tą opcją w wierszu
poleceń nie można podać żadnych innych.
--security-erase HASLO
Wykasowuje (zablokowany) napęd, używając hasła HASLO (NIEBEZPIECZNE). Hasło jest podane jako
łańcuch ASCII i jest wyrównany znakami NUL do wielkości 32 bajtów. Użycie hasła specjalnego NULL
reprezentuje puste hasło. Odpowiednie hasło napędu jest wybierane przełącznikiem --user-master
(domyślnie jest to hasło użytkownika - "user"). Z tą opcją w wierszu poleceń nie można podać
żadnych innych.
--security-erase-enhanced HASLO
Wykonuje rozszerzone kasowanie (zablokowanego) napędu, używając hasła HASLO (NIEBEZPIECZNE). Hasło
jest podane jako łańcuch ASCII i jest uzupełniane znakami NUL do wielkości 32 bajtów. Odpowiednie
hasło napędu jest wybierane przełącznikiem --user-master (domyślnie jest to hasło użytkownika -
"user"). Z tą opcją w wierszu poleceń nie można podać żadnych innych.
--user-master UŻYTKOWNIK
Określa które hasło wybrać (użytkownika - user lub główne - master). Domyślnym wyborem jest hasło
użytkownika. Użyteczne jedynie w połączeniu z --security-unlock, --security-set-pass,
--security-disable, --security-erase lub --security-erase-enhanced.
u hasło użytkownika - user
m hasło główne - master
--security-mode TRYB
Określa który tryb bezpieczeństwa (wysoki - high lub maksymalny - maximum) ustawić. Domyślnym
wyborem jest wysoki. Użyteczne tylko w połączeniu z --security-set-pass.
h wysokie (high) bezpieczeństwo
m maksymalne (maximum) bezpieczeństwo
TA FUNKCJA JEST EKSPERYMENTALNA I NIEZBYT DOBRZE PRZETESTOWANA. UŻYCIE NA WŁASNE RYZYKO.
PLIKI
/etc/hdparm.conf
USTERKI
Jak zauważono powyżej, opcje -m sectcount i -u 1 powinny być używane z ostrożnością, najlepiej na
systemie plików tylko dla odczytu. Większość napędów pracuje z tymi właściwościami dobrze, lecz zdarzają
się wyjątki. System plików może wtedy ulec zniszczeniu. Pamiętaj o backupie przed takimi eksperymentami!
Niektóre opcje (np. -r do SCSI) mogą nie działać ze starszymi jądrami, w których potrzebne ioctl()'e nie
były obsługiwane.
Chociaż to narzędzie jest skierowane przede wszystkim do użytku z napędami dysków twardych SATA/IDE, to
część opcji jest również prawidłowa (i dozwolona) w użyciu z dyskami twardymi SCSI oraz z dyskami MFT/RLL
z interfejsem XT.
Jądro Linux aż do wersji 2.6.12 (i prawdopodobnie późniejszych) nie obsługuje prawidłowo odblokowania
opcji bezpieczeństwa i wyłączania poleceń, co może powodować naruszenie ochrony pamięci, a w niektórych
przypadkach nawet panikę jądra. Polecenia bezpieczeństwa mogą być jednak wykonane przez napęd. To
nieprawidłowe zachowanie jądra czyni w tej chwili polecenia bezpieczeństwa związane z danymi PIO raczej
bezużyteczne.
Proszę zauważyć, że polecenia "security erase" i "security disable" zostały zaimplementowane jako dwa
kolejne polecenia danych PIO i nie powiodą się na zablokowanym napędzie, ponieważ drugie polecenie nie
zostanie wydane po naruszeniu ochrony pamięci. Proszę zapoznać się z kodem, aby uzyskać wskazówki jak je
załatać, aby ominąć ten problem. Niezależnie od naruszenie ochrony pamięci, zawsze możliwe jest
uruchomienie dwóch kopii hdparm jednocześnie i wydanie dwóch potrzebnych poleceń w ten sposób.
AUTOR
hdparm został napisany przez Marka Lorda <mlord@pobox.com>, głównego twórcę i opiekuna sterownika (E)IDE
do Linuksa, obecnie zajmującego się podsystemem libata; wraz z uwzględnieniem sugestii i łatek od wielu
innych osób.
Kod wyłączający automatyczne oszczędzanie energii w Seagate został napisany przez Tomiego Leppikangasa
<tomilepp@paju.oulu.fi>.
Polecenie zamrażania ustawień bezpieczeństwa dodał Benjamin Benz w roku 2005.
Polecenia bezpieczeństwa związane z pozyskaniem danych PIO napisał Leonard den Ottolander w roku 2005.
Niektóre inne części - Benjamin Benz i inni.
ZOBACZ TAKŻE
http://www.t13.org/ Technical Committee T13 AT Attachment (ATA/ATAPI) Interface.
http://www.serialata.org/ Serial ATA International Organization.
http://www.compactflash.org/ CompactFlash Association.
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>,
Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Grzegorz Goławski <grzegol@pld.org.pl> 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.
wersja 9.65 wrzesień 2022 HDPARM(8)