lilo (LInux LOader)


Navigation

Accueil

Linux
  lilo

Photographie

Liens


Introduction

Agencement de mon disque dur

Le fichier de configuration

Réamorçage

Suppression de lilo

Lilo et un autre bootloader (win2k + win98se + linux)


Introduction

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).

Agencement de mon disque dur

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:

  • hda1: partition primaire amorçable, contient Windows 98;
  • hda2: partition primaire, contient NetBSD;
  • hda5: partition logique FAT32, utilisée sous Windows;
  • hda6: partition logique ext2, mon système Linux de test;
  • hda7: partition logique pour le swap de mes 2 systèmes Linux;
  • hda8: partition logique ext2, mon système Linux normal;
  • hda9: partition logique FAT16, utilisée sous Windows.
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).

Le fichier de configuration

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%
      

Réamorçage

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.

Suppression de lilo

La suppression de lilo est très simple. Vous avez 2 possibilités:

  1. sous DOS: 'fdisk /mbr ';
  2. sous Linux en tant que root: '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.

Lilo et un autre bootloader (win2k + win98se + linux)

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.


fait sous Debian GNU-Linux Affichage 800x600 conseillé graphiques avec Gimp



Page maintenue par Sébastien KALT - Copyright (c) 1999-2002 Sébastien KALT.