Successivamente ho installato Windows 95 sul sistema dell'ufficio. Questo ha fatto sparire l'MBR di Lilo, ma non ha toccato la partizione Linux. I kernel impiegano molto tempo a caricarsi dal floppy, così ho creato un floppy con Lilo installato, per poter caricare il kernel dal disco IDE.
Il floppy è stato creato così:
fdformat /dev/fd0H1440 # prepara le tracce sul dischetto vergine mkfs -t minix /dev/fd0 1440 # crea un file system di tipo minix mount /dev/fd0 /mnt # lo monta sul punto di mount predefinito tmp cp -p /boot/chain.b /mnt # copia al suo interno il chain loader lilo -C /etc/lilo.flop # installa Lilo e la mappa sul dischetto. umount /mnt
Si noti che il dischetto deve essere montato quando si fa partire il programma di installazione, in modo che Lilo possa scrivere correttamente il file della mappa.
Questo file è /etc/lilo.flop, ed è molto simile all'ultimo che abbiamo visto:
# Crea un floppy in grado di avviare i kernel dall'HD. boot = /dev/fd0 map = /mnt/lilo-map delay = 100 ramdisk = 0 timeout = 100 prompt disk = /dev/hda # IDE da 1 GB, il BIOS vede solo i primi 500 MB. bios=0x80 sectors = 63 heads = 16 cylinders = 2100 image = /vmlinuz append = "hd=2100,16,63" root = /dev/hda2 label = linux read-only vga = extended other = /dev/hda1 label = msdos table = /dev/hda loader = /mnt/chain.b
Per finire, in ufficio c'era bisogno del DOS 6.2 ma non volevo toccare
il primo disco. Ho aggiunto un controller e un
disco SCSI, e ho creato un file system msdos con il
programma di Linux mkdosfs. Questo disco viene visto come "D:" da
Windows 95, ma ovviamente MSDOS non vuole avviarsi dal disco D:.
Questo non è un problema con Lilo. Basterà aggiungere quanto segue
al file lilo.conf
dell'esempio 2.
other = /dev/sda1 label = d6.2 table = /dev/sda loader = /boot/any_d.b
Con questa modifica MSDOS-6.2 parte, credendo di trovarsi sul disco C: e che Windows 95 si trovi su D:.