NT OS Loader + Linux mini-HOWTO

Bernd Reichert, <reichert@dial.eunet.ch> v1.11, 2 settembre 1997 Questo documento descrive l’uso del boot Loader di Windows NT per avviare Linux. La procedura è stata provata con Windows NT 4.0 WS e Linux 2.0. Traduzione di Leonardo Boselli, <leo@dicea.unifi.it>

Indice

1 Come funziona il loader di NT 1 2 Suggerimenti su come installare Windows NT e Linux nello stesso Sistema 2

2.1 Installazione di Windows NT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Partizionamento del disco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.3 Installazione Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.4 Lilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3 Bootpart 3 4 La parte Linux del lavoro (a parte la configurazione di lilo) 3 5 La parte NT del lavoro 3 6 Provaci ancora Sam 4 7 Risoluzione dei problemi 4 8 Riferimenti 5 9 Ringraziamenti 5 10 Retroazione 5

1 Come funziona il loader di NT

Il loader di NT desidera avere il settore di boot degli altri sistemi operativi disponibile in un file. Legge questo file e fa partire il sistema operativo scelto che può essere sia NT in una diversa partizione [NDT: nel testo originale era in un diverso modo : I diversi modi sono ottenuti in una maniera leggermente diversa, vedi il Windows NT resource kit] o un diverso sistema operativo.

2 Suggerimenti su come installare Windows NT e Linux nello stesso Sistema

[aggiunta alla traduzione italiana] Se dovete installare anche Win95 questo DEVE essere il primo sistema ad essere installato oppure renderà NT inavviabile.

2.1 Installazione di Windows NT

Provate a installare Windows NT per primo. Se volete usare NTFS (raccomandato) per la vostra partizione Windows NT, tenete conto che le versioni correnti di linux non possono accedere alla partizione NTFS. Un driver in versione alfa che può LEGGERE le partizioni NTFS è disponibile presso http://www.informatik. hu-berlin.de/~loewis/ntfs . Potete creare una partizione FAT separata per scambiare dati oppure usare dischetti formattati DOS (il metodo consigliato è quello di creare una partizione FAT iniziale. In questo modo oltre a poter usare un sistema operativo DOS o simile potete avere un’area libera per lo scambio files. Inoltre, cosa più importante, non avrete il limite dei 1024 cilindri per la partizione di avvio).

2.2 Partizionamento del disco

Un altro Mini-howto raccomanda di non usare il Disk Administartor di NT per creare le partizioni di swap e root. È sufficiente controllare tramite questo lo spazio libero e usare il fdisk di linux successivamente.

2.3 Installazione Linux

Adesso fate il bopot di Linux dai dischetto (o dal CD), create le partizioni di swap e root. fdisk assume che la partizione ntfs sia HPFS. Questo è normale. Se l’installazione chiedesse di montare questa partizione ignorate la richiesta. Ripartite nuovamente (se avete una versione di installer che lo richiede) e installate linux secondo le vostre esigenze.

2.4 Lilo

Quando arrivate alla sezione Lilo, specificate che il device di boot, su cui scrivere il MBR è la partizione root di Linux, questo perché il MBR primario appartiene al loader di NT. Questo significa che sia la voce root che boot nel file /etc/lilo.conf avranno lo stesso valore. Se ad esempio avete un disco IDE e la partizione Linux è la seconda partizione la voce boot in /etc/lilo.conf sarà come:

         boot=/dev/hda2

Se avete due dischi (montati sullo stesso controller) e Linux risiede sulla prima partizione del secondo disco la vostra voce boot in /etc/lilo.conf sarà:

         boot=/dev/hdb1

Eseguite lilo con un kernel che corrisponda al vostro sistema. Controllate il kernel facendo il boot dal dischetto se avete dei dubbi.

Se adesso non riuscite a fare il boot di NT allore ci sono dei problemi.Spero che abbiate creato un disco di repair di recente (se avete appena installato lasciate correre e rifate la installazione da zero: è più veloce !).

3 Bootpart

Esiste un programma NT chiamato bootpart scritto da G. Vollant che può fare per voi il lavoro descritto ai

prossimi due punti. Bootpart è disponibile su http://ourworld.compuserve.com/homepages/gvollant/
bootpart.htm .

Se invece volete sapere come funzionano le cose che usate, si vedano invece le procedure descritte nei punti 4 e 5.

4 La parte Linux del lavoro (a parte la configurazione di lilo)

Dovete fare il boot da dischetto finché la parte NT non è sistemata.

Ora dovete estrarre il settore di boot dalla partizione root di Linux. Assumendo che /dev/hda2 sia la vostra partizione il comando è :

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

C’è qualcosa che non va se il file bootsect.lnx è più di 512 byte.

Adesso copiate il file bootsect.lnx su un dischetto formattato DOS, se questo è il vostro modo di trasferire file su Windows NT.

Potete copiarlo col comando:

         # mcopy /bootsect.lnx a:

oppure meglio con:

         # mount -t msdos /dev/fd0 /mnt
         # copy /bootsect.lnx /mnt
         # umount /mnt

[il nome del file non è del tutto arbitrario: a meno che non abbiate più partizioni linux da avviare in alternativa non cambiatelo (e nell’altro caso usate .lny .lnz)]

5 La parte NT del lavoro

Copiate il file bootsect.lnx sulla radice del disco C:

Ciò che /etc/lilo.conf è per linux, c:\boot.ini lo è per Windows NT. Rimuovete gli attributi di sola lettura e sistema prima di modificare il file con il comando:

         C:\attrib -s -r c:\boot.ini

[NDT: su alcune installazioni il flag di sistema non è settato, in questo caso non usate il -s ... in ogni caso se il comando suggerito NON da errori è tutto ok]

Ora cambiate il file boot.ini con un text editor [sotto NT] quale ad esempio notepad o edit mel seguente modo:

         [boot loader]
         timeout=30
         default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
         [operating systems]
         multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ...
         multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ...
         C:\BOOTSECT.LNX="Linux"

In questo esempio è stata agginta solo l’ultima riga. Ripristinate gli attributi dopo che avete salvato boot.ini con:

         C:\attrib +s +r c:\boot.ini

Dopo uno shutdown ordinato di NT al riavvio dovreste vedere il seguente messaggio [assumendo che abbiate modificato i file come indicato nell’esempio]:

         OS Loader V4.00
         Please select the operating system to start:
         Windows NT Workstation Version 4.0
         Windows NT Workstation Version 4.0 [VGA mode]
         Linux

Selezionate Linux e vedrete:

         LILO loading zImage ....

6 Provaci ancora Sam

Una nuova copia del bootsect.lnx dovrebbe essere trasferita ogni qualvolta il bootsector della vostra partizione linux viene modificato. Questo accade per esempio quando installate un nuovo kernel con lilo. Come potete vedere questo non è il sistema ideale per sperimentare nuovi kernel.

7 Risoluzione dei problemi

Se le cose non vanno come avrebbero dovuto, provate a partire con un floppy. Con /dev/hdb1 quale partizione Linux, il vostro /etc/lilo.conf dovrebbe avere:

         root=/dev/hdb1
         boot=/dev/fd0

Lanciate lilo con un dischetto inserito. Ora provate a fare il boot dal dischetto. Se il vostro Linux su /dev/hdb1 non può essere avviato anche il loader di NT non sarà in grado di farlo partire. Se vedete molti 01 01 01 01, il vostro disco root non è accessibile. Verificate che tutti i vostri dischi siano visibili dal bios.

Se il floppy riesce a fare partire Linux prelevate il MBR dal floppy con:

         # dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1

Potete conservare questo dischetto come avvio di emergenza qualora l’installazione di NT si guastasse.

8 Riferimenti

• The Linux+WindowsNT mini-HOWTO

• The FAQ for FreeBSD 2.X

9 Ringraziamenti

• Grazie a Xiaoming Yi <z3c20@ttacs.ttu.edu> per avermi suggerito che la procedura funziona anche per dischi diversi dal primo.

• Grazie a Frank Dennler <Frank.Dennler@zkb.ch> per il trucco del dischetto.

10 Retroazione

Qualunque commento è benvenuto.