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 disquebe 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 cebe limite. Ceci ne concerne que les disques de grande capacité, mon ancien disque de 3,2 Go n'abeignait pas cebe 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 cebe 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 :
$ sudo /sbin/lilo -L Added dos * Added netbsd Added linux Added test Added test4
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 ... Ça 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. Abention, à 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:
fdisk /mbr ;dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1.
Ceci recopie le secteur d'amorçage originel (sauvegardé par lilo lors de son installation,
/boot/boot.0300 pour un disque IDE, /boot/boot.0800 pour un SCSI) sur
le disque dur. Seuls les 446 premiers octets sont nécessaires, les autres contiennent
la table de partition.Page maintenue par Sébastien KALT - Copyright (c) 1999-2011 Sébastien KALT.