BETA, la rivista ipertestuale tecnica
BETA
BETA, la rivista ipertestuale tecnicaBarra BETA
Barra Sito Beta.it

BETA 2199.4 - Sistemi Operativi: Multiboot Loader e BootManager  -  Indici | Guida

Clicca qui!

Multiboot Loader e BootManager

Ovvero, come fare il boot di diversi sistemi operativi sullo stesso computer

Ermanno Baccarini
Articolista, BETA

Per quelli come me, che hanno molti sistemi operativi diversi da testare ed eseguire continuamente e che non vogliono avere molti computer da comprare, l'unica soluzione praticabile è quella di mettere più sistemi operativi sullo stesso computer.

Due o tre sistemi con il bootmanager di OS/2 o Partition Magic non c'è problema, ma già quattro è più difficile. Più di quattro diventa molto difficile. Più di cinque…

Gli strumenti essenziali per fare questo tipo di "smanettamenti" sono: Partition Magic e Bootpart. E poi Driver Image (o simile) non guasta, per copiarsi l'immagine del contenuto delle partizioni installate. Inoltre i dischetti di boot: Dos, Windows 95e 98, Nt, Linux, etc.

In teoria

Su ogni hard disk possiamo creare al massimo quattro partizioni, tra primary ed extended . Tutte primary o tre primary ed una extended, che a sua volta può essere suddivisa in varie partizioni logiche. Questo ci permette di installare abbastanza semplicemente quello che vogliamo, il problema è poi far partire quello che abbiamo installato. Infatti in tutto questo il punto che non può assolutamente cambiare è il Master Boot Record. Solo sul MBR è possibile installare il "loader" di sistema. Nel caso del Dos io.sys, Nt ha ntldr, Linux lilo. Vista così la possibilità di fare il boot di più di un sistema operativo alla volta non sembra possibile, se non fosse che tra questi loader, alcuni hanno anche funzionalità per lanciare oltre al proprio anche altri sistemi operativi (ntldr, lilo). Inoltre abbiamo anche il bootmanager, un tool fatto a tale scopo da IBM per OS/2, ma che può essere usato indifferentemente da qualunque s.o. L'unico difetto di questa soluzione è che il bootmanager occupa una partizione, anche se di dimensioni piccolissime (4/8Mb) e ci limita a tre il numero di possibili partizioni "libere" da usare.

Per la preparazione della nostra installazione dobbiamo fare alcune valutazioni che serviranno a scegliere la strada giusta tra quelle possibili.

Sappiamo (e se non lo sapete adesso ve lo dico) che per alcuni sistemi operativi è possibile partire da una partizione logica (NT, Linux, Os/2), ma per altri come il Dos, Windows 95 e 98, è obbligatorio partire da una partizione primaria.

Le partizioni NTFS di NT 3.51 sono compatibili con quelle Nt 4.0. A patto che le directory di sistema siano nominate in modo differente e quella di avere il loader di NT 4.0, con un'unica partizione NTFS possiamo installare entrambi. Inoltre NTFS può risiedere su una partizione logica.

Anche Linux può essere installato su una partizione logica, anzi su due. Una per la root e una per lo swap.

Un'altra possibile scelta è quella del loader da utilizzare e ci conviene stabilire subito la soluzione migliore alle nostre esigenze. Se i sistemi operativi sono due o tre e non si tratta solo dei soliti Windows 95 e NT, la scelta del bootmanager è la più semplice e veloce. Se si tratta invece di un'installazione più complessa, ma non vogliamo perdere partizioni "inutili" per il bootmanager, la soluzione migliore è quella di usare ntldr e lilo. Lilo è sicuramente il più semplice da gestire, anche se meno intuitivo nelle scelte iniziali rispetto a ntldr.

Oltre a questo la scelta di ntldr (o lilo) non pregiudica l'uso successivo del bootmanager. L'unica accortezza sarà quella di salvare la partizione FAT16 con il Drive Image e con essa l'itegrità del boot loader sul MBR.

Personalmente il boootmanager lo lascio solo per situazioni che non possono essere risolte in modo contrario, tipo l'installazione supplementare di OS/2 e altro (Win98). In genere preferisco usare ntldr, anche se leggermente più complesso rispetto a lilo nella configurazione, ma preferisco un menu di scelta che posso controllare con le frecce alto-basso. E di questa andrò a documentarvi.

In pratica cosa succede

Windows 95 + Dos + Windows NT senza botmanager.

Nella prima versione Windows 95 permetteva di conservare l'installazione del precedente Dos e ne permetteva la scelta al momento del boot (F8). Avevamo così due sistemi alternativi, Dos 6.22 e Dos 7.0. Adesso però l'introduzione della FAT32 a reso questo funzionalità obsoleta. Possiamo però risolvere il problema con l'uso del loader di NT. Vedremo poi come. Quindi se facciamo una partizione FAT16 possiamo metterci dentro sia il Dos 6.22 (con Windows 3.11) che Windows 95 (o 98).

Per partire avete due possibilità: iniziate da zero, oppure avete una partizione FAT16 con il Dos 6.22 o Windows 95.

Nel primo caso, fate una partizione FAT16 primary. A questo punto (vale anche per il secondo caso) potete installare Windows 95. Chiaramente se con il Dos volete anche installare Windows 3.11 dovete nominare le directory di sistema in modo che non si sovrappongano ( WIN311 E WIN95), per le altre directory non ha importanza.

Dopo di che installate Windows NT 3.51 o 4.0 in una "nuova" partizione NTFS. Può essere sia primary che logica.

Finita l'installazione di NT controlliamo le cose che ci servono per cominciare a modificare il boot.ini ( http://support.microsoft.com/support/kb/articles/q102/8/73.asp http://support.microsoft.com/support/kb/articles/q101/7/87.asp http://www.beta.it/beta/bs019598/0197/b197awnt.htm).

Nella root di C: avremo:

File

s.o.

File

s.o.

File

s.o.

ntldr

NT

io.sys

Win95

io.dos

Dos 6.22

ntdetect.com

NT

Msdos.sys

Win95

Msdos.dos

Dos 6.22

boot.ini

NT

Command.com

Win95

Command.dos

Dos 6.22

   

Autoexec.bat

Win95

Autoexec.dos

Dos 6.22

   

Config.sys

Win95

Config.dos

Dos 6.22

Questo se avete iniziato da zero oppure seguendo i passi di installazione fin qui descritti, Dos, poi Windows 95 e NT. Se invece avevate già installato Windows 95 e volete aggiungere il Dos, basta rinominare tutti i file di boot con l'estensione ".dos" e aggiungerli nella root di C:.

Il primo tool da usare è bootpart (http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm) (Figura 1).

PROMPT DI BOOTPART
Figura 1 - Prompt del Bootpart Elenco dei comandi disponibili

Digitate le seguenti linee di comando:




	A:>BOOTPART DOS622 C:\BOOTSECT.622 "Ms Dos 6.22"

	A:>BOOTPART WIN95 C:\BOOTSECT.W95 "Windows 95"

	A:>BOOTPART REWRITEROOT:C:

	

A questo punto avete creato bootsect.622 e bootsect.w95 e modificato boon.ini inserendo le due nuove righe nel menu di scelta. Se date il comando A:>BOOTPART LIST (Figura 2):

BOOTPART LIST
Figura 2 - Bootpart List Lista dell'elenco del menu di ntldr

E se aprite il file boot.ini con un editor di testi avrete qualcosa del tipo (i ritorni a capo sono stati inseriti per esigenze di impaginazione):




	[boot loader]

	timeout=10

	default=multi(0)disk(0)rdisk(0)partition(1)\WINNT

	[operating systems]

	multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NTW 4.00 C:" 

	multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NTW 4.00 C: 

	    [VGA mode]" /basevideo /sos

	c:\bootsect.622="MsDos 6.22"

	c:\bootsect.w95="Windows 95"



Maggiori chiarimenti sulla sintassi del programma bootpart la troverete nel txt allegato.

Da questo momento potete fare partire la macchina normalmente e scegliere tra le varie opzioni: MsDos 6.22, Windows 95, Nt 4.0.

Controllate che tutti i sistemi operativi partono e che siano settati correttamente. Fatevi il disco di recupero sia di Win95 che di NT (http://www.beta.it/beta/bs019598/0197/b197awnt.htm). Già che ci siete fatevi anche una copia dei file di boot:

Autoexec.bat

Config.sys

autoexec.dos

io.dos

boot.ini

io.sys

Bootsect.622

msdos.dos

Bootsect.w95

Msdos.sys

Command.com

ntdetect.com

command.dos

ntldr

config.dos

Ora noterete che se fate un reboot col Dos i nomi dei file con estensione .dos saranno modificati con le estensioni adatte e farli riconoscere da io.sys del Dos e quelli Windows 95 di conseguenza verranno modificati per non essere intercettati:

File

s.o.

File

s.o.

File

s.o.

ntldr

NT

Winboot.sys

Win95

io.sys

Dos 6.22

ntdetect.com

NT

Msdos.w40

Win95

Msdos.sys

Dos 6.22

boot.ini

NT

Command.w40

Win95

Command.com

Dos 6.22

   

Autoexec.w40

Win95

Autoexec.bat

Dos 6.22

   

Config.w40

Win95

Config.sys

Dos 6.22

Per quelli che vogliono aggiungere NT 3.51 o 4.0 (dipende cosa avete installato prima) questo è il momento. Ricordate di installarlo nella stessa partizione NTFS e in una directory diversa rispetto all'altra versione precedentemente installata.

Finita l'installazione, se avete installato la versione 3.5, dovete coprire ntldr e ntdetect.com con quelli della versione 4.0 e ripristinare ntldr su MBR. Per fare questo ci sono due modi: usare il comando BOOTPART WINNT BOOT:C: oppure lanciare l'installazione di NT (da dischetti o cdrom) e scegliere l'opzione R (Repair). Scegliere di ripristinare solo i settori di boot:




	[  ] Controlla i file del registro di configurazione

	[  ] Controlla l'ambiente di avvio

	[  ] Verifica i file di sistema di Win NT

	[x] Controlla i settori di boot

		Continua (esegui i processi selezionati)



Wintel + Linux senza bootmanager

A questo punto sulla stessa macchina abbiamo MsDos, Windows 95, Nt 3.51 e 4.0. Potrebbe già essere abbastanza, ma noi non ci vogliamo limitare a questo e vogliamo installare anche Linux. Se non abbiamo già una partizione extended (sulla quale creare root e swap) è ora di crearla.

Alcune cose sono importanti (essenziali) per installare Linux correttamente e permettere il boot da ntldr. Montare con la root anche la partizione FAT16 di boot (non è essenziale ma comodissimo), installare lilo sul Superblock della partizione di root (/) e non sul MBR e prima di fare lo shutdown alla fine dell'installazione, essere sicuri di avere creato il dischetto di boot, con il quale rilanciare la prima volta Linux sull'hard disk.

Partition Magic
Figura 3 - Partition Magic 4 Lista delle partizioni create

Finita l'installazione e fatto il reboot, tornati dentro a Linux creiamo il bootsect.lnx:




	# dd if=/dev/hda2 of=/bootsect.lnx bs=512 cout=1



Ora se avete fatto il mount della FAT16 di boot diciamo in /dosc possiamo copiare bootsect.lnx.




	# cp bootsect.lnx /dosc/bootsect.lnx



altrimenti dovete copiarlo su un dischetto e poi dopo avere fatto ripartire il computer con un sistema operativo Microsoft copiarlo nella root di C:




	# mcopy /bootsect.lnx a:



oppure




	# mount –t msdos /dev/fd0 /mnt

	#copy /bootsect.lnx /mnt

	# umount /mnt



Fare lo shutdown e ripartire con il Dos. Una volta nel Dos inserite la nuova voce per lanciare Linux nel menu di Ntloader:




	C:>BOOTPART LINUX BOOTLINX.LNX "Linux"



Oppure modificare gli attributi del file boot.ini e lasciare solo quello Archive e con un editor di testi inserire la linea:

C:\BOOTSECT.LNX="Linux"

Adesso il file boot.ini dovrebbe essere più o meno così (i ritorni a capo sono stati inseriti per esigenze di impaginazione):




	[boot loader]

	timeout=5

	default=multi(0)disk(0)rdisk(0)partition(2)\WINNT

	[operating systems]

	multi(0)disk(0)rdisk(0)partition(2)\WINNT35="Windows NT Workstation 

	   3.51" 

	multi(0)disk(0)rdisk(0)partition(2)\WINNT35="Windows NT Workstation 

	   3.51 [VGA mode]" /basevideo /sos

	multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Workstation 

	   Version 4.00" 

	multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Workstation 

	   Version 4.00 [VGA mode]" /basevideo /sos

	C:\BOOTSECT.622="Ms Dos 6.22 + Windows 3.11" /win95dos

	C:\BOOTSECT.W95="Ms Windows 95" /win95

	C:\BOOTSECT.LNX"="Linux"



Se volete potete modificare l'ordine di apparizione delle voci di menu.

Per finire ricordatevi di scambiarvi i file dalla partizione FAT16, che tutti i sistemi operativi riconoscono, quindi quando fate tale partizione ricordatevi di dargli una dimensione appropriata a contenere i dati per tutti i sistemi operativi installati. Altrimenti, se avete ancora spazio nela extended, fate una nuova partizione logica FAT16, esclusivamente per lo scambio dati.

Il bootmanager (Figura 4)

Se non siete soddisfatti e avete ancora libera una partizione (avete impegnato solo tre partizioni) allora potete aggiungere il bootmanager e i sistemi operativi che ancora mancano. Partition Magic e bootmanager insieme sono degli strumenti molto potenti e rispetto agli altri loader danno il vantaggio di essere indipendenti rispetto alla partizione che vogliamo usare. Inoltre riescono a "nascondere" la partizione scelta rispetto alle altre, in modo da permettere di vedere solo quelle che ci servono ad ogni boot diverso. L'uso quindi del bootmanager potrebbe rendere inutile quello ulteriore di ntldr, ma non riuscirebbe comunque a risolvere il problema di fare il boot sia del Dos che di Windows 95.

Partition Magic
Figura 4 - Partition Magic 4 Menu del Bootmanager

Nell'ipotesi di voler installare anche Windows 98 dobbiamo partire in modo diverso ed avere anche un hard disk di notevoli dimensioni. Prima di tutto dobbiamo installare il bootmanager. Potete usare Partition Magic per questo. Dopo di che creiamo la partizione FAT16 e FAT32 (primary) e poi la extended, sulla quale creare ancora una NTFS, una Linux ext2, una Linux swap e una FAT16 per i dati (se vi avanza ancora spazio). Io l'ho fatto con il Partition Magic, voi potete fare lo stesso oppure usare i vari fdisk o simili. A questo punto dovete rendere attiva la FAT16 e iniziare tutto da capo come per le installazioni senza bootmanager. Per ultimo ci lasciamo l'installazione di Windows 98 sulla FAT32. Arrivati alla fine delle installazioni Wintel + Linux con il Partition Magic rendiamo attiva la partizione Fat32 e hide la FAT16. Procediamo nell'installazione di Windows 98. Finito con Windows 98 riprendiamo Partition Magic e per prima cosa rendiamo la partizione del bootmanager attiva, poi inseriamo nel menu solo la partizione FAT16 e quella FAT32.

Partition Magic
Figura 5 - Partition Magic 4 Lista partizioni con la FAT32

Se invece avete già installato tutto e vi accorgete che volete installare anche Windows 98 e il bootmanager (Figura 5) la cosa è un po' più complessa. Con il Partition Magic potete facilmente ricavare una nuova partizione primary FAT32 da quelle già esistenti. L'unico problema l'abbiamo quando andiamo a ridurre "in testa" la partizione di boot C: (FAT16) per inserire il bootmanager. Una volta ridotta la partizione ntldr viene tolto dal MBR ed al suo posto viene messo il bootmanager. Adesso per permettere il boot dobbiamo installare ntldr sul settore Superblock della FAT16. Per prima cosa rendiamo la FAT16 attiva. Eseguiamo la procedura di Repair di NT e ripristiniamo i settori di boot. Vi verrà dato un messaggio che evidenzia la presenza del bootmanager, ma poi ntldr verrà installato sul Superblock della FAT16. Terminate rendendo la partizone del bootmanager di nuovo attiva.

Setup Bootmanager
Figura 6 - Partition Magic 4 Setup Boootmanager

Questo è tutto. Chiaramente quanto detto riguarda un "ventaglio" delle possibilità che abbiamo a disposizione. Per altre soluzioni e sperimentazioni lascio a voi la scelta.


Ermanno Baccarini è Microsoft Certified Professional, specializzazione Networking, e articolista di BETA dal 1996 - È raggiungibile su Internet tramite la redazione oppure all'indirizzo ermannob@yahoo.com.

Copyright © 1999 Ermanno Baccarini, tutti i diritti sono riservati. Questo Articolo di BETA, insieme alla Rivista, è distribuibile secondo i termini e le condizioni della Licenza Pubblica Beta, come specificato nel file LPB.


BETA 2199.4: Sommario | Indice del Numero | Redazione | Liste/Forum | Informazioni | Licenza Pubbl. Beta | Mirror ufficiali | Abbonati a BETA | Guida |Cerca | Stampa


Beta.it (http://www.beta.it)email info@beta.it
Barra Sito Beta.it

indice sito | mappa | contattaci | newsletter | pubbl./ad info | abbonamento | informazioni | shopping

Copyright © 1994-1999 BETA, tutti i diritti sono riservati - http://www.beta.it

Sommario Abbonamenti a BETA Redazione Liste/Forum Informazioni Indice del Numero Mirror ufficiali Beta Home Page Beta Home Page english Beta News BETA Rivista Articoli BETA Beta Edit, pubblicazioni Beta Logo, premi Beta Lpb, Licenza Pubblica e Articoli Lpb Beta Navigatore Beta Online Beta Library Beta Info Gruppo Beta BETA La rivista ipertestuale tecnica Collegamento al sito Web