hdparm - obține/stabilește parametrii dispozitivului
SATA/IDE
hdparm [opțiuni] [dispozitiv ...]
hdparm oferă o interfață de linie de
comandă pentru diverse interfețe ale nucleului acceptate de
subsistemul Linux SATA/PATA/SAS „libata” și de
subsistemul mai vechi al controlorului IDE. Multe carcase de
unități USB mai noi (2008 și ulterior) accertă
acum și „SAT” (SCSI-ATA Command Translation) și,
prin urmare, pot funcționa și cu hdparm. De exemplu, modelele
WD „Passport” recente și carcasele NexStar-3 recente.
Unele opțiuni pot funcționa corect numai cu cele mai recente
nuclee.
Atunci când nu sunt indicate opțiuni, se presupune
-acdgkmur. Pentru opțiunile
„obține/stabilește”, o interogare
fără parametrul opțional (de exemplu,
„-d”) va consulta (obține) starea dispozitivului, iar
cu un parametru (de exemplu, „-d0”) va defini starea
dispozitivului.
- -a
- Obține/stabilește numărul de sectoare pentru
citirea-anticipată a sistemului de fișiere (prin software).
Această funcție este utilizată pentru a
îmbunătăți performanța în
citirile secvențiale ale fișierelor mari, prin citirea
în prealabil a blocurilor suplimentare înainte ca acestea
să fie necesare pentru sarcina în curs. Multe
unități IDE au, de asemenea, o funcție
separată de citire-anticipată încorporată,
care sporește această funcție de
citire-anticipată a sistemului de fișiere (prin
software).
- -A
- Obține/stabilește starea caracteristicii
„read-lookahead” a unității IDE (de obicei
„ON” (activată) în mod implicit). Utilizare:
-A0 (dezactivată) sau -A1 (activată).
- -b
- Obțineți/stabilește starea magistralei.
- -B
- Obține/configurează funcția de gestionare
avansată a alimentării, dacă unitatea o
acceptă. O valoare mică înseamnă gestionare
agresivă a consumului de energie, iar o valoare mare
înseamnă performanță mai bună. Valorile
posibile variază de la 1 la 127 (care permit reducerea
turației discurilor) și de la 128 la 254 (care nu permit
reducerea turației discurilor).Cel mai înalt grad de
gestionare a consumului de energie este atins cu o valoare de 1, iar cea
mai mare performanță de I/O cu o valoare de 254. O valoare
de 255 îi spune lui hdparm să dezactiveze complet
gestionarea avansată a alimentării pe unitate (nu toate
unitățile acceptă dezactivarea, dar majoritatea o
fac).
- -c
- Obține/configurează suportul (E)IDE In/Ieș pe 32 de
biți. Un parametru numeric poate fi utilizat pentru a
activa/dezactiva suportul I/O pe 32 de biți. Valorile acceptate
în prezent includ 0 pentru a dezactiva suportul
In/Ieș pe 32 de biți, 1 pentru a activa transferurile
de date pe 32 de biți și 3 pentru a activa
transferurile de date pe 32 de biți cu o secvență
specială sync cerută de multe cipuri. Valoarea
3 funcționează cu aproape toate cipurile IDE pe 32 de
biți, dar implică un nivel de încărcare
puțin mai mare. Rețineți că „32 de
biți” se referă numai la transferurile de date pe o
magistrală PCI sau VLB către placa de
interfață; toate unitățile (E)IDE au în
continuare numai o conexiune pe 16 biți pe cablul de
panglică de la placa de interfață.
- -C
- Verifică starea curentă a modului de alimentare IDE, care va
fi întotdeauna una dintre următoarele: unknown
(unitatea nu acceptă această comandă),
active/idle (funcționare normală), standby
(mod de consum redus, unitatea s-a oprit) sau sleeping (mod de
consum redus, unitatea este complet oprită). Opțiunile
-S, -y, -Y, și -Z pot fi utilizate pentru a manipula
modurile de alimentare IDE.
- -d
- Obține/configurează fanionul „using_dma”
pentru această unitate. Această opțiune
funcționează acum cu majoritatea combinațiilor de
unități și interfețe PCI care acceptă
DMA și care sunt cunoscute de controlorul IDE al nucleului. De
asemenea, este o idee bună să utilizați
opțiunea corespunzătoare -X în
combinație cu -d1 pentru a vă asigura că
unitatea însăși este programată pentru modul
DMA corect, deși majoritatea BIOS-urilor ar trebui să
facă acest lucru pentru dvs. la pornire. Utilizarea DMA
oferă aproape întotdeauna cea mai bună
performanță, cu un debit de In/Ieș rapid și o
utilizare redusă a CPU. Cu toate acestea, există cel
puțin câteva configurații de cipuri și
unități pentru care DMA nu face o mare
diferență sau poate chiar încetini lucrurile
(în cazul unui hardware foarte defectuos!). Rezultatul poate
varia.
- --dco-freeze
- DCO înseamnă „Device Configuration Overlay” =
suprascrierea configurației dispozitivului, o modalitate prin care
furnizorii pot dezactiva selectiv anumite caracteristici ale unei
unități. Opțiunea --dco-freeze va
îngheța/bloca configurația curentă a
unității, împiedicând astfel software-ul (sau
programele malware) să modifice orice parametri DCO
până după următoarea reinițializare la
pornire.
- --dco-identify
- Solicită și descarcă informații privind
opțiunile de configurare a unității care pot fi
dezactivate de fabricant sau de instalatorul OEM. Aceste opțiuni
arată capacitățile unității care ar
putea fi dezactivate de fabricant pentru „compatibilitate
sporită”. Atunci când sunt dezactivate, acestea sunt
altfel ascunse și nu vor fi afișate în rezultatul
identificării -I. De exemplu, producătorii de sisteme
dezactivează uneori adresarea pe 48_bit la unitățile
mari, pentru compatibilitate (și pierdere de capacitate) cu un BIOS
specific. În astfel de cazuri, --dco-identify va
arăta că unitatea este capabilă de 48_bit, dar
-I nu va arăta acest lucru și nici unitatea nu va
accepta comenzi 48_bit.
- --dco-restore
- Restabilește toate valorile implicite din fabrică și
capacitățile complete ale tuturor parametrilor,
funcțiilor și capacităților accesibile ale
unității. Această comandă va eșua
dacă DCO este înghețat/blocat sau dacă a fost
stabilită și o restricție de dimensiune maximă
-Np. Acest lucru este EXTREM DE PERICULOS și va cauza
foarte probabil pierderi masive de date. NU UTILIZAȚI
ACEASTĂ COMANDĂ.
- --direct
- Utilizați fanionul „O_DIRECT” al nucleului atunci
când efectuați un test de sincronizare -t. Aceasta
ocolește memoria cache de pagină, făcând ca
citirile să meargă direct de pe unitate în tampoanele
hdparm, folosind așa-numita In/Ieș
„brută”. În multe cazuri, acest lucru poate
produce rezultate care par mult mai rapide decât metoda
obișnuită a paginii cache, oferind o indicație mai
bună a performanței brute a dispozitivului și a
controlorului.
- --drq-hsm-error
- FOARTE PERICULOASĂ, NICI SĂ NU VĂ
GÂNDIȚI SĂ O FOLOSIȚI. Această
opțiune face ca hdparm să emită o comandă
IDENTIFY către nucleu, dar marcată incorect ca o
comandă „non-data”. Acest lucru face ca unitatea
să rămână cu linia sa DataReQust(DRQ)
„blocată” la un nivel ridicat. Acest lucru
creează confuzie în controlorii nucleului și poate
duce la prăbușirea imediată a sistemului, cu pierderi
masive de date. Această opțiune există pentru a ajuta
la testarea și fortificarea nucleului împotriva unor
disfuncționalități similare ale
unităților din lumea reală. FOARTE
PERICULOASĂ, A NU SE UTILIZA!!
- -D
- Activează/dezactivează funcția de gestionare a
defectelor pe unitate, prin care firmware-ul unității
încearcă să gestioneze automat sectoarele defecte
prin realocarea lor în sectoare „de rezervă”
rezervate de fabrică pentru acestea. Controlul acestei
funcții prin intermediul opțiunii -D nu este acceptat
pentru majoritatea unităților moderne de la ATA-4; prin
urmare, această comandă poate eșua.
- -E
- Stabilește viteza unității cd/dvd. Această
opțiune NU este necesară pentru funcționarea
obișnuită, deoarece unitatea își va schimba
singură viteza în mod automat. Dar dacă doriți
să vă jucați cu ea, trebuie doar să
furnizați un număr de viteză după
opțiune, de obicei un număr ca 2 sau 4. Totuși, acest
lucru poate fi util în unele cazuri, pentru a ușura redarea
DVD-urilor video.
- -f
- Sincronizează și golește cache-ul tampon pentru
dispozitiv la ieșire. Această operație este, de
asemenea, efectuată intern ca parte a opțiunilor de
temporizare -t și -T și a altor
opțiuni.
- --fallocate
- Această opțiune funcționează în prezent
numai pe tipurile de sisteme de fișiere ext4 și xfs. Atunci
când este utilizată, aceasta trebuie să fie singura
opțiune oferită. Aceasta necesită doi parametri:
dimensiunea dorită a fișierului în kibiocteți
(numărul de octeți împărțit la 1024),
urmată de numele rutei pentru noul fișier. Se va crea un nou
fișier cu dimensiunea specificată, dar fără a
scrie efectiv date în fișier. În mod normal,
această operație se va încheia foarte rapid și
fără a distruge dispozitivul de stocare.
- De exemplu, creează un fișier de 10 kibiocteți:
hdparm --fallocate 10 temp_file
- --fibmap
- Atunci când este utilizată, aceasta trebuie să fie
singura opțiune oferită. Aceasta necesită ca
parametru o rută a fișierului și va afișa o
listă a blocurilor extents (intervale de sectoare) ocupate de
fișierul respectiv pe disc. Numerele sectoarelor sunt date ca
numere LBA absolute, referite la sectorul 0 al dispozitivului fizic,
și nu la partiție sau la sistemul de fișiere. Aceste
informații pot fi apoi utilizate în diverse scopuri, cum ar
fi examinarea gradului de fragmentare a fișierelor mai mari sau
determinarea sectoarelor adecvate pentru a le corupe în mod
deliberat în timpul procedurilor de testare prin injectarea de
erori.
- Această opțiune utilizează noul ioctl() FIEMAP (file
extent map) atunci când este disponibil și revine la vechiul
ioctl() FIBMAP (file block map) în caz contrar.
Rețineți că FIBMAP suferă de pe urma unei
interfețe cu numere de bloc pe 32 de biți și, prin
urmare, nu funcționează dincolo de 8 To sau
16 To. FIBMAP este, de asemenea, foarte lent și nu se
descurcă bine cu blocurile extents(intervale de sectoare)
nefolosite prealocate în sistemele de fișiere ext4/xfs, cu
excepția cazului în care se efectuează o
sincronizare() înainte de utilizarea acestei opțiuni.
- --fwdownload
- Atunci când este utilizată, aceasta trebuie să fie
singura opțiune dată. Aceasta necesită o rută
de fișier imediat după opțiune, indicând de
unde ar trebui citit noul firmware al unității.
Conținutul acestui fișier va fi trimis către unitate
folosind comanda (S)ATA DOWNLOAD MICROCODE, utilizând fie
protocolul de transfer 7 (întregul fișier odată),
fie, dacă unitatea îl acceptă, protocolul de transfer
3 (descărcare segmentată). Această comandă
este EXTREM DE PERICULOASĂ și poate distruge
atât unitatea, cât și toate datele de pe aceasta.
Variantele --fwdownload-mode3 , --fwdownload-mode3-max
și --fwdownload-mode7 ale comenzii de bază
--fwdownload permit anularea detectării automate a
protocolului în favoarea forțării hdparm să
utilizeze un protocol de transfer specific, numai în scopuri de
testare.
- -F
- Golește memoria tampon a cache-ului de scriere de pe unitate (este
posibil ca unitățile mai vechi să nu poată
implementa acest lucru).
- -g
- Afișează geometria unității (cilindri, capete,
sectoare), dimensiunea (în sectoare) a dispozitivului și
decalajul inițial (în sectoare) al dispozitivului de la
începutul unității.
- -h
- Afișează informații succinte despre utilizare
(ajutor).
- -H
- Citește temperatura de la unele unități (mai ales
Hitachi). De asemenea, raportează dacă temperatura este
în intervalul condițiilor de funcționare (acest lucru
poate să nu fie fiabil). Nu determină pornirea
unității dacă este inactivă.
- -i
- Afișează informațiile de identificare pe care
controlorii nucleului (IDE, libata) le-au stocat din momentul
pornirii/configurării. Acestea pot fi diferite de
informațiile actuale care pot fi obținute direct de la
unitatea însăși cu opțiunea -I. Datele
returnate pot fi sau nu actuale, în funcție de activitatea
de la pornirea sistemului. Pentru o interpretare mai detaliată a
informațiilor de identificare, consultați AT Attachment
Interface for Disk Drives, ANSI ASC X3T9.2 working draft, revision 4a,
19 aprilie 1993, și edițiile ulterioare.
- --idle-immediate
- Emite o comandă ATA IDLE_IMMEDIATE, pentru a pune unitatea
într-o stare de consum redus. De obicei, dispozitivul
rămâne pornit.
- --idle-unload
- Emiteți o comandă ATA IDLE_IMMEDIATE_WITH_UNLOAD, pentru a
descărca sau staționa capetele și a pune unitatea
într-o stare de consum De obicei, dispozitivul rămâne
pornit.
- -I
- Solicită informații de identificare direct de la unitate,
care sunt afișate într-un format nou extins, cu mult mai
multe detalii decât cu vechea opțiune -i.
- --Iraw
<nume-rută>
- Această opțiune descarcă datele de identificare ale
unității în format binar brut în
fișierul specificat.
- --Istdin
- Aceasta este o variație specială a opțiunii
-I, care acceptă un bloc de identificare a
unității ca intrare standard în loc să
utilizeze un parametru /dev/hd*. Formatul acestui bloc trebuie să
fie exact același cu cel găsit în
„fișierele” /proc/ide/*/hd*/identify sau cu cel
produs de opțiunea --Istdout descrisă mai jos.
Această variantă este concepută pentru a fi
utilizată cu „biblioteci” colectate de
informații de identificare a unităților și
poate fi utilizată, de asemenea, pe unități ATAPI
care pot produce erori de mediu cu mecanismul standard. Atunci când
se utilizează --Istdin, acesta trebuie să fie
*unicul* parametru dat. Rețineți că unele
informații vor fi incomplete, deoarece paginile LOG ale
unității nu sunt disponibile atunci când se
utilizează --Istdin.
- --Istdout
- Această opțiune descarcă datele de identificare ale
unității în format hexazecimal la ieșirea
standard, într-un format similar cu cel din
„/proc/ide/*/identify”, și adecvat pentru utilizarea
ulterioară cu opțiunea --Istdin.
- -J
- Obține/stabilește valoarea timpului de așteptare
„idle3” al unității Western Digital (WD) Green
Drive. Acest timp de așteptare controlează cât de des
unitatea își „parchează” capetele
și intră într-o stare de consum redus de energie.
Valoarea implicită din fabrică este de opt (8) secunde, care
este o alegere foarte proastă pentru utilizarea cu Linux.
Dacă îl lăsați la valoarea implicită,
veți obține sute de mii de cicluri de
încărcare/descărcare a capetelor într-o
perioadă foarte scurtă de timp. Mecanismul
unității este evaluat doar pentru 300.000-1.000.000 de
cicluri, astfel încât lăsarea acestuia la valoarea
implicită ar putea duce la defectarea prematură,
fără a mai menționa impactul asupra
performanței al unității care trebuie să se
trezească adesea înainte de a efectua operațiile de
In/Ieș de rutină.
- WD furnizează un utilitar DOS WDIDLE3.EXE pentru modificarea
acestei opțiuni și ar trebui să utilizați
acest program în loc de hdparm, dacă este posibil.
Implementarea prin inginerie inversă în hdparm nu este la
fel de completă ca programul oficial original, chiar dacă
pare să funcționeze pe cel puțin câteva
unități. Este necesar un ciclu complet de alimentare pentru
ca orice modificare a parametrilor să aibă efect, indiferent
de programul utilizat pentru a modifica lucrurile.
- O valoare de 30 de secunde este recomandată pentru utilizarea
Linux. Valorile permise sunt de la 8 la 12 secunde și de la 30 la
300 de secunde în trepte de 30 de secunde. Specificați o
valoare de zero (0) pentru a dezactiva complet temporizatorul WD idle3 (NU
ESTE RECOMANDAT!).
- -k
- Obține/stabilește starea fanionului
"keep_settings_over_reset" *activat/dezactivat) pentru unitate.
Atunci când acest fanion este activat, unitatea va păstra
parametrii -dmu la o reinițializare software (așa cum
se face în timpul secvenței de recuperare a erorilor).
Această opțiune are valoarea implicită
dezactivată, pentru a preveni buclele de reinițializare a
unității care ar putea fi cauzate de combinații de
parametri -dmu. Prin urmare, opțiunea -k ar trebui
definită numai după ce s-a obținut încrederea
în funcționarea corectă a sistemului cu un set ales
de parametri de configurare. În practică, tot ceea ce este
de obicei necesar pentru a testa o configurație (înainte de
a utiliza -k) este să se verifice dacă unitatea poate fi
citită/scrisă și dacă nu sunt generate jurnale
de erori (mesaje ale nucleului) în acest proces
(căutați în „/var/log/messages” pe
majoritatea sistemelor).
- -K
- Activează fanionul „keep_features_over_reset” al
unității. Activarea acestuia permite unității
să păstreze parametrii pentru -APSWXZ după o
reinițializare via software (așa cum se face în
timpul secvenței de recuperare după eroare). Nu toate
unitățile acceptă această
caracteristică.
- -L
- Stabilește starea fanionului de blocare a ușii
unității (activat/dezactivat). Stabilirea acesteia la
1 va bloca mecanismul ușii unor unități de
discuri dure detașabile (de exemplu, Syquest, ZIP, Jazz...), iar
stabilirea acesteia la 0 va debloca mecanismul ușii.
În mod normal, Linux menține mecanismul de blocare a
ușii în mod automat, în funcție de utilizarea
unității (blocat ori de câte ori este montat un
sistem de fișiere). Dar la închiderea sistemului, acest
lucru poate fi o pacoste dacă partiția
rădăcină se află pe un disc detașabil,
deoarece partiția rădăcină este
lăsată montată (numai pentru citire) după
închidere. Prin urmare, utilizând această
comandă pentru a debloca ușa după ce sistemul
de fișiere rădăcină este remontat numai
în citire, se poate apoi scoate încărcătorul
de pe unitate după închidere.
- -m
- Obține/ stabilește numărul de sectoare pentru I/O cu
sectoare multiple pe unitate. O valoare de 0 dezactivează
această caracteristică. Modul cu sectoare multiple (cunoscut
și sub numele de IDE Block Mode) este o caracteristică a
celor mai moderne unități de discuri dure IDE, care permite
transferul mai multor sectoare per întrerupere In/Ieș,
în loc de un sector per întrerupere. Atunci când
această caracteristică este activată, ea reduce de
obicei cu 30-50% supraîncărcarea sistemului de operare
pentru In/Ieș pe disc. Pe multe sisteme, aceasta asigură, de
asemenea, o creștere a fluxului de date de la 5% la 50%. Cu toate
acestea, unele unități (în special cele din seria WD
Caviar) par să funcționeze mai lent cu modul multiplu
activat. Rezultatul poate varia. Majoritatea unităților
acceptă valorile minime de 2, 4, 8 sau 16 (sectoare). În
funcție de unitate, pot fi posibile și valori mai mari. O
valoare de 16 sau 32 pare optimă pe multe sisteme. Western Digital
recomandă valori mai mici de 4 sau 8 pe multe dintre
unitățile sale, din cauza memoriilor tampon minuscule (32kB)
ale unităților și a algoritmilor de memorie tampon
neoptimizați. Opțiunea -i poate fi utilizată
pentru a găsi valoarea maximă acceptată de o unitate
instalată (căutați MaxMultSect în
ieșire). Unele unități pretind că
acceptă modul multiplu, dar pierd date la anumite valori. În
circumstanțe rare, astfel de eșecuri pot duce la
corupția masivă a sistemului de fișiere.
- --make-bad-sector
- Creează în mod deliberat un sector defect (aka.
„eroare media”) pe disc. EXCEPȚIONAL DE
PERICULOASĂ. NU FOLOSIȚI ACEASTĂ OPȚIUNE!!
Aceasta poate fi utilă pentru testarea mecanismelor de recuperare
în caz de eroare a dispozitivului/RAID. Numărul sectorului
este dat ca parametru (base10) după opțiune. În
funcție de dispozitiv, hdparm va alege una dintre cele două
comenzi ATA posibile pentru coruperea sectorului. Comanda WRITE_LONG
funcționează pe majoritatea unităților, dar
numai până la limita sectorului de 28 de biți. Unele
unități foarte recente (2008) pot fi compatibile cu noua
comandă WRITE_UNCORRECTABLE_EXT, care funcționează
pentru orice sector LBA48. Dacă această comandă este
disponibilă, hdparm o va utiliza de preferință
față de WRITE_LONG. Comanda WRITE_UNCORRECTABLE_EXT
oferă posibilitatea de a alege cum ar trebui să se comporte
noul sector defect. În mod implicit, acesta va arăta ca
orice alt sector defect, iar unitatea poate dura ceva timp pentru a
încerca din nou și a eșua la citirile ulterioare ale
sectorului. Cu toate acestea, dacă o singură literă
f este atașată imediat în fața primei
cifre a parametrului numărului sectorului, atunci hdparm va emite
un WRITE_UNCORRECTABLE_EXT „marcat”, ceea ce
determină unitatea să marcheze doar sectorul ca fiind
rău (în loc să îl corupă cu
adevărat), iar citirile ulterioare ale sectorului vor eșua
imediat (nu după mai multe încercări).
Rețineți, de asemenea, că opțiunea
--repair-sector poate fi utilizată pentru a restaura (orice)
sector deteriorat atunci când nu mai este necesar, inclusiv
sectoarele care au fost cu adevărat deteriorate (unitatea le va
realoca probabil într-o zonă nouă pe suport).
- -M
- Obține/configurează opțiunea de gestionare
automată a nivelului acustic („Automatic Acoustic Management
”: AAM). Majoritatea unităților moderne de discuri
dure au capacitatea de a accelera mișcările capului pentru a
reduce zgomotul produs. Valorile posibile sunt cuprinse între 0
și 254. 128 este valoarea cea mai silențioasă
(și, prin urmare, cea mai lentă), iar 254 este cea mai
rapidă (și cea mai zgomotoasă). Unele
unități au doar două niveluri (silențios /
rapid), în timp ce altele pot avea niveluri diferite între
128 și 254. În prezent, majoritatea unităților
acceptă doar 3 opțiuni: oprit, silențios și
rapid. În prezent, acestora le-au fost atribuite valorile 0, 128
și, respectiv, 254, dar a fost încorporat un spațiu
întreg pentru extinderea viitoare, în cazul în care
acest lucru se schimbă.
- -n
- Obține sau activează fanionul
„ignore_write_errors” în controlor. NU vă
jucați cu acest lucru fără să
înțelegeți mai întâi codul sursă
al controlorului.
- -N
- Obține/stabilește numărul maxim vizibil de sectoare,
cunoscut și ca configurarea Host Protected Area.
Fără un parametru, -N afișează valoarea
curentă, care este raportată ca două valori: prima
oferă valoarea curentă a configurării
numărului maxim de sectoare, iar a doua arată limita
hardware nativă (reală) pentru disc. Diferența dintre
aceste două valori indică numărul de sectoare ale
discului care sunt în prezent ascunse de sistemul de operare, sub
forma unei zone Host Protected Area (HPA). Această
zonă este adesea utilizată de fabricanții de
calculatoare pentru a stoca software de diagnosticare și/sau o
copie a sistemului de operare furnizat inițial în scopuri de
recuperare. O altă utilizare posibilă este de a ascunde
capacitatea reală a unui disc foarte mare de un BIOS/sistem care,
în mod normal, nu poate face față
unităților de această dimensiune (de exemplu,
majoritatea sistemelor actuale {2010} BIOS-urile nu pot gestiona
unități mai mari de 2To, astfel încât un HPA
ar putea fi utilizat pentru a face ca o unitate de 3To să se
raporteze ca o unitate de 2To). Pentru a schimba valoarea maximă
actuală (FOARTE PERICULOS, PIERDEREA DATELOR ESTE EXTREM DE
PROBABILĂ), trebuie furnizată o nouă valoare
(în baza 10) imediat după opțiunea -N.
Această valoare este specificată ca număr de
sectoare, și nu ca „adresa sectorului maxim” al
unității. Unitățile au conceptul unei
configurări temporare (volatile) care se pierde la
următoarea reinițializare hardware, precum și o
valoare mai permanentă (non-volatile) care
supraviețuiește reinițierilor și ciclurilor de
alimentare. În mod implicit, -N afectează numai
configurarea temporară (volatilă). Pentru a modifica
valoarea permanentă (nevolatilă), adăugați un
caracter p imediat înaintea primei cifre a valorii. Se
presupune că unitățile trebuie să
permită doar o singură modificare permanentă pe
sesiune. Este necesară o repornire hardware (sau un ciclu de
alimentare) înainte ca o altă operație
permanentă -N să poată avea succes.
Rețineți că orice încercare de a stabili
această valoare poate eșua dacă discul este accesat
de alt software în același timp. Acest lucru se
datorează faptului că stabilirea valorii necesită o
pereche de comenzi de unitate spate în spate, dar nu există
nicio modalitate de a împiedica inserarea unei alte comenzi
între ele de către nucleu. Deci, dacă nu
reușește inițial, încercați din nou.
Suportul nucleului pentru -N este eronat pentru multe tipuri de
adaptoare în multe versiuni de nucleu, în sensul că
uneori este raportată o valoare incorectă (prea mică)
a dimensiunii maxime. Începând cu nucleul 2.6.27, acest
lucru pare să funcționeze în cele din urmă pe
majoritatea hardware-urilor.
- --offset
- Decalaje la un număr dat de Gio (1024*1024*1024) atunci când
se efectuează temporizări -t ale citirilor
dispozitivului. Viteza se modifică (de aproximativ două ori)
de-a lungul multor unități mecanice. De obicei, maximul este
la început, dar nu întotdeauna. Unitățile cu
stare solidă (SSD) ar trebui să prezinte temporizări
similare, indiferent de decalaj.
- -p
- Încearcă să reprogrameze cipul interfeței IDE
pentru modul PIO specificat sau încearcă să ajusteze
automat pentru „cel mai bun” mod PIO acceptat de unitate.
Această caracteristică este acceptată în
nucleu doar pentru câteva cipuri „cunoscute”,
și chiar și atunci suportul este cel puțin
îndoielnic. Unele cipuri IDE nu sunt capabile să modifice
modul PIO pentru o singură unitate, caz în care
această opțiune poate determina configurarea modului PIO
pentru ambele unități. Multe cipuri IDE
acceptă fie mai puține, fie mai multe decât cele
șase moduri PIO standard (de la 0 la 5), astfel încât
stabilirea exactă a vitezei care este de fapt implementată
va varia în funcție de sofisticarea cipului/controlorului.
Utilizați cu prudență extremă!
Această caracteristică nu include nicio protecție
pentru cei neatenți, iar un rezultat nereușit poate duce la
corupția gravă a sistemului de fișiere!
- -P
- Stabilește numărul maxim de sectoare pentru mecanismul
intern de pre-citire al unității. Nu toate
unitățile sunt compatibile cu această
caracteristică, iar aceasta a fost eliminată din
specificațiile oficiale începând cu ATA-4.
- --prefer-ata12
- Atunci când utilizează protocolul SAT (SCSI ATA
Translation), hdparm preferă în mod normal să
utilizeze formatul de comandă de 16 octeți ori de
câte ori este posibil. Cu toate acestea, unele carcase de
unități USB nu funcționează corect cu comenzi
de 16 octeți. Această opțiune poate fi
utilizată pentru a forța utilizarea formatului de
comandă mai mic, de 12 octeți, cu astfel de
unități. hdparm va reveni în continuare la comenzile
de 16 octeți pentru lucrurile care nu pot fi realizate cu formatul
de 12 octeți (de exemplu, accesarea sectoarelor de peste 28 de
biți).
- -q
- Procesează următoarea opțiune în
liniște, suprimând ieșirea normală (dar nu
și mesajele de eroare). Acest lucru este util pentru a reduce
aglomerarea ecranului atunci când se execută din scripturile
de pornire ale sistemului. Nu se aplică opțiunilor -i
sau -v sau -t sau -T.
- -Q
- Obține sau stabilește adâncimea cozii de comenzi a
dispozitivului, dacă este acceptată de hardware. Acest lucru
funcționează numai cu nucleele 2.6.xx (sau mai recente)
și numai cu combinații de dispozitive și controlori
care acceptă modificarea queue_depth. Pentru discurile SATA,
aceasta este adâncimea cozii de comenzi native („Native
Command Queuing”: NCQ).
- -r
- Obține/activează fanionul de numai-citire pentru dispozitiv.
Atunci când este activat, Linux nu permite operațiile de
scriere pe dispozitiv.
- -R
- Obține starea/activează funcția Write-Read-Verify,
dacă unitatea o acceptă. Utilizare: -R0 (dezactivare)
sau -R1 (activare). Această funcție este
destinată citirii automate de către firmware-ul
unității a oricăror date care sunt scrise prin
software, pentru a verifica dacă datele au fost scrise cu succes.
În general, acest lucru este exagerat și poate
încetini scrierile pe disc cu un factor de până la
două ori (sau mai mult).
- --read-sector
- Citește din numărul de sector specificat și
descarcă conținutul în hexazecimal la ieșirea
standard. Numărul sectorului trebuie indicat (baza 10) după
această opțiune. hdparm va efectua o citire de nivel
scăzut (ocolind complet mecanismele obișnuite de
citire/scriere din stratul de bloc) pentru sectorul specificat. Acest
lucru poate fi utilizat pentru a verifica în mod definitiv
dacă un anumit sector este defect (eroare de suport) sau nu
(procedând astfel prin mecanismele obișnuite se pot
obține uneori rezultate fals pozitive).
- --repair-sector
- Acesta este un alias pentru opțiunea --write-sector. FOARTE
PERICULOASĂ.
- -s
- Activează/dezactivează funcția de pornire în
modul de așteptare, dacă este acceptată de unitate.
FOARTE PERICULOS. Nu utilizați decât dacă
sunteți absolut sigur că atât BIOS-ul (sau
firmware-ul) sistemului, cât și nucleul sistemului de
operare (Linux >= 2.6.22) acceptă sondarea pentru
unitățile care utilizează această
caracteristică. Atunci când este activată, unitatea
este alimentată în modul standby pentru a permite
controlorului să secvențieze pornirea dispozitivelor,
reducând sarcina consumului instantaneu de curent atunci
când mai multe unități împart o sursă
de alimentare. Utilizat în principal în configurații
RAID mari. Această caracteristică este de obicei
dezactivată și unitatea este alimentată în
modul active (a se vedea opțiunea „-C” de mai
sus). Rețineți că o unitate poate permite, de
asemenea, activarea acestei funcții prin intermediul unui
„jumper” (ștrap). Unele unități SATA
acceptă controlul acestei funcții prin pinul 11 al
conectorului de alimentare SATA. În aceste cazuri, această
comandă poate să nu fie acceptată sau poate să
nu aibă niciun efect.
- -S
- Pune unitatea în modul inactiv (cu consum redus de energie)
și, de asemenea, stabilește timpul de așteptare
(„spindown”, reducerea vitezei de rotire a discului) pentru
unitate. Această valoare a timpului de așteptare este
utilizată de unitate pentru a determina cât timp să
aștepte (fără activitate pe disc) înainte de a
opri motorul fusului discului pentru a economisi energie. În astfel
de circumstanțe, unitatea poate dura până la 30 de
secunde pentru a răspunde la o accesare ulterioară a
discului, deși majoritatea unităților sunt mult mai
rapide. Codificarea valorii timpului de așteptare este oarecum
ciudată. O valoare de zero înseamnă „timpii de
așteptare sunt dezactivați”: dispozitivul nu va intra
automat în modul de așteptare. Valorile de la 1 la 240
specifică multipli de 5 secunde, rezultând timpi de
așteptare de la 5 secunde la 20 de minute. Valorile de la 241 la
251 specifică de la 1 la 11 unități de 30 de minute,
rezultând timpi de așteptare de la 30 de minute la 5,5 ore.
O valoare de 252 înseamnă un timp de așteptare de 21
de minute. O valoare de 253 stabilește o perioadă de timp de
așteptare definită de fabricant între 8 și 12
ore, iar valoarea 254 este rezervată. 255 este interpretată
ca 21 de minute plus 15 secunde. Rețineți că unele
unități mai vechi pot avea interpretări foarte
diferite ale acestor valori.
- --set-sector-size
- Pentru unitățile care acceptă reconfigurarea
dimensiunii logice a sectorului, această opțiune poate fi
utilizată pentru a specifica noua dimensiune dorită a
sectorului în octeți. FOARTE PERICULOS; acest lucru, cel
mai probabil, va distruge toate datele de pe unitate. Dimensiunea
specificată trebuie să fie una dintre 512, 520, 528, 4096,
4160 sau 4224. Foarte puține unități acceptă
alte valori decât 512 și 4096. De exemplu, hdparm
--set-sector-size 4096 /dev/sdb
- -t
- Efectuează cronometrări ale citirilor dispozitivului
în scopuri de referință și de
comparație. Pentru rezultate semnificative, această
operație trebuie repetată de 2-3 ori pe un sistem inactiv
(fără alte procese active) cu cel puțin
câțiva megaocteți de memorie liberă. Aceasta
afișează viteza de citire prin memoria tampon cache
către disc, fără nicio memorare prealabilă a
datelor în cache. Această măsurătoare este o
indicație a vitezei cu care unitatea poate susține citirea
secvențială a datelor sub Linux, fără niciun
fel de supraîncărcare a sistemului de fișiere. Pentru
a asigura măsurători precise, memoria cache este
golită în timpul procesării -t cu ajutorul
ioctl BLKFLSBUF.
- -T
- Efectuează cronometrări ale citirilor din cache în
scopuri de referință și de comparație Pentru
rezultate semnificative, această operație ar trebui
repetată de 2-3 ori pe un sistem inactiv (fără alte
procese active) cu cel puțin câțiva megaocteți
de memorie liberă. Aceasta afișează viteza de citire
direct din memoria cache Linux fără acces la disc.
Această măsurătoare este, în
esență, o indicație a vitezei de transfer a
procesorului, a cache-ului și a memoriei sistemului testat.
- --trim-sector-ranges
- Pentru unitățile de discuri solide („Solid State
Drives”: SSD). EXCEPȚIONAL DE PERICULOASĂ. NU
UTILIZAȚI ACEASTĂ OPȚIUNE!! Îi
indică firmware-ului unității să elimine
sectoarele de date inutile, distrugând orice date care ar fi putut
fi prezente în interiorul acestora. Acest lucru face ca sectoarele
respective să fie disponibile pentru utilizare imediată de
către mecanismul de colectare a gunoiului al firmware-ului, pentru
a îmbunătăți programarea pentru nivelarea la
uzură a suportului flash. Această opțiune
așteaptă una sau mai multe perechi de sectoare imediat
după opțiune: o adresă de pornire LBA, două
puncte și un număr de sectoare (max. 65535),
fără spații intermediare. EXCEPȚIONAL DE
PERICULOASĂ. NU UTILIZAȚI ACEASTĂ
OPȚIUNE!!
- De exemplu: hdparm --trim-sector-ranges 1000:4 7894:16
/dev/sdz
- --trim-sector-ranges-stdin
- Identică cu --trim-sector-ranges de mai sus, cu
excepția faptului că lista de perechi lba:count este
citită de la intrarea standard în loc să fie
specificată în linia de comandă. Acest lucru poate fi
utilizat pentru a evita problemele cu liniile de comandă excesiv de
lungi. De asemenea, permite gruparea mai multor intervale de sectoare
în comenzi unice către unitate, până la limita
de transfer configurată în prezent (max_sectors_kb).
- -u
- Obține/stabilește starea fanionului
„interrupt-unmask” pentru unitate. O valoare de 1
permite controlorului să efectueze «ųnmask»
asupra altor întreruperi în timpul procesării unei
întreruperi de disc, ceea ce
îmbunătățește considerabil capacitatea
de reacție a Linux și elimină erorile de
„depășire a portului serial”.
Utilizați această caracteristică cu
precauție: unele combinații unitate/controlor nu
tolerează latențele I/O crescute posibile atunci când
această caracteristică este activată, ducând
la corupția masivă a sistemului de fișiere.
În special, interfețele CMD-640B și
RZ1000 (E)IDE pot fi nefiabile (din cauza unui defect
hardware) atunci când această opțiune este
utilizată cu versiuni de nucleu mai vechi de 2.0.13. Dezactivarea
caracteristicii IDE prefetch a acestor interfețe (de obicei
o opțiune BIOS/CMOS) oferă o rezolvare sigură a
problemei pentru utilizarea cu nuclee mai vechi.
- -v
- Afișează unele valori bazice ale parametrilor, similar cu
„-acdgkmur” pentru IDE. Acesta este și comportamentul
implicit atunci când nu sunt specificate opțiuni.
- -V
- Afișează versiunea programului și iese imediat.
- --verbose
- Afișează diagnostice suplimentare de la unele comenzi.
- -w
- Efectuează o repornire a dispozitivului
(PERICULOASĂ). NU utilizați această
opțiune. Aceasta există pentru situații puțin
probabile în care ar putea fi necesară o repornire pentru a
readuce o unitate cu probleme într-o stare utilizabilă.
- --write-sector
- Scrie zerouri la numărul de sector specificat. FOARTE PERICULOS.
Numărul sectorului trebuie indicat (bază 10) după
această opțiune. «hdparm» va efectua o scriere
la nivel scăzut (ocolind complet mecanismele obișnuite de
citire/scriere la nivel de bloc) în sectorul specificat.
Această opțiune poate fi utilizată pentru a
forța o unitate să repare un sector defect (eroare de
mediu).
- -W
- Obține starea/activează caracteristica de stocare în
memoria cache a unității IDE/SATA.
- -X
- Stabilește modul de transfer IDE pentru unități
(E)IDE/ATA. Aceasta se utilizează de obicei în
combinație cu -d1 atunci când se activează DMA
către/de la o unitate pe un cip de interfață
acceptat, unde -X mdma2 se utilizează pentru a selecta
transferurile DMA multiword modul 2 și -X sdma1 se
utilizează pentru a selecta transferurile DMA simple mod 1.
În cazul sistemelor care acceptă timpi de rafală
UltraDMA, -X udma2 este utilizat pentru a selecta transferurile
UltraDMA în modul 2 (va trebui să pregătiți
în prealabil cipul pentru UltraDMA). În afară de
aceasta, utilizarea acestei opțiuni este foarte rar
necesară, deoarece majoritatea/toate unitățile
IDE moderne aleg implicit cel mai rapid mod de transfer PIO la pornire.
Modificarea acestei opțiuni poate fi atât inutilă,
cât și riscantă. Înainte de a schimba modul de
transfer, interfața IDE trebuie să fie
„ștrapată” (utilizând pinii
dedicați acestui scop, ase vedea manualul de utilizare) sau
programată (a se vedea opțiunea -p) pentru noua
configurație de mod pentru a preveni pierderea și/sau
coruperea datelor. Pentru modurile de transfer PIO (Programmed
Input/Output) utilizate de Linux, această valoare este pur
și simplu numărul modului PIO dorit plus 8. Astfel, o
valoare de 09 stabilește modul PIO 1, 10 activează modul PIO
2, iar 11 selectează modul PIO 3. Valoarea 00 restabilește
modul PIO „implicit” al unității, iar 01
dezactivează IORDY. Pentru DMA multiword, valoarea utilizată
este numărul modului DMA dorit plus 32. Pentru UltraDMA, valoarea
este numărul modului UltraDMA dorit plus 64.
- -y
- Forțează o unitate IDE să intre imediat în
modul de consum redus de energie standby, de obicei
determinând-o să se rotească încet. Starea
actuală a modului de alimentare poate fi verificată
utilizând opțiunea -C.
- -Y
- Forțează o unitate IDE să intre imediat în
modul sleep cu cel mai mic consum de energie, determinând
oprirea completă a acesteia. Este necesară o repornire
hardware sau software înainte ca unitatea să poată fi
accesată din nou (contolorul IDE Linux se va ocupa în mod
automat de emiterea unei reporniri dacă/când este necesar).
Starea actuală a modului de alimentare poate fi verificată
utilizând opțiunea -C.
- -z
- Forțează o recitire de către nucleu a tabelului de
partiții al dispozitivului (dispozitivelor) specificat(e).
- -Z
- Dezactivează funcția automată de economisire a
energiei a anumitor unități Seagate (modele ST3xxx?), pentru
a le împiedica să fie inactive/să nu se
rotească în momente nepotrivite.
Aceste opțiuni sunt PERICULOASE pentru experimente
și ar putea să nu funcționeze cu unele nuclee.
UTILIZAȚI-LE PE PROPRIUL DVS. RISC.
- --security-help
- Afișează informații succinte de utilizare pentru
toate opțiunile „--security-*”.
- --security-freeze
- Îngheață parametrii de securitate ai
unității. Unitatea nu acceptă nicio comandă de
securitate până la următoarea reinițializare
la pornire. Utilizați această funcție în
combinație cu opțiunea „--security-unlock”
pentru a proteja unitatea de orice încercare de a configura o
parolă nouă. Poate fi utilizată și
independent. Nu sunt permise alte opțiuni în linia de
comandă împreună cu aceasta.
- --security-prompt-for-password
- Solicită PWD-ul „--security” în loc să
îl obțină din argumentele liniei de comandă.
Acest lucru evită apariția parolelor în istoricul
shell-ului sau în „/proc/self/cmdline” în
timpul execuției.
- --security-unlock
PWD
- Deblochează unitatea, folosind parola PWD. Parola este dată
ca un șir ASCII și este completată cu NUL-uri pentru
a ajunge la 32 de octeți. Parola aplicabilă
unității este selectată cu opțiunea
„--user-master” (parola implicită este
„user”). Nu sunt permise alte opțiuni în linia
de comandă împreună cu aceasta.
- --security-set-pass
PWD
- Blochează unitatea, folosind parola PWD (Set Password)
(PERICULOS). Parola este dată ca un șir ASCII
și este completată cu NUL-uri pentru a ajunge la 32 de
octeți. Utilizați parola specială NULL pentru
a defini o parolă goală. Parola aplicabilă a
unității este selectată cu ajutorul opțiunii
„--user-master” (parola implicită este
„user”) și modul de securitate aplicabil cu ajutorul
opțiunii „--security-mode”. Nu sunt permise alte
opțiuni în linia de comandă cu aceasta.
- --security-disable
PWD
- Dezactivează blocarea unității, utilizând
parola PWD. Parola este dată ca un șir ASCII și este
completată cu NUL-uri pentru a ajunge la 32 de octeți.
Parola aplicabilă unității este selectată cu
opțiunea „--user-master” (parola implicită
este „user”). Nu sunt permise alte opțiuni în
linia de comandă împreună cu aceasta.
- --security-erase
PWD
- Șterge unitatea (blocată), folosind parola PWD
(PERICULOS). Parola este dată ca un șir ASCII
și este completată cu NUL pentru a ajunge la 32 de
octeți. Utilizați parola specială NULL pentru
a reprezenta o parolă goală. Parola aplicabilă
unității este selectată cu ajutorul opțiunii
„--user-master” (parola implicită este
„user”). Nu sunt permise alte opțiuni în linia
de comandă cu aceasta.
- --security-erase-enhanced
PWD
- Ștergere îmbunătățită
(blocată) a unității, utilizând parola PWD
(PERICULOS). Parola este dată sub formă de șir
ASCII și este completată cu NUL-uri pentru a ajunge la 32 de
octeți. Parola aplicabilă unității este
selectată cu opțiunea „--user-master” (parola
implicită este „user”). Nu sunt permise alte
opțiuni în linia de comandă împreună cu
aceasta.
- --user-master
UTILIZATOR
- Specifică parola (utilizator/maestru) care trebuie
selectată. Implicit parola utilizatorului. Utilă
numai în combinație cu „--security-unlock”,
„--security-set-pass”, „--security-disable,
--security-erase” sau „--security-erase-enhanced”.
u parola utilizatorului
m parola maestrului
- --security-mode
MOD
- Specifică modul de securitate (ridicat/maxim) care urmează
să fie stabilit. În mod implicit la ridicat.
Utilă numai în combinație cu opțiunea
„--security-set-pass”.
h securitate ridicată
m securitate maximă
ACEASTĂ CARACTERISTICĂ ESTE
EXPERIMENTALĂ ȘI NU ESTE SUFICIENT DE BINE TESTATĂ.
UTILIZAȚI-O PE PROPRIUL DVS. RISC.
După cum s-a menționat mai sus, opțiunile
-m sectcount și -u 1 trebuie utilizate cu
precauție la început, de preferință pe un sistem
de fișiere numai-pentru-citire. Majoritatea unităților
funcționează bine cu aceste caracteristici, dar câteva
combinații unitate/controlor nu sunt 100% compatibile. Se poate
produce coruperea sistemului de fișiere. Faceți o copie de
rezervă înainte de a experimenta!
Unele opțiuni (de exemplu, „-r” pentru SCSI)
pot să nu funcționeze cu nucleele vechi, deoarece
ioctl()-urile necesare nu erau acceptate.
Deși acest instrument este destinat în principal
utilizării cu dispozitive de discuri dure SATA/IDE, câteva
dintre opțiuni sunt valabile (și permise) și pentru
utilizarea cu dispozitive de discuri dure SCSI și discuri dure
MFM/RLL cu interfețe XT.
Nucleul Linux până la versiunea 2.6.12 (și
probabil mai târziu) nu gestionează comenzile de securitate de
deblocare și dezactivare cu ușurință și
va eșua și, în unele cazuri, chiar va intra în
panică. Cu toate acestea, este posibil ca comenzile de securitate
să fi fost într-adevăr executate de unitate. Acest
comportament deficitar al nucleului face ca comenzile de securitate a
datelor PIO să fie destul de inutile în acest moment.
Rețineți că comenzile „security
erase” și „security disable” au fost
implementate ca două comenzi de date PIO consecutive și nu vor
reuși pe o unitate blocată deoarece a doua comandă nu
va fi emisă după „segfault”. Consultați
codul pentru a afla cum să îl modificați pentru a ocoli
această problemă. În ciuda eșecului de
segmentare, de multe ori este încă posibil să
executați două instanțe ale hdparm consecutiv și
să emiteți astfel cele două comenzi necesare.
hdparm a fost scris de Mark Lord <mlord@pobox.com>,
dezvoltatorul principal inițial și cel care menține
controlorul (E)IDE pentru Linux, și contribuitor actual la
subsistemul libata, împreună cu sugestii și
plasturi(corecții) de la mulți utilizatori ai
rețelei.
Codul de dezactivare a sistemului Seagate de economisire
automată a energiei este oferit prin amabilitatea lui Tomi
Leppikangas(tomilepp@paju.oulu.fi).
Comanda de înghețare a securității de
către Benjamin Benz, 2005.
Comenzile de securitate pentru obținerea datelor PIO de
Leonard den Ottolander, 2005. Alte părți de Benjamin Benz
și alții.
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.
Traducerea în limba română a acestui manual a
fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită;
citiți
Licența
publică generală GNU Versiunea 3 sau o versiune
ulterioară cu privire la condiții privind drepturile de autor.
NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea
acestui manual, vă rugăm să trimiteți un e-mail
la
translation-team-ro@lists.sourceforge.net.