Newsgroup: it.comp.os.dos
Titolo: Proposta di [FAQ]: Partizionando, partizionando...

   Un saluto a tutti.
   Vedo che ultimamente ci sono parecchi post riguardanti problemi inerenti
le partizioni, l'installazione di vari Sistemi Operativi, etc. Dal tenore
delle domande, mi pare di aver capito che molti approdano al DOS provenendo
da Windows 95 e/o 98, e che sono quindi digiuni di alcune nozioni meramente
"tecniche" che chi mastica DOS sin dai... primordi? ;) possiede. Windows 9x
non richiede (per un utilizzo "normale") nessuna conoscenza "di base", il
DOS e Win fino al 3.x - purtroppo o per fortuna? - si`...
   E` da un po' di tempo che pensavo ad una FAQ che affrontasse queste
problematiche. Questo e` un mio modesto contributo, in forma di primo
abbozzo. Vorrei sapere se la cosa puo` essere utile, e, se si`, vi
chiederei di correggerla e/o di ampliarla.
   Mi rendo conto che per molti di voi alcune cose possono essere di una
banalita` sconcertante, ma ho sempre pensato che una FAQ su problemi un po'
ostici e complicati debba chiarire tutti i possibili dubbi, guidando passo
per passo il neofita. E ritengo anche che un "ripasso", ogni tanto, delle
nozioni fondamentali non faccia mai male... ;)
   Ho pensato di dividere la Faq in due parti, "La sequenza di BootStrap" e
"Le Partizioni". Credo che sia difficile capire fino in fondo la seconda
senza non aver ben chiari in testa i concetti della prima. Ma posso sempre
sbagliarmi...
   Chiedo scusa in anticipo per gli svarioni, le sviste clamorose e le
omissioni.
   Correzioni, aggiunte, critiche, bacchettate sulle dita, stroncature e
quant'altro sono bene accette, anzi: benvenute. Abbiamo tutti da imparare,
io per primo... ;)))
La sequenza di BootStrap.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Una curiosita`. Il termine "bootstrap" deriva da un modo dire inglese (o
americano?) utilizzato per esprimere qualcosa di impossibile. Letteralmen-
te, potrebbe essere tradotto con "sollevarsi da terra afferrando le strin-
ghe delle proprie scarpe, e tirando con forza". Qualcosa di molto simile al
nostro "voltare la testa di scatto e mordersi l'orecchio". Analizzando come
avviene la procedura di "bootstrap", ci si rende effettivamente conto che
il DOS, da un certo punto in poi, sembra quasi che utilizzi se stesso per
"autocaricarsi"... piu` o meno... :)))
   Dunque, partiamo dall'inizio.
   "Anticamente"... ehm, diciamo fino ai 386... un qualsiasi Pc "IBM-Compa-
tible", per potersi "avviare" - per "funzionare" - aveva bisogno di almeno
una di queste due cose: o un floppy cosiddetto "bootable" o "di Sistema" -
cioe` a dire un dischetto preparato in modo da contenere almeno il "cuore"
di un sistema operativo - o di un Hard Disk preparato "almeno" come il
floppy appena descritto. Nel caso di MS-DOS, a livello pratico, occorreva
che il floppy o l'HD in questione fossero opportunamente formattati e che
contenessero "almeno" tre file: IO.SYS, MSDOS.SYS, 
COMMAND.COM
. Se la
versione dos in nostro possesso era il PC-DOS IBM, i primi due file si
chiamavano 
IBMBIO.COM
 e 
IBMDOS.COM
: cambiava il nome, ma i suonatori erano
sempre gli stessi.
   Fino ai 386 questa era la regola. Poi sono apparsi pc che nella (o nel?
questione aperta) BIOS avevano la possibilita` di stabilire la sequenza di
bootstrap, consentendo di partire direttamente da hd... ora le BIOS moderne
consentono di partire da CD-ROM, da HD diversi dal "primary", da unita`
ZIP, e chi piu` ne ha piu` ne metta... ma queste sono cose che esulano da
questa FAQ, e quindi noi daremo per scontato che il nostro pc sia
configurato per la sequenza standard: prima il floppy, poi l'hd, poi tutto
il resto...
   Bene. Quando accendiamo un pc IBM Compatibile la sequenza di bootstrap,
dal punto di vista della BIOS, e` la seguente:
   1) Cerco se e` presente un floppy. Se c'e`, controllo che sia "boota-
      ble", cioe` controllo che nel primo settore del floppy sia presente
      il cosiddetto "boot sector". Se c'e`, lo carico in memoria e passo al
      punto (6).
   2) Non c'e` un floppy. Allora guardo se c'e` un HD. Se c'e`, controllo
      che nel primo settore del disco fisso sia presente il cosiddetto
      "MBR" (Master Boot Record). Se c'e`, lo carico in memoria e passo al
      punto (4).
 
   3) Se invece sono arrivato fin qua, vuol dire che non ho a disposizione
      alcun Sistema Operativo "valido" e, a seconda dei vari pc, o mi
      blocco, oppure lancio il "Rom Basic"... diciamo che di solito mi
      blocco... :(
   4) Sono partito da Disco Fisso, e ho in memoria l'MBR. L'MBR contiene un
      micro-programma che verifica se nel Disco Fisso e` presente una
      Partizione Attiva con un Sistema Operativo valido. Ne lancio
      l'esecuzione (sono la bios), e - se tutto fa a buon fine - da ora in
      poi il controllo lo lascio al micro-programma.
   5) Il micro-programma calcola la posizione di partenza della partizione,
      carica in memoria il relativo "boot sector", e passa al punto (6). Se
      invece scopre che non e` presente una partizione valida, emette il
      messaggio "Partizione non valida", e pianta il pc...
   6) Se sono arrivato a questo punto da Floppy, il controllo e` ancora in
      mano alla BIOS, altrimenti sono gia` nel DOS. In ogni caso, da questo
      punto in poi la sequenza e` uguale, ed il controllo passa comunque al
      DOS. Ho in memoria il "boot sector". Lancio il micro-programma in
      esso contenuto, che s'incarica di stabilire il file system (cioe` la
      struttura del floppy o del Disco Fisso), cercare il file IO.SYS (o
 
IBMBIO.COM
), caricarlo in memoria e lanciarne l'esecuzione. Ms-Dos
      inizia a "sollevarsi tirandosi per le stringhe..."
   7) IO.SYS (o 
IBMBIO.COM
) effettua il controllo dei dispositivi perife-
      rici. Vengono inizializzati i dispositivi standard caricando i driver
      standard per quella versione del DOS. Inoltre, vengono impostati al-
      cuni vettori di interrupt.
   8) A questo punto viene caricato in memoria il Kernel del DOS (MSDOS.SYS
      o 
IBMDOS.COM
) (questo e` il punto nel quale puo` apparire il messag-
      gio "Disco non di sistema o errore disco. Sostituire e premere un
      tasto."). Poi viene controllata l'esistenza del file CONFIG.SYS e, se
      presente, viene analizzato e vengono caricati gli eventuali driver
      aggiuntivi.
   9) Successivamente, viene cercato e caricato il file 
COMMAND.COM
 (se non
      c'e` appare il messaggio "Interprete dei comandi errato o mancante"),
      al quale viene passato, se presente, il file AUTOEXEC.BAT, che viene
      analizzato, interpretato ed eseguito.
  10) La procedura di bootstrap e` terminata. Finalmente ci ritroviamo con
      il nostro bravo prompt C:\>
      IO.SYS sta controllando il sistema, ed ogni cosa che scrivero`, da
      ora in poi, sara` passata al 
COMMAND.COM
, il quale, utilizzando le
      routine di MS-DOS.SYS, eseguira`, se possibile, i nostri comandi. Se
      il nostro comando corrisponde ad un file eseguibile (un "programma")
      il controllo verra` demandato a quel programma. Quando il programma
      terminera`, il controllo ritornera` al punto di partenza. Altrimenti,
      otterremo il fatidico "Comando o nome del file non valido".
   Ecco dunque spiegato il significato di "DOS": Disk Operative System,
ovvero "Sistema Operativo (residente) su Disco". L'idea vincente e` quella
di creare un Sistema Operativo "aggiornabile" semplicemente inserendo un
dischetto con la nuova versione, oppure sostituendo la versione presente su
Hard Disk. Quello che non cambia e` il concetto di "settore d'inizio", o
settore di "boot". Chi ha usato il C64 puo` capire al volo la differenza:
il Sistema Operativo del C64 era in un chip di memoria, e per aggiornarlo
era necessario cambiare il chip. Ora siamo arrivati alle schede con BIOS
Flash aggiornabili, cosa che negli anni '80 era semplicemente impensa-
bile...
Le Partizioni.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Allora, abbiamo presente un floppy disk?
   Se inserisco un floppy a computer spento, e poi accendo il computer, e
quel floppy e` 'bootable', il computer legge per prima cosa il floppy e poi
parte da li`. Magari quel floppy contiene un giuoco scritto sotto dos
3.22... viene caricato il dos 3.22, e poi viene lanciato "chess"...
   Spengo il computer, e inserisco un altro floppy, magari di videoscrittu-
ra, pero` sotto dos 5.0... Riaccendo, parte il dos 5.0, ed il Wordstar...
   Rispengo il computer, cambio floppy, riaccendo... Il mio pc ora funziona
come server per la connessione condivisa su Internet. Sto usando Linux...
   ...ok, questo e` il concetto di base. Un Floppy puo` decidere quale
sistema operativo utilizzare, e puo` contenere programmi che funzionino
correttamente in quel Sistema Operativo...
   Un Hard Disk puo` essere 'partizionato', cioe` puo` essere suddiviso in
"porzioni" che possono essere indipendenti fra loro, come se fossero tanti
"Floppy" differenti.
   Le partizioni possono essere 'primarie' o 'estese', 'visibili' o
'invisibili', 'attive' o 'non attive'.
   E` possibile avere su di un singolo disco fisso fino ad un massimo di 4
partizioni, delle quali almeno una deve essere 'primaria', 'visibile', ed
'attiva'.
   Vediamo un po' cosa significano queste definizioni.
   Una partizione 'attiva' e` l'equivalente del floppy inserito nel pc
spento. Rivediamo brevemente la sequenza di bootstrap (nel mondo MS_DOS):
   1) La bios testa il computer, se trova un floppy cerca di leggerlo, e se
      riesce a leggerlo parte da li`.
   2) Se il floppy non e` presente, cerca la presenza di un hd.
   3) Se trova un hd, carica il primo settore del disco in memoria e ne
      lancia l'esecuzione. Nel primo settore del disco (MBR) c'e` un
      piccolissimo programma che stabilisce quale porzione del disco fisso
      deve essere considerata come 'C:\'. Tale porzione puo` essere grande
      a piacere, a seconda del SO utilizzato e delle capacita` del BIOS, e
      deve essere una porzione classificata come 'primaria', 'visibile' ed
      'attiva'.
   4) Se viene trovata un porzione del disco che soddisfa i requisiti
      precedenti, viene caricato il boot loader relativo a quella porzione,
      ed il SO parte.
   5) Se c'e` qualcosa che non va, il pc si blocca (emettendo messaggi
      variabili a seconda del BIOS e/o del SO)
   Ora:
   1) La partizione 'attiva' e` quella che viene vista come SO. Quindi di
      partizioni 'attive' puo` essercene una sola.
      Una partizione puo` essere attivata o disattivata. In realta`, quel
      che fanno molti boot manager e` proprio quello di rendere 'attiva'
      una partizione e di disattivare quella precedente. E` possibile farlo
      anche con fdisk. Sul mio pc ho quattro SO: Dos 6.22, Win95, Win98, Nt
      wks 4. Quando voglio utilizzare uno di questi quattro SO, devo
      rendere 'attiva' la relativa partizione, e disattivare tutte le altre
      - o meglio, disattivare la precedente partizione attiva. Tutto questo
      lo fa per me pqboot, utility apposita di Partition Magic, ma, come
      ripeto, la cosa e` fattibile anche con fdisk (con un minimo di atten-
      zione a quel che si sta facendo... :))) )
   2) Le partizioni 'primaria' ed 'estesa' sono partizioni che funzionano,
      a livello logico, come un floppy, solo che essendo su hd sono di
      solito molto piu` grandi, e vengono gestite di conseguenza, a seconda
      dei SO utilizzati.
      La distinzione tra 'primaria' ed 'estesa' consiste nel fatto che una
      partizione primaria e` quella e basta, mentre una partizione estesa
      deve "contenere" a sua volta almeno una partizione, ma molto spesso -
      diciamo pure sempre - ne contiene piu` d'una, senza limitazioni
      (l'unica vera limitazione - a parte ovviamente lo spazio disco
      disponibile - sono le lettere dell'alfabeto - stiamo parlando
      sempre di MS-DOS: un dispositivo viene identificato con una lettera
      dell'alfabeto inglese, da "A" a "Z". Per definizione, "A" e "B" sono
      state riservate ai due floppy, "C" alla partizione primaria attiva
      dell'HD, e le successive a tutto quel che e` presente sul pc. Il modo
      di assegnare le lettere delle unita` e` un po' complicato e varia da
      SO a SO). C'e` da aggiungere che fdisk non consente di creare piu` di
      una partizione 'primaria'. Non ho mai capito il perche' di questa
      limitazione (come al solito M$ si preoccupa che i suoi utenti non
      facciano pasticci, e soprattutto che si guardino bene dal tentare
      pericolosi esperimenti con "altri" sistemi operativi... <g> ). Si
      puo` comunque ovviare all'inconveniente con numerosi tool appositi,
      anche freeware, oppure smanettando direttamente sulla tabella delle
      partizioni.
   Il pasticcio tra partizione 'primaria' e partizione 'estesa' e` dovuto
sostanzialmente alle limitazioni imposte da chi - con scarsa lungimiranza -
s'invento` questo bel meccanismo (volendo la cosa puo` essere assimilata al
Bug dell'anno 2000, ma qualcosa del genere da tempo e` paventata anche per
Internet, per gli indirizzi composti da quattro byte (un "long", ossia al
massimo 2^32 = 4.294.967.296 indirizzi possibili - stanno correndo ai
ripari, staremo a vedere... e grossi problemi stanno nascendo anche nella
gestione di HD con capacita`, fino a pochi anni fa, impensabili. La
questione del 1024simo cilindro e` una di queste, ed anche il recente
limite di alcune bios nel gestire gli HD maggiori di 8gb... sembra proprio
che, nonostante tutto, ci sia sempre la tendenza a sottovalutare la
crescita esponenziale della tecnologia... )
   Come al solito, per problemi "di spazio", non e` stata prevista la
possibilita` che gli hd assumessero dimensioni "enormi"... cosi` come
non e` stato previsto che un HD potesse avere piu` di quattro partizioni.
Dal momento che invece ci si e` accorti che spesso e` conveniente
suddividere lo spazio disco in partizioni distinte (ad esempio una
partizione per i programmi ed una per i dati), si e` trovato l'escamotage
della partizione 'estesa'. Detto in soldoni: su di uno stesso Hd e`
possibile avere, ad esempio, cinque partizioni: una 'primaria' (il SO vero
e proprio) ed una 'estesa' la quale a sua volta ne contiene quattro (che
so... programmi, dati, immagini e giuochi...). L'inghippo dove sta? Sta nel
fatto che molti SO (nello specifico MS-DOS e Windows 95/98) per partire
devono essere installati su di una partizione 'primaria', mentre altri
(OS2, Linux, WinNT) possono essere installati 'anche' su partizioni
'estese' (anzi, alcuni possono addirittura essere installati su
partizioni 'estese' presenti su altri Hd... ma questo e` un altro
discorso). Quindi per poter avere contemporaneamente DOS, Win95 e Win98 e`
necessario avere 3 partizioni 'primarie', cosa che appunto fdisk non
consente... che sia "voluto"? Mah... :(((
   3) Le partizioni classificate come 'visibili' ed 'invisibili' sono il
      frutto di un "trucco" che sfrutta una peculiarita` della 'tabella
      delle partizioni" presente nell'MBR: ogni partizione e` identificata
      da un byte specifico (almeno in questo si sono messi d'accordo...),
      per cui una partizione BIGDOS viene identificata da un byte con va-
      lore 06 (esadecimale), una partizione FAT32 con il valore 0B, una
      partizione XENIX con il valore 02, e cosi` via... Dal momento che un
      byte puo` contenere un valore da 0 a 255, e considerando che il valo-
      re 00 identifica l'assenza di una partizione, e` abbastanza chiaro
      che non esistono 255 Sistemi Operativi - per fortuna... ;) - e quindi
      molti di questi valori non sono riconosciuti come validi.
      Per convenzione, un valore non riconosciuto viene ignorato, ma l'oc-
      cupazione della relativa porzione di spazio disco non viene utiliz-
      zata. 'Marcando' una partizione con un valore apparentemente inesi-
      stente, e` possibile "nascondere" una partizione, in modo che nessun
      SO vada a leggere e scrivere in quella porzione di disco. Ovviamente
      e` possibile fare di tutto con tool appositi, tipo le Norton, ma di
      norma e` garantito che un SO, utilizzato in condizioni 'normali', non
      vada mai a toccare cio` che e` presente in una partizione 'nascosta'.
      Questo fatto consente di avere su di uno stesso hd piu` di un SO, con
      la garanzia che non si verifichino interferenze indesiderate fra di
      loro.
   In realta`, esistono boot manager che consentono di gestire molte
partizioni 'primarie' su di uno stesso hd (ce n'e` uno che consente di
gestire fino a 15 partizioni distinte), ma hanno un piccolo difetto: se
succede qualcosa di "strano" (le leggi di murphy sono sempre in agguato),
beh: sono ca...voli. Perche` il limite e` sempre quello delle quattro
partizioni, ed i dati relativi alle partizioni aggiuntive sono memorizzati
chissa` dove, ed hai voglia ad andare a cercarti dove il boot-manager se le
e` andate a memorizzare, e magari a capire in quale modo...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Auff... mi fermo qua.
   Ci sarebbero altre cose da aggiungere:
1) La struttura dell'MBR.
2) I codici dei vari sistemi operativi.
3) Tips & tricks sulla creazione delle partizioni, con riferimenti ai vari
   programmi freeware (Ranish, fdisk di linux, etc...)
4) ...
   Che ne pensate?
-- 
Un Saluto. A Presto.
Fakkino DisKre Panza

Ciao.
Ho letto la proposta di FAQ e devo dire che è stata molto istruttiva,
finalmente un pò di chiarezza!
E' una ottima idea e sentivo il dovere di sottolinearlo sebbene non possa
contribuire alla sua realizzazione perchè uso poco il DOS (purtroppo, perchè
penso che sia il modo migliore per controllare direttamente il computer).
Personalmente ho un grosso problema con le partizioni vedi mex sul NG).
Grazie per l'articolo.


Davvvero interessante!
Personalmente caldeggio lo sviluppo del punto 3, con particolare
attenzione ai lettori imbranati come me :-))
Saluti! 
Roberto.
Roberto Lozupone - Avvocato Civilista in Roma.
E-Mail: togliere "rimuovi" dall'indirizzo.
____________________________________________________________________
Repertorio On Line:  
http://users.iol.it/robloz
 
http://repertorio.freeweb.org
 
(archivio giurisprudenziale, links giuridici e istituzionali, risorse telematiche
per gli operatori del diritto, strumenti di ricerca giuridica, affiliato Ius Ring,
Forum Giuridico Online, Chat Java per giuristi).

    Che ne pensate?
Leggere un intervento del genere non solo e` istruttivo, ma anche
letterariamente piacevole.
Complimenti, sei "qualcuno".
Ciao
P.S.  Opterei per "la bios": mi fa pensare a 'bio', in greco 'vita'.
Personalissima, eh!     :)


Direi che stiamo aspettando le prossime puntate
Davvero interessante e, credo per molti, in questi tempi di vari SO.
Certi argomenti è bene svilupparli in modo chiaro e semplice
come hai fatto.
Credo senz'altro che andrebbero aggiunte alle FAQ
Complimenti !
Ciao e....alle prossime puntate
Giovanni

questione aperta) BIOS
Nel Bios. Rigorosamente. Tradotto in italiano Basic Input Output Sistem e'
maschile. E non ho mai visto nessuno usare il femminile fino ad oggi. Per il
resto... un capitoletto nuovo per la faq :)

 maschile. E non ho mai visto nessuno usare il femminile fino ad oggi.
Come non detto.
Solo acronimi.
Scusate.

 Fakkino DisKre Panza
P.S.: Grazie da parte mia e credo da parte di tutti i newbies

2) I codici dei vari sistemi operativi.
Li vuoi ?
ciao (e scusa se mi sono permesso)


Ok, mi sembra che il news esista perche tutti possano dare il loro
contributo.
( specialmente quelli che ne sanno di +....)
----
ciao grenzo

Operativi
Leggendo la tabella degli identificatori di partizione ho notato che
alcuni valori sono stati usati da sistemi operativi diversi.
Ad esempio :
07h = QNX, OS/2 HPFS, Windows NT NTFS, Advanced Unix e altri
08h = OS/2 (v1.0-1.3 only), AIX bootable partition, SplitDrive,
Commodore DOS, DELL partition spanning multiple drives
etc...
ciao

> Li vuoi ?
Mando in e-mail (mi sembrano OT)
ciao

   [...] Che ne pensate?
Complimenti! Bel lavoro! :-)))
Greg
-- 
g.biagini(at)
dada.it
  <-o->  g.biagini(at)
yahoo.com
http://www.geocities.com/Athens/Aegean/3276/
[NB: l'indirizzo del campo from e` modificato]

l'hd come primo device di boot.
Non concordo. IMHO la sequenza ottima e` A: C:. Altrimenti si rischia
di trovarsi nella impossibilita` di usare un floppy autoavviante senza
scollegare fisicamente l'HD... :-/
Ciao :-)


floppy autoavviante senza scollegare fisicamente l'HD... :-/
Non e' piu' semplice andare nel BIOS e cambiare la boot sequence ?
ciao

Non e' piu' semplice andare nel BIOS e cambiare la boot sequence ?
De gustibus. Io nel BIOS preferisco entrare il minimo indispensabile.
La legge di Murphy incombe sempre...
Ciao.
