I segreti del file boot.ini e l'avvio di più versioni di Windows

Dopo l'installazione di Windows 2000 o di Windows XP troverete, all'interno della cartella radice un file nascosto e con attributi di sola lettura: boot.
I segreti del file boot.ini e l'avvio di più versioni di Windows

Dopo l’installazione di Windows 2000 o di Windows XP troverete, all’interno della cartella radice un file nascosto e con attributi di sola lettura: boot.ini.
Si tratta di un file estremamente interessante, importante e con grandi potenzialità.
Più volte, in altri nostri articoli, abbiamo parlato della possibilità di installare più sistemi operativi differenti sullo stesso disco fisso e delle metodologie che permettono all’utente di scegliere, ad ogni accensione del personal computer, quale sistema operativo avviare.

Il file boot.ini è parte integrante del boot loader proprio di Windows 2000/XP, ossia della procedura che permette di scegliere quale sistema operativo debba essere lanciato ad ogni avvio del personal computer.

In altri articoli (ved. Avvio multiplo di più sistemi operativi con BootMagic, Windows 2000 o VMWare) abbiamo introdotto, infatti, l’utilizzo di Boot Magic come software per la scelta del sistema operativo da lanciare di volta in volta; nel caso, però, in cui si faccia uso di soli sistemi Windows, il file boot.ini ed i file ad esso correlati sono più che sufficienti.

L’avvio di più sistemi operativi, all’accensione del personal computer, è divenuta, infatti, una necessità al giorno d’oggi sempre più sentita, non solo in ambito aziendale ma anche in quello familiare. Quanti di voi desiderano far uso di Windows XP senza però abbandonare il proprio Windows 2000, Windows 98 o Windows ME?…

Quando esce un nuovo sistema operativo, la prassi migliore è certamente quella di non abbandonare, almeno inizialmente, il sistema cui si è abituati e che si è già provveduto a configurare secondo i propri bisogni e le proprie esigenze. Il suggerimento che ci sentiamo di caldeggiare è quindi il seguente: create sul vostro disco fisso (a patto che questo sia sufficientemente capiente) almeno tre partizioni. La prima destinatela all’installazione del sistema operativo cui siete abituati (ad esempio Windows 2000, Windows ME o Windows 98), nella seconda partizione provvedete ad installare una versione del sistema operativo che non siete ancora soliti utilizzare (ad esempio Windows XP o Windows 2000); la terza partizione, invece, potete destinarla alla memorizzazione di dati comuni ai vari sistemi operativi (ad esempio: la posta elettronica di Outlook) oppure i vostri documenti personali, od ancora i vostri file di backup. Trovate tutte le istruzioni per creare e gestire partizioni nei nostri articoli correlati.

Come utilizzare il dual boot di Windows 2000/XP

Qualora vogliate installare almeno due differenti versioni di Windows, è possibile far uso del boot loader di Windows 2000/XP. Per prima cosa installate il primo sistema operativo in una partizione a sé stante, ad esempio la prima creata in precedenza. Al termine dell’installazione, inserite quindi, in ambiente Windows, il CD ROM di Windows 2000 o di Windows XP, a seconda della versione di Windows che preferite installare nella seconda partizione.
Normalmente viene automaticamente mostrata una finestra che permette, tra le varie opzioni, di avviare l’installazione del sistema operativo. Qualora tale finestra, all’atto dell’inserimento del CD ROM di installazione di Windows 2000/XP, non dovesse comparire, utilizzate Risorse del computer per accedere al lettore CD ROM quindi fate doppio clic sul file setup.exe.

La voce Installazione di Windows 2000, che compare inserendo il CD ROM nel lettore (Installa Windows XP, nel caso di Windows XP) permette di avviare la procedura di setup.
Due aspetti è essenziale verificare durante le prime fasi dell’installazione di Windows 2000/XP: in primo luogo che il sistema operativo non venga installato sopra la versione di Windows già installata nella prima partizione (ciò renderebbe vano l’intento di creare un sistema ad avvio multiplo), in secondo luogo che Windows 2000/XP venga installato nella seconda partizione, che verrà formattata preferibilmente col file system NTFS direttamente dalla procedura di setup.

Un punto importantissimo: per fare in modo che la procedura di installazione di Windows 2000/XP richieda all’interno di quale partizione debba essere collocato il sistema operativo, fate clic sul pulsante Opzioni avanzate quindi attivate l’opzione Scelta della partizione di installazione da parte dell’utente (nel caso di Windows XP: Selezione lettera e partizione dell’unità di installazione durante l’installazione).

Al termine della installazione di Windows 2000/XP riavviate il sistema: verrà visualizzato il menù di avvio multiplo (boot manager) proprio di Windows 2000/XP che consentirà di scegliere, di volta in volta, se avviare questo sistema operativo oppure quello precedentemente installato sulla prima partizione.

Intervenire sulle impostazioni di avvio

La finestra che consente di intervenire sulle impostazioni per il dual boot è raggiungibile, da Windows 2000/XP, cliccando su Start, Impostazioni, Pannello di Controllo, Sistema, quindi sulla scheda Avanzate ed infine sul pulsante Avvio e ripristino…

Da questa finestra è possibile scegliere il sistema operativo predefinito ossia quello che, qualora non si verifichi alcun intervento da parte dell’utente, deve essere avviatoin modo automatico. E’ possibile, inoltre, decidere se debba essere visualizzata la finestra di scelta del sistema operativo all’accensione del personal computer e per quanti secondi questa debba essere mostrata (prima di avviare il sistema operativo di default).

Le impostazioni relative al dual boot vengono memorizzate, come avrete già capito, nel file boot.ini, di solito presente nella directory radice della partizione contenente Windows 2000.

Il proposito di questo articolo è proprio quello di farvi conoscere un file estremamente importante – e con grandi potenzialità – qual è proprio boot.ini. La conoscenza della struttura di questo piccolo ma importante file, mette a disposizione due elementi per il controllo del sistema: in primo luogo è possibile modificare i contenuti del file per variare il processo di avvio; in secondo luogo è possibile creare manualmente un file boot.ini che consenta di “riparare” un computer che non è in grado di avviarsi correttamente.

Innanzi tutto va detto che boot.ini è un semplice file di testo nascosto e a sola lettura: è possibile quindi che se il sistema operativo è configurato per non consentire la visualizzazione dei file nascosti e dei file di sistema in Esplora risorse/Gestione risorse non troverete in alcuna partizione il boot.ini.

Cominciamo quindi con regolare il sistema operativo affinché ne consenta la sua visualizzazione. Fate doppio clic su Risorse del computer, scegliete dal menù Strumenti la voce Opzioni cartella…, cliccate sulla scheda Visualizzazione, attivate, quindi, l’opzione Visualizza cartelle e file nascosti disattivando la casella Nascondi i file protetti di sistema (che è vivamente consigliabile riattivare in seguito dopo aver operato sul file boot.ini). Confermate le vostre scelte, infine, cliccando sul pulsante OK.

A questo punto, nella directory radice della partizione principale dovreste trovare diversi file, prima nascosti, tra i quali proprio boot.ini.

Per prima cosa formattate un comune floppy disk da 3,5″ quindi copiate al suo interno i seguenti file:
BOOT.INI
NTLDR
NTDETECT.COM
BOOTSECT.DOS
Se utilizzate un controller SCSI è possibile sia presente anche il file NTBOOTDD.SYS: copiatelo.

In questo modo, in caso di problemi (ad esempio qualora qualcuno di questi file dovesse danneggiarsi), potrete agevolmente ripristinare tutti i file necessari per il coretto avvio dei vari sistemi operativi direttamente dal vostro floppy disk.

Addirittura, inserendo il floppy disk appena creato all’accensione del personal computer, anche in situazioni di emergenza, dovreste così essere in grado di riavviare tutti i vostri sistemi operativi installati!

Fate ora doppio clic sul file boot.ini: ne verrà così mostrato il contenuto utilizzando il Blocco Note di Windows.

La struttura di boot.ini

Il file boot.ini segue le regole di formato di tutti gli altri file con estensione ini utilizzati in Windows. Ciò significa che i contenuti vengono organizzati sotto forma di sezioni ed ogni sezione ha il proprio “titolo” racchiuso tra parentesi quadre.
Boot.ini fa uso di due sezioni: [boot loader] e [operating systems].

La sezione [boot loader] contiene, a sua volta due dati: timeout e default.
Il primo dato (timeout) permette di specificare dopo quanti secondi, all’avvio del personal computer, la procedura di boot dovrà automaticamente lanciare il sistema indicato mediante il dato default.

La sezione [operating systems] ospita, invece, le informazioni relative al percorso di ricerca del sistema operativo o dei sistemi operativi installati: i dati qui inclusi permettono infatti, essenzialmente, di specificare, in quale partizione è presente un certo sistema operativo. Il testo racchiuso tra le virgolette rappresenta l'”etichetta” che verrà visualizzata nel menù di avvio all’accensione del personal computer.

Ecco un esempio di file boot.ini (fate clic sull’immagine per ingrandirla):

Le informazioni circa la “posizione” dei vari sistemi operativi installati, seguono le specifiche ARC (Advanced RISC Computing) e si dividono in tre gruppi: multi syntax, SCSI syntax e signature syntax.

Multi syntax. E’ la sintassi normalmente utilizzata per gestire i dischi fissi IDE. L’uso della multi syntax indicata al boot loader di Windows 2000/XP che deve seguire il BIOS per il caricamento dei file di sistema.
La sitassi multi syntax assume la forma seguente:

multi(A)disk(B)rdisk(C)partition(D)

A è il numero ordinale dell’adattatore di avvio. Il primo adattatore, che di solito è l’adattatore di avvio, è 0. Ogni scheda madre mette a disposizione almeno due canali IDE ai quali possono essere collegati dischi fissi e CD ROM IDE. Al primo canale IDE viene associato l’identificativo 0, al secondo 1.
B fornisce alcune informazioni sui dischi. In ambito multi syntax è uguale a 0.
C è un numero ordinale che permette di specificare il disco collegato all’adattatore: può assumere valori compresi tra 0 e 3, a seconda del numero di unità disco presenti sull’adattatore (canale IDE).
D indica specifica il numero di partizione che “ospita” il sistema operativo da avviare: il primo
numero possibile è 1 (al contrario di quanto avviene per adattatori e unità disco che fanno uso di una numerazione che inizia, come primo numero, con 0).

SCSI syntax. Se si fa uso di dispositivi SCSI è possibile che il boot loader faccia uso della SCSI syntax. Invece che dipendere dal BIOS, l’avvio dei sistemi operativi installati su dischi SCSI, si appoggia su un driver necessario per far funzionare il controller SCSI installato all’interno del personal computer. Il file che presiede al funzionamento del controller SCSI si chiama ntbootdd.sys ed è collocato nella directory radice della partizione di sistema.
Una riga SCSI syntax si presenta nel modo seguente:

scsi(A)disk(B)rdisk(C)partition(D)

A indica il numero ordinale dell’adattatore (controller) SCSI collegato
B specifica l’ID SCSI associato al disco fisso connesso al controller SCSI
C è il LUN SCSI contenente la partizione di avvio
D è il numero della partizione su disco fisso SCSI contenente il sistema da rendere avviabile

Avviare un sistema che non parte…

Anche a noi è accaduto che su sistema ad avvio multiplo (cioè con più sistemi operativi installati) il boot loader di Windows 2000/XP, per i motivi più disparati, sia scomparso. La “sparizione” di tale menù di avvio, all’accensione del personal computer, comporta l’impossibilità di avviare uno, più o tutti i sistemi operativi installati. Una disgrazia!…
Spesso, in questi casi, è possibile avviare solo il primo sistema operativo installato oppure viene visualizzato un laconico messaggio d’errore: NTLDR mancante. Impossibile avviare il sistema. Premere CTRL+ALT+DEL per riavviare. Come fare per risolvere un problema simile e permettere di nuovo l’avvio di tutti i sistemi operativi installati? La soluzione c’è.

Prima di tutto chiedetevi qual è l’ultima versione del sistema operativo basata sul kernel NT/2000 che avete attualmente installato. Ad esempio, se avete installato Windows ME e Windows 2000, ovviamente, la risposta è Windows 2000; se avete installato Windows 2000 e Windows XP la risposta è Windows XP…

Formattate, quindi, da un sistema su cui è installato Windows 2000/XP un floppy disk (non copiatevi i file di avvio, eseguite semplicemente il comando FORMAT A:).

A questo punto inserite il CD ROM di installazione del sistema operativo più recente e basato sul kernel di Windows NT/2000 che avete installato: se avete, ad esempio, installato Windows 2000 e Windows XP inserite il CD ROM di installazione di Windows XP, che è il sistema operativo più recente installato.

Copiate, a questo punto, dalla cartella /I386 del CD ROM d’installazione NTLDR e NTDETECT.COM. Create quindi, servendovi del Blocco Note di Windows, sempre all’interno del disco floppy appena formattato, un file di testo attribuendogli il nome BOOT.INI; inserite al suo interno, poi, quanto segue:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(N)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(N)\WINNT="Windows 2000" /fastdetect

Sostituite la stringa Windows 2000 con il nome del sistema operativo (Windows XP o Windows 2000) che volete rendere nuovamente avviabile. Sostituite \WINNT con il nome della cartella all’interno della quale avete installato Windows XP o Windows 2000 (generalmente \WINNT o \WINDOWS).
Variate la lettera N con il numero della partizione contenente il sistema operativo Windows 2000/XP da avviare.
Salvate quindi il file BOOT.INI all’interno del dischetto.
Tenete presente che abbiamo supposto, una modalità di avvio mediante multi syntax presupponendo l’utilizzo di un disco fisso IDE collegato al canale IDE primario sulla scheda madre.
Operate le opportune modifiche, alla luce di quanto spiegato nel precedente paragrafo, qualora facciate uso di unità di tipo SCSI.

Supponiamo di avere creato in precedenza tre partizioni sul nostro disco IDE collegato al canale primario IDE sulla scheda madre. Nella prima partizione abbiamo installato Windows 98. Successivamente, da questo sistema operativo, abbiamo avviato l’installazione di Windows 2000 (installato sulla seconda partizione) quindi abbiamo eseguito l’installazione di Windows XP, specificando, come partizione di destinazione, la terza.
Abbiamo, quindi, la seguente situazione:
DISCO IDE 1:
partizione 1: Windows 98
partizione 2: Windows 2000
partizione 3: Windows XP

Creeremo il floppy disk “di emergenza” utilizzando, quindi, i file NTLDR e NTDETECT.COM presenti nella cartella \I386 del CD di installazione di Windows XP.
Struttureremo, infine, il file boot.ini, da memorizzare nel floppy disk di emergenza nel modo seguente:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows 2000" /fastdetect
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows XP"
C:\="Windows 98"

Si noti come Windows 2000 sia stato installato nella cartella WINNT, mentre Windows XP nella cartella WINDOWS. Si noti pure la modalità per consentire l’avvio di sistemi operativi non basati sul kernel di Windows NT/2000 come, ad esempio, Windows 98: C:\="Windows 98".

Ti consigliamo anche

Link copiato negli appunti