mise à jour - 19/06/2011
.
Le BIOS (Basic Input/Output System / Système de gestion élémentaire des entrées/sorties) permet le contrôle des éléments matériels.
Le BIOS est un petit logiciel dont :
Lorsque le système est mis sous tension ou réamorcé (Reset), le BIOS fait l'inventaire du matériel présent dans l'ordinateur et effectue un test appelé POST (“Power-On Self Test) afin de vérifier son bon fonctionnement, et le configurer.
Si le POST rencontre une erreur, il va essayer de continuer le démarrage de l'ordinateur :
No keyboard detected. Press F1 to continue.
Si l'erreur est grave, le BIOS va arrêter le système et :
Le BIOS est le premier élément à être lancé, si on excepte l'appui sur le bouton ON et quelques autres détails. Celui-ci initialise le processeur ainsi qu'une partie du matériel, comme la carte vidéo ou le clavier.
Le BIOS est constitué d'une mémoire (rom ou flash) placée sur la carte mère.
Notez que quasiment tous les BIOS étant maintenant des flash, il est possible de les mettre à jour, voire de les remplacer. Et justement un projet existe pour remplacer les BIOS propriétaires par des BIOS libres (comme Max) : coreboot de son ancien nom linuxbios.
Le BIOS est configuré pour choisir un périphérique sur lequel booter. En général, c'est le premier disque dur, mais cela peut aussi être une clé usb ou un lecteur disquette. Il est même possible de choisir au moment du boot.
Sur le périphérique en question, et à l'exception du lecteur CD qui a son protocole (el torito), le BIOS charge le premier secteur (512 octets), le met en RAM, et le lance.
Notez que le BIOS est spécifique aux PC, d'autres architectures ont des firmware EFI (Apple) ou des OpenBoot (Sun).
Dans ce premier secteur se trouve le bootloader (grub, lilo, silo, syslinux, mbr dos…).
Le bootloader est découpé en plusieurs morceaux à cause de la limite des 512 octets. Sa première activité est de réussir à se charger complètement.
Celui de Windows est assez simpliste, mais sous Linux on en trouve avec plein de fonctionnalités sympas.
Une fois qu'il est prêt, il lit sa configuration, puis choisit un périphérique et une partition où lire le noyau et éventuellement un initrd. Et enfin il passe la main au noyau en lui donnant quelques paramètres. Noyau
Le noyau est déjà chargé, il n'a “presque” plus rien à faire. Si ce n'est tout initialiser : les interruptions, le mode du processeur, les périphériques…
Une fois qu'il a fini (ou même un peu avant), il monte la racine (/) à partir de ce qui lui a été spécifié en ligne de commande.
Et enfin, il lance init en lui passant quelques paramètres provenant de sa propre ligne de commande.
Si un initrd est chargé, il l'utilise comme racine et prend l'init s'y trouvant. Dans ce cas, il ne cherche pas à monter la racine. Sinon GoTo init.
Initrd (INITial RamDisk) est un intermédiaire qui a été rajouté au processus de boot pour permettre le chargement dynamique de driver ainsi que la configuration de certains éléments comme le réseau ou le NFS.
Initrd est un ancien nom. En pratique, c'est maintenant un initramfs qui est chargé (c'est la même chose mais en mieux, le premier est un block device et le second une archive) avant le montage de la racine. Celui-ci est monté à la racine. Son boulot : rendre la vraie racine accessible. NFS, driver manquant, LVM, toutes les raisons sont bonnes pour utiliser un initrd.
Et enfin, celui-ci charge le vrai init pour l'étape suivante.
Init est cette fois un vrai processus unix lancé par le noyau, et comme c'est le premier il a pour pid 1. Il prend sa configuration dans /etc/inittab. Dans sa configuration il y a quelques processus à lancer et à surveiller, il s'agit essentiellement des terminaux locaux.
Mais surtout il lance /etc/init.d/rc en lui passant en paramètre le runlevel dans lequel on est sensé fonctionner.
rc est un simple script qui a pour pour seul objectif de lancer les différents démons grâce aux liens se trouvant dans /etc/rcX.d (où X est un runlevel). ex. : lien du service Gnome : S19gdm3 → ../init.d/gdm3
Et voilà ! À partir de là on peut considérer que le système est lancé.
Merci à ce site très bien détaillé et avec des explications claires pour les débutants.
Si tout est correct, le BIOS émettra généralement un bip bref, signalant qu'il n'y a pas d'erreur.
Nb_de_bips | Signification | Résolution du problème |
---|---|---|
1 bip court | Le PC démarre normalement | |
2 bips courts | Problème CMOS | Réinitialiser le CMOS en enlevant la pile du BIOS et en la remettant ou en déplaçant le cavalier JP4 |
1 bip long / 1 bip court | Problème de carte mère ou de mémoire vive | Enficher correctement les modules de mémoire vive, tester sa RAM ou les changer |
1 bip long / 2 bips courts | Problème lié à la carte graphique | Vérifier que la carte graphique est bien enfichée. Éventuellement, tester avec une autre carte vidéo |
1 bip long / 3 bips courts | Problème lié au clavier | Vérifier que le clavier est bien enfiché et qu'aucune touche n'est enfoncée. Éventuellement, tester avec un autre clavier |
1 bip long / 9 bips courts | Problème du BIOS | Le BIOS est invalide, flasher le BIOS avec une version plus récente |
3 bips | Problème dans les 64 premiers Ko de la RAM | La mémoire vive contient des erreurs. Essayer de la réinsérer correctement ou en changer |
4 bips | Problème de rafraîchissement | La mémoire vive n'est pas rafraîchie correctement. Remettre des valeurs de rafraîchissement correctes dans le BIOS ou faire un reset du BIOS. |
5 bips | Problème de processeur | Vérifier que le processeur est correctement branché, que son ventilateur fonctionne. Éventuellement, en changer. |
6 bips | Problème lié au clavier | Vérifier que le clavier est bien enfiché et qu'aucune touche n'est enfoncée. Éventuellement, tester avec un autre clavier |
8 bips | Problème lié à la carte graphique | Vérifier que la carte graphique est bien enfichée. Éventuellement, tester avec une autre carte vidéo |
Bips longs incessants | Problème de mémoire vive | Enficher correctement les modules de mémoire vive, tester sa RAM ou les changer |
Bips courts incessants | Problème d'alimentation | Vérifier que tous les câbles d'alimentation sont bien reliés à la carte mère, tester avec une autre alimentation ou bien en changer |
Pour le BIOS Award, seules les erreurs relatives à la vidéo font l'objet de signaux sonores, les autres erreurs sont envoyées sous forme de codes POST et sont affichées à l'écran.
Ainsi :
Un long bip, suivi de deux bips courts indiquent une erreur due aux périphériques vidéo (carte graphique).
Dans ce cas, il est nécessaire d'essayer d'enficher correctement la carte vidéo, voire d'en changer.
Tout autre bip indique une erreur due à la mémoire.
Nb_de_bips | Signification | Résolution du problème |
---|---|---|
1 | Refresh failure(erreur lors du rafraîchissement de la mémoire) | La mémoire vive n'est pas rafraîchie correctement. Remettre des valeurs de rafraîchissement correctes dans le BIOS ou faire un reset du BIOS. Enficher correctement les modules de mémoire vive ou les changer. |
2 | Parity Error(erreur de parité) | Enficher correctement les modules de mémoire vive ou les changer. Tester sa mémoire vive. |
3 | Base 64K RAM failure(erreur dans les 64 premiers Ko de la mémoire vive) | Enficher correctement les modules de mémoire vive ou les changer. Eventuellement, flasher le BIOS. |
4 | System timer not operational | La carte mère doit être envoyée en réparation |
5 | Processor Error(erreur du processeur) | Vérifier que le processeur est correctement branché, que son ventilateur fonctionne. Eventuellement, en changer. |
6 | Gate A20 failure(échec clavier) | Vérifier que le clavier est bien enfiché et qu'aucune touche n'est enfoncée. Eventuellement, tester avec un autre clavier. |
7 | Processor exception interrupt error(erreur d'interruption du processeur) | La carte mère doit être envoyée en réparation |
8 | Display memory read/write failure(erreur de mémoire vidéo) | Vérifier que la carte graphique est bien enfichée. Eventuellement, tester avec une autre carte vidéo. |
9 | ROM checksum error(erreur de la somme de contrôle de la mémoire morte) | La puce du BIOS doit être changée ou flashée. |
10 | CMOS shutdown register read/write error(erreur de lecture/écriture lors de l'enregistrement dans le CMOS) | La carte mère doit être envoyée en réparation |
11 | Cache memory problem(problème de mémoire cache) | Vérifier que le processeur est correctement branché, que son ventilateur fonctionne. Eventuellement, en changer. Enficher correctement les modules de mémoire vive ou les changer |
Nb_de_bips | Signification | Résolution du problème |
---|---|---|
1-3-1-1 | DRAM Refresh error(erreur lors du rafraîchissement de la mémoire) | Enficher correctement les modules de mémoire vive ou les changer |
1-2-2-3 | ROM checksum error(erreur de la somme de contrôle de la mémoire morte) | Enficher correctement les modules de mémoire vive ou les changer |
1-3-1-3 | Keyboard Controller Error(erreur du contrôleur de clavier) | Enficher correctement le clavier ou le changer |
1-3-4-1 | RAM error(erreur dans la mémoire) | Enficher correctement les modules de mémoire vive ou les changer |
1-3-4-3 | RAM error(erreur dans la mémoire) | Enficher correctement les modules de mémoire vive ou les changer |
1-4-1-1 | RAM error(erreur dans la mémoire) | Enficher correctement les modules de mémoire vive ou les changer |
2-2-3-1 | Unexpected interrupt(interruption inattendue) |
La plupart des BIOS ont un setup (programme de configuration) qui permet de modifier la configuration basique du système.
Ce type d'information est stocké dans une mémoire auto-alimentée (à l'aide d'une pile) afin que l'information soit conservée même lorsque le système est hors tension (la mémoire vive est réinitialisée à chaque redémarrage).
Il existe de nombreux BIOS dans chaque machine :
Et éventuellement :
Lorsque le système est mis sous tension, le BIOS affiche un message de copyright à l'écran, puis il effectue les tests de diagnostic et d'initialisation.
Lorsque tous les tests ont été effectués, le BIOS affiche un message invitant l'utilisateur à appuyer sur une ou plusieurs touches afin d'entrer dans le setup du BIOS.
Selon la marque du BIOS il peut s'agir :
ou bien d'une des séquences de touche suivantes :
Dans la mesure où le setup du BIOS permet de modifier des paramètres matériels, il peut arriver que le système devienne instable, voire ne redémarre plus.
Lorsque cela arrive, il devient nécessaire d'annuler les modifications apportées au BIOS et de remettre les paramètres par défaut.
Si l'ordinateur démarre et que l'accès au setup du BIOS est possible, celui-ci offre généralement la possibilité de rétablir les paramètres par défaut.
Sur les BIOS de type PhoenixBIOS, l'appui sur la touche F9 permet de rétablir les paramètres par défaut du constructeur.
Sur les BIOS de type AwardBIOS :
Si l'accès au BIOS est impossible par la procédure standard, la plupart des cartes mères sont dotées d'un cavalier (jumper) leur permettant de rétablir les valeurs par défaut.
Il suffit de changer la position du cavalier et de le laisser maintenu dans cette nouvelle position pendant une dizaine de secondes.
Pour toutes ces manipulations, référez-vous au manuel fourni avec votre carte mère !
dmidecode vous permettra de le savoir très simplement.
dmidecode -s bios-vendor
American Megatrends Inc.
dmidecode -s bios-version
dmidecode -s bios-release-date
02/15/2011
dmidecode -t bios
# dmidecode 2.11 SMBIOS 2.6 present. Handle 0x0000, DMI type 0, 24 bytes BIOS Information Vendor: American Megatrends Inc. Version: G53SW.203 Release Date: 02/15/2011 Address: 0xF0000 Runtime Size: 64 kB ROM Size: 2560 kB Characteristics: PCI is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported EDD is supported 5.25"/1.2 MB floppy services are supported (int 13h) 3.5"/720 kB floppy services are supported (int 13h) 3.5"/2.88 MB floppy services are supported (int 13h) Print screen service is supported (int 5h) 8042 keyboard services are supported (int 9h) Serial services are supported (int 14h) Printer services are supported (int 17h) ACPI is supported USB legacy is supported Smart battery is supported BIOS boot specification is supported Targeted content distribution is supported BIOS Revision: 4.6 Handle 0x004F, DMI type 13, 22 bytes BIOS Language Information Language Description Format: Abbreviated Installable Languages: 1 eng Currently Installed Language: eng