IT  UK - CD E DVD LINUX + IMBALLAGGIO + SPEDIZIONE = 0 (zero) EURO
clicca qui per tornare su www.tuttosulinux.com
- tutto su Linux e sul software libero -

inserisci qui le parole da cercare nel sito


powered by FreeFind

LINUX HOWTO IN ITALIANO
Avanti Indietro Indice

9. Conclusioni

Cosa significa tutto ciò? Per gli utenti Linux una sola cosa: che devono verificare che LILO e fdisk utilizzino la geometria corretta. Per fdisk la geometria `corretta' è quella utilizzata dagli altri sistemi operativi installati sullo stesso disco mentre per LILO è quella che permette un'interazione senza errori con il BIOS in fase di inizializzazione (di solito i due aspetti coincidono).

Come rileva la geometria fdisk? Interroga il kernel, utilizzando la funzione ioctl.h HDIO_GETGEO. L'utente è tuttavia in grado di forzare la geometria in modo interattivo o da linea di comando.

Come rileva la geometria LILO? Interroga il kernel utilizzando la ioctl HDIO_GETGEO. Tuttavia l'utente può forzare la geometria utilizzando l'opzione `disk=' nel file /etc/lilo.conf (cfr lilo.conf(5)). È possibile fornire a LILO l'opzione linear in modo da memorizzare nella mappa dei file i valori della LBA invece dei CHS e recupererà la geometria da utilizzare in fase di avvio mediante la funzione 8 dell'INT 13 per richiedere la geometria del disco.

Com'è in grado di rispondere il kernel? Bene, prima di tutto, l'utente può aver specificato una geometria esplicita fornendo le opzioni `hda=cyls,heads,secs' al kernel da riga di comando (cfr. bootparam(7)), probabilmtente di persona od indicando al "boot loader" di fornire tali valori al kernel. Per esempio, si può indicare a LILO di fornire tali informazioni opzionali aggiungendo una riga del tipo `append = "hda=cyls,heads,secs"' in /etc/lilo.conf (cfr. lilo.conf(5)). D'altrocanto il kernel è in grado di congetturare una geometria utilizzando possibilmente i valori ottenuti dal BIOS o dai dispositivi hardware.

È possibile (a partire dalla versione 2.1.79) cambiare i valori della geometria congetturata dal kernel utilizzando il filesystem /proc. Per esempio:

# sfdisk -g /dev/hdc
/dev/hdc: 4441 cylinders, 255 heads, 63 sectors/track
# cd /proc/ide/ide1/hdc
# echo bios_cyl:17418 bios_head:128 bios_sect:32 > settings
# sfdisk -g /dev/hdc
/dev/hdc: 17418 cylinders, 128 heads, 32 sectors/track
#

9.1 Calcolo dei parametri di LILO

Qualche volta è utile impostare una precisa geometria da riga di comando: `hda=cyls,heads,secs'. Quasi sempre si vuole un valore di secs=63, lo scopo di fornire tale valore è quello di specificare il valore heads (valori ragionevoli in questo periodo sono heads=16 e heads=255). Quali valori si potrebbero specificare per cyls? Quei valori che forniranno la capacità totale corretta di C*H*S settori. Per esempio, per un drive con 71346240 settori (36529274880 byte) si potrebbe calcolare C come 71346240/(255*63)=4441 (usando, e.g., il programma bc) e fornire quindi come parametri di avvio: hdc=4441,255,63. Come si può stabilire la capacità totale corretta? Per esempio:

# hdparm -g /dev/hdc | grep sectors
 geometry     = 4441/255/63, sectors = 71346240, start = 0
# hdparm -i /dev/hdc | grep LBAsects
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=71346240
indica due modi per stabilire il numero totale si settori pari a 71346240. I messaggi del kernel:
# dmesg | grep hdc
...
hdc: Maxtor 93652U8, 34837MB w/2048kB Cache, CHS=70780/16/63
 hdc: [PTBL] [4441/255/63] hdc1 hdc2 hdc3! hdc4 < hdc5 > ...
riportano (perlomeno) 34837*2048=71346176 settori e 70780*16*63=71346240 settori (almeno). In questo caso il secondo valore è quello corretto ma in generale entrambi sono arrotondati per difetto. Questo è un buon modo per definire in maniera approssimata le dimensioni del disco quando hdparm non è disponibile. Non assegnate mai a cyls un valore troppo grande! Nel caso di dischi SCSI il numero preciso dei settori è indicato dai messaggi forniti dal kernel all'avvio:
SCSI device sda: hdwr sector= 512 bytes. Sectors= 17755792 [8669 MB] [8.7 GB]
(MB e GB sono arrotondati, non per difetto, e in `notazione binaria').


Avanti Indietro Indice
 
 
[ home | appunti | recensioni | links | chat | forum | contattaci | cerca nel web ]

Sito segnalato da Yahoo!

clicca qui per tornare su www.tuttosulinux.com
- tutto su Linux e sul software libero -
- © 2001- www.tuttosulinux.com tutti i diritti riservati - webmaster@tuttosulinux.com -