[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RiminiLUG-General] Partizioni con warning



bella castronata:
il chs è 8 bit head + 6 bit sector + (2+8) bit cilinder
scusate la svista

Il giorno 22 gennaio 2012 12:23, nirvana1289 <nirvana1289@xxxxxxxxx> ha scritto:
> Vado a memoria, quindi spero di non dire eresie:
> la tabella delle 4 partizioni primarie (compresa l'eventuale estesa) è
> scritta nel MBR, quindi nei primi byte del disco. Di fatto una estesa
> è una delle 4 primarie (/dev/sda1 - /dev/sda4).
> Poi se non ricordo male le informazioni delle unità logiche sono
> scritte dentro alla partizione estesa. Però non ricordo se tutte in un
> posto o ditribuite tra le unità logiche

Uhm... lei mi ha spinto a fare uno strano ragionamento, ma non vorrendo dire una eresia neanche io,  prendiamo questa risposta con molta calma. Nell'MBR a cui fa riferimento ci sono 64B che descrive la MBT di tutte le partizioni primarie e logiche (quindi dimensioni e posizioni fisiche, o CHS e flag avviabile). La tabella delle partizioni estese si trova invece "all'inizio" (primo settore) delle partizioni logiche, nell'EBR. Nell'EBR si specifica anche quante di quelle partizioni logiche fanno parte della estesa,, mediante un sistema di puntatori a partizioni logiche successive (in pratica l'EBR di una partizione logica che fa parte di una estesa descrive la partizione logica e un puntatore alla partizione logica successiva che fa parte della estesa)

Per chiarire meglio, l'MBR è fatto così
[0000] MBP (Master Boot Program)  = 440 bytes
[01B8] Firma del produttore del disco = 2 bytes
[01BC] Nullo = 2 bytes
[01BE] MBT (Master boot table) = 64 bytes
[01FE] Magic number dell'MBR (55AAh) = (2 bytes)

in totale:
440+4+2+64+2=512 bytes

Una entry della MBT è di 16 bytes (16x4= 64 bytes) per questo possono esistere solo quattro partizioni sul disco avviabili. Ogni entry è così:

[00] - 1 bytes - status (avviabile=0x80; non_avviabile=0x00;invalida=altro_valore)
[01] - 3 bytes - Indirizzo CHS del 1° settore della partizione (suddiviso in 7bit head, 5bit sector, 2+7bit cilinder -> = 3bytes)
[04] - 1 bytes - tipo di partizione (NTFS=0x07, Partizioni_Linux=0x83)
[05] - 3 bytes - indirizzo CHS dell'ultimo settore nella partizione
[08] - 4 bytes - Indice LBA(X =4byte) del primo settore della partizione (è un indirizzamento simile a CHS, si può ottenere uno dall'altro con un paio di semplici operazioni)
[12] - 4 bytes - Numero di settori nella partizione, necessario per LBA

Nell'EBR, che di struttura è uguale all'MBR, ma non nei dati contenuti, troviamo invece:

[0000] Nullo  = 440 bytes
[01B8] Nullo = 2 bytes
[01BC] Nullo = 2 bytes
[01BE] Tabella delle partizioni logiche che fanno parte della estesa, possono essere 2 voci da 16 bytes, la terza e la quarta e sempre nulle, sono uguali alle entry della MBT =(16+16) bytes + 32 bytes di zeros = 64 bytes
[01FE] Magic number dell'EBR(55AAh) = 2 bytes

In realtà la tabella l'EBR varia in funzione del programma che l'ha creata... Infatti i tool forniti (sia quelli ms-dos, che windows che Linux - per l'ultimo si usa la lattera maiuscola, per gli altri no) non istanziano la dimensione LBA della partizione (valore che fa da puntatore all'EBR della partizione successiva) aspettandosi invece solamente di incrementare questo valore di +1 in fase di avvio.

IPOTESI
Questo particolare potrebbe essere la causa del warning. Il sistema di partizionamento sa che un ridimensionamento come è stato fatto potrebbe portare ad un mancato indirizzamento diretto all'EBR della partizione logica successiva, ma credo che i sistemi, comunque, "cerchino" nel disco la partizione, essendoci altri riferimenti a lei, ma che questa ricerca porti alle gravi inefficienze avvisate.

Ma, ripeto, prendiamo tutto quello che ho scritto con le molle....
 
Il giorno 22 gennaio 2012 00:31, Ivan Tarozzi <ivan@xxxxxxxxxxxx> ha scritto:

Il 21 gennaio 2012 17:08, Andrea Urbinati <andyurbi@xxxxxxxxxxxx> ha scritto:
> nirvana1289 ha scritto:
>
>> L'unica differenza tra una estesa e una primaria è che laprima è formata
>> da un insieme
>> di partizioni logiche.
>
>
> Quindi se accade qualcosa alla partizione estesa comprometto *tutte* le
> logiche?

Si. Però se accade qualcosa (che cosa?) vuol dire che il disco è
andato a pallino o hai in qualche modo compromesso la tabella delle
partizioni. Non confondere la partizione con il file system in essa
contenuto.

> In pratica i dati, di qualsiasi tipo di partizione, dove sono scritti? Tutte
> all'inizio del disco? Ognuna per se stessa?
>

Vado a memoria, quindi spero di non dire eresie:
la tabella delle 4 partizioni primarie (compresa l'eventuale estesa) è
scritta nel MBR, quindi nei primi byte del disco. Di fatto una estesa
è una delle 4 primarie (/dev/sda1 - /dev/sda4).
Poi se non ricordo male le informazioni delle unità logiche sono
scritte dentro alla partizione estesa. Però non ricordo se tutte in un
posto o ditribuite tra le unità logiche

Ivan




--
distinti saluti,
 
------------
Matteo Ragni
------------

<aka: nirvana1289> # reply to : nirvana1289@xxxxxxxx



--
distinti saluti,
 
------------
Matteo Ragni
------------

<aka: nirvana1289> # reply to : nirvana1289@xxxxxxxx