Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

mise à jour - 19/06/2011

BIOS

Introduction

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 :

  1. une partie est dans une ROM (mémoire morte, c'est-à-dire une mémoire qui ne peut pas être modifiée),
  2. et une autre partie est dans un composant mémoire de type EEPROM (Electrically Erasable Programmable Read-Only Memory)qui est modifiable par impulsions électriques, d'où le terme de flasher pour désigner l'action de modifier le contenu de l'EEPROM.

Le POST

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.

  1. Effectuer un test du processeur (CPU)
  2. Vérifier le BIOS
  3. Vérifier la configuration du CMOS
  4. Initialiser le timer (l'horloge interne)
  5. Initialiser le contrôleur DMA
  6. Vérifier la mémoire vive et la mémoire cache
  7. Installer toutes les fonctions du BIOS
  8. Vérifier toutes les configurations (clavier, disquettes, disques durs …)

Si le POST rencontre une erreur, il va essayer de continuer le démarrage de l'ordinateur :

  • vous informant, avec un humour sans pareil, que vous avez oublié de connecter un clavier en affichant le message suivant : No keyboard detected. Press F1 to continue.

Si l'erreur est grave, le BIOS va arrêter le système et :

  • afficher un message à l'écran si possible ;
  • émettre un signal sonore, sous forme d'une séquence de bips (beeps en anglais) permettant de diagnostiquer l'origine de la panne ;
  • envoyer un code (appelé code POST) sur le port série de l'ordinateur, pouvant être récupéré à l'aide d'un matériel spécifique de diagnostic.

Processus détaillé

BIOS

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

Bootloader

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

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

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

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

Notez que sous certains systèmes comme Ubuntu, on trouve des outils comme upstart qui remplacent à la fois init et rc pour faire à peu près la même chose.

Lien

Merci à ce site très bien détaillé et avec des explications claires pour les débutants. ;-)

BIP (Le code)

Si tout est correct, le BIOS émettra généralement un bip bref, signalant qu'il n'y a pas d'erreur.

BIOS Award récents

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.

BIOS AMI (AMIBIOS)

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

BIOS Phoenix

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)

Le setup du BIOS

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 :

  • Le BIOS de la carte mère.
  • Le BIOS qui contrôle le clavier.
  • Le BIOS de la carte vidéo.

Et éventuellement :

  • Le BIOS de contrôleurs SCSI qui permettent de booter sur le périphérique SCSI, qui communique alors avec le DOS sans pilote supplémentaire.
  • (Le BIOS de cartes réseau qui permettent de booter sur le réseau.)

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 :

  • de la touche F2
  • de la touche F10
  • de la touche Suppr

ou bien d'une des séquences de touche suivantes :

  • Ctrl + Alt + Shift
  • Ctrl + Alt + Echap
  • Ctrl + Alt + Inser

Réinitialiser le BIOS

Avec un démarrage du BIOS

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 :

  • l'appui sur la touche F5 rétablit les paramètres précédents,
  • l'appui sur F6 rétablit les valeurs par défaut du BIOS Award,
  • l'appui sur F7 permet de rétablir les paramètres par défaut fournis par le constructeur de la carte mère.

Sans démarrage du BIOS

Il est fortement conseillé de procéder à ces manipulations en ayant préalablement mis l'ordinateur hors tension.

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 !

Mais quelle est ma version de BIOS ?

dmidecode vous permettra de le savoir très simplement.

Un peu, beaucoup...

dmidecode -s bios-vendor
retour de la commande ci-dessus sur un G53SW
American Megatrends Inc.
dmidecode -s bios-version
retour de la commande ci-dessus sur un G53SW
G53SW.203
dmidecode -s bios-release-date
retour de la commande ci-dessus sur un G53SW
02/15/2011

Et plus si affinité

dmidecode -t bios
retour de la commande ci-dessus sur un G53SW
# 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

Liens et Sources

1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/materiel/bios.txt · Dernière modification: 28/10/2016 15:29 par louarn

Pied de page des forums

Propulsé par FluxBB