Quant on débute sous Linux on souhaite souvent garder
Windows sous la main. Si l'on a un disque dur suffisamment
grand cela ne devrait pas poser de gros problèmes.
Il existe différentes solutions. On peut lancer Linux
à partir d'une disquette d'amorçage, mais c'est peu pratique.
On peut utiliser un logiciel d'amorçage, qui propose au démarrage
de choisir quel OS lancer. Le plus populaire est lilo, c'est celui
qui est installé par défaut par Debian (et d'autres distributions).
Sinon il y a aussi grub qui est proposé par l'installation de la Mandrake
et de Connectiva Linux entre autres.
La première chose à savoir avant de commencer c'est qu'il peut y
avoir un problème si vous avez une interface IDE. En effet les BIOS
anciens ne peuvent accéder au démarrage qu'aux 1024 premiers cylindres.
Les versions anciennes de lilo (antérieures à 21) présentent la même limitation.
Si c'est votre cas vous devez veiller à installer linux en-dessous de cette
limite. Ceci ne concerne que les disques de grande capacité, mon ancien disque
de 3,2 Go n'atteignait pas cette limite.
Pour les versions récentes de lilo (j'utilise la 21.4.3)
il faut utiliser l'option '-L' qui
oblige lilo à utiliser l'adressage LBA 32-bits, à condition
bien sûr d'avoir activée
cette option dans votre BIOS (ce qui est le cas par défaut
sur mon portable, et ma carte mère ASUS A7M166).
Maintenant passons à la pratique. La configuration de lilo se fait
à travers le fichier /etc/lilo.conf. Voici comment est
partitionné mon disque dur de 11,2 Go:
Disque Dur: /dev/hda
Size: 12068904960 bytes
Têtes: 255 Secteurs par Piste: 63 Cylindres: 1467
Nom Drapeaux Type de SF Type SF [Label] Taille(Mo)
------------------------------------------------------------------------------
hda1 Boot Primaire FAT16 [WIN98 ] 2146,80
hda2 Primaire Inconnu (A9) 2146,77*
Pri/Log Espace Libre 0,04*
hda5 Logique Win95 FAT32 2146,80
hda6 Logique Linux ext2 2146,80
hda7 Logique Linux swap 131,61
hda8 Logique Linux ext2 2146,80
hda9 Logique FAT16 [MP3 ] 1200,90
Bon, alors accrochez-vous, c'est pas trivial:
Je veux donc, au démarrage, pouvoir choisir entre Windows, NetBSD et mes 2 systèmes Linux
(le système de test contenant plusieurs noyaux).
Voici détaillé le contenu de mon fichier /etc/lilo.conf:
# fichier de config de lilo
# /etc/lilo.conf
boot = /dev/hda # indique que lilo s'installe sur le MBR du premier disque IDE
compact
install = /boot/boot.b # localisation du fichier que lilo recopie sur le secteur de boot
map = /boot/map # fichier généré par lilo lors de son installation
prompt # propose un choix au démarrage
timeout=90 # durée de ce choix en millisecondes (90 = 9 secondes)
default=dos # système amorcé par défaut
# partition windows sur /dev/hda1
other = /dev/hda1 # emplacement de la partition
table = /dev/hda # emplacement de la table de partition
label = dos # nom du système pour le menu d'amorçage
# partition NetBSD sur /dev/hda2
other = /dev/hda2
table = /dev/hda
label = netbsd
# système Linux principal sur /dev/hda8
image = /boot/vmlinuz-2.2.17 # emplacement du noyau
label = linux # nom du système pour le menu d'amorçage
root = /dev/hda8 # emplacement de la partition racine
vga = 0x314 # 800x600 16 bits en FrameBuffer
# système Linux de test sur /dev/hda6 avec 2 noyaux au choix
image = /boot/vmlinuz-2.2.17 # premier noyau
label = test
root = /dev/hda6
vga = 0x314
image = /boot/vmlinuz-2.4.0 # deuxième noyau, sur la même partition racine
label = test4
root = /dev/hda6
vga = 0x314
Voilà, il ne reste plus qu'à installer lilo avec la commande '/sbin/lilo -L'
en tant que root. Si tout se passe bien vous devriez avoir ceci:
kaneloon% sudo /sbin/lilo -L
Added dos *
Added netbsd
Added linux
Added test
Added test4
kaneloon%
Il ne vous reste plus qu'à réamorcer votre système pour voir si tout marche:
'/sbin/shutdown -r now'. Je ne saurais trop vous conseiller de TOUJOURS
avoir une disquette d'amorçage disponible au cas ou ... Ca peut éviter de devoir
tout réinstaller. A défaut un CD-ROM amorçable (celui que vous avez utiliser pour
l'installation par exemple) peut également faire l'affaire.
Vous devriez vous retrouver avec l'invite:
boot:
si tout se passe bien. Vous pouvez soit attendre que lilo lance le système par
défaut, soit entrer le nom du système que vous voulez lancer. Attention, à ce
moment là le clavier est en qwerty ! Si vous ne vous souvenez plus du nom que
vous avez donné à votre système, une pression sur la touche TAB vous
listera les noms disponibles.
La suppression de lilo est très simple. Vous avez 2 possibilités:
Je ne détaillerai pas l'installation de windows 2000 et windows 98se. Je vous
conseille néemmoins de préparer les partitions à l'avance (avec Powerquest Partition
Magique par exemple), et de ne pas utiliser le bootloader de 2000 pour choisir entre
2000 et 98.
Voici le problème:
Disque Dur: /dev/hda
Size: 40020664320 bytes
Têtes: 255 Secteurs par Piste: 63 Cylindres: 4865
Nom Drapeaux Type de SF Type SF [Label] Taille(Mo)
------------------------------------------------------------------------------
hda1 Primaire NTFS 5025,65
hda3 Boot Primaire Win95 FAT32 1998,75
hda5 Logique Win95 FAT32 10487,24
hda6 Logique Win95 FAT32 10487,24
Logique Espace Libre 4359,40
hda7 Logique Linux ext2 2138,58
hda8 Logique Linux ext2 5247,73
hda9 Logique Linux swap 271,44
Je n'ai pas réussi en utilisant lilo à choisir entre les deux windows au
démarrage. J'ai donc utilisé un autre bootloader, Powerquest BootMagic en
l'occurence. Il y a 3 entrées: windows 2000, windows 98se, et linux.
Pour ce faire il faut installer lilo au début de la partition linux, et non sur
le MBR. Cela se fait par l'option:
boot = /dev/hda8 # au lieu de boot = /dev/hda
Et lilo ne me sert plus qu'à choisir les différents noyaux installés sur ma partition.