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.